updated tests

This commit is contained in:
Tufan Kaynak
2019-12-13 18:46:34 +03:00
parent f5c07d714d
commit a7971f1156
2 changed files with 117 additions and 181 deletions

View File

@@ -831,7 +831,7 @@ class Num2Word_TR(object):
def to_currency(self, value): def to_currency(self, value):
if int(value) == 0: if int(value) == 0:
return "{}{}".format(self.ZERO, self.CURRENCY_UNIT) return u"bedelsiz"
valueparts = self.to_cardinal(value).split(self.pointword) valueparts = self.to_cardinal(value).split(self.pointword)
if len(valueparts) == 1: if len(valueparts) == 1:
return valueparts[0] + self.CURRENCY_UNIT return valueparts[0] + self.CURRENCY_UNIT

View File

@@ -25,184 +25,120 @@ class Num2WordsTRTest(TestCase):
def test_tr(self): def test_tr(self):
# ref https://github.com/savoirfairelinux/num2words/issues/8 # ref https://github.com/savoirfairelinux/num2words/issues/8
self.assertEqual(num2words(1, lang="tr", to="ordinal"), u"birinci") testcases = [
self.assertEqual(num2words(2, lang="tr", to="ordinal"), u"ikinci") {"number": 0, "lang": "tr", "to": "currency", "response": u"bedelsiz"},
self.assertEqual(num2words(9, lang="tr", to="ordinal"), u"dokuzuncu") {"number": 1.1, "lang": "tr", "to": "currency", "response": u"birliraonkuruş"},
self.assertEqual(num2words(10, lang="tr", to="ordinal"), u"onuncu") {"number": 2000, "lang": "tr", "to": "currency", "response": u"ikibinlira"},
self.assertEqual(num2words(11, lang="tr", to="ordinal"), u"onbirinci") {"number": 110000, "lang": "tr", "to": "currency", "response": u"yüzonbinlira"},
self.assertEqual(num2words(44, lang="tr", to="ordinal"), u"kırkdördüncü") {"number": 1002000, "lang": "tr", "to": "currency", "response": u"birmilyonikibinlira"},
self.assertEqual(num2words(100, lang="tr", to="ordinal"), u"yüzüncü") {"number": 1002001, "lang": "tr", "to": "currency", "response": u"birmilyonikibinbirlira"},
self.assertEqual(num2words(101, lang="tr", to="ordinal"), u"yüzbirinci") {"number": 1100000, "lang": "tr", "to": "currency", "response": u"birmilyonyüzbinlira"},
self.assertEqual(num2words(103, lang="tr", to="ordinal"), u"yüzüçüncü") {"number": 1, "lang": "tr", "to": "ordinal", "response": u"birinci"},
self.assertEqual(num2words(110, lang="tr", to="ordinal"), u"yüzonuncu") {"number": 2, "lang": "tr", "to": "ordinal", "response": u"ikinci"},
self.assertEqual(num2words(111, lang="tr", to="ordinal"), u"yüzonbirinci") {"number": 9, "lang": "tr", "to": "ordinal", "response": u"dokuzuncu"},
self.assertEqual(num2words(1000, lang="tr", to="ordinal"), u"bininci") {"number": 10, "lang": "tr", "to": "ordinal", "response": u"onuncu"},
self.assertEqual(num2words(1001, lang="tr", to="ordinal"), u"binbirinci") {"number": 11, "lang": "tr", "to": "ordinal", "response": u"onbirinci"},
self.assertEqual(num2words(1010, lang="tr", to="ordinal"), u"binonuncu") {"number": 44, "lang": "tr", "to": "ordinal", "response": u"kırkdördüncü"},
self.assertEqual(num2words(1011, lang="tr", to="ordinal"), u"binonbirinci") {"number": 100, "lang": "tr", "to": "ordinal", "response": u"yüzüncü"},
self.assertEqual(num2words(1100, lang="tr", to="ordinal"), u"binyüzüncü") {"number": 101, "lang": "tr", "to": "ordinal", "response": u"yüzbirinci"},
self.assertEqual(num2words(1110, lang="tr", to="ordinal"), u"binyüzonuncu") {"number": 103, "lang": "tr", "to": "ordinal", "response": u"yüzüçüncü"},
self.assertEqual( {"number": 110, "lang": "tr", "to": "ordinal", "response": u"yüzonuncu"},
num2words(2341, lang="tr", to="ordinal"), u"ikibinüçyüzkırkbirinci" {"number": 111, "lang": "tr", "to": "ordinal", "response": u"yüzonbirinci"},
) {"number": 1000, "lang": "tr", "to": "ordinal", "response": u"bininci"},
self.assertEqual(num2words(10000, lang="tr", to="ordinal"), u"onbininci") {"number": 1001, "lang": "tr", "to": "ordinal", "response": u"binbirinci"},
self.assertEqual(num2words(10010, lang="tr", to="ordinal"), u"onbinonuncu") {"number": 1010, "lang": "tr", "to": "ordinal", "response": u"binonuncu"},
self.assertEqual(num2words(10100, lang="tr", to="ordinal"), u"onbinyüzüncü") {"number": 1011, "lang": "tr", "to": "ordinal", "response": u"binonbirinci"},
self.assertEqual(num2words(10110, lang="tr", to="ordinal"), u"onbinyüzonuncu") {"number": 1100, "lang": "tr", "to": "ordinal", "response": u"binyüzüncü"},
self.assertEqual(num2words(11000, lang="tr", to="ordinal"), u"onbirbininci") {"number": 1110, "lang": "tr", "to": "ordinal", "response": u"binyüzonuncu"},
self.assertEqual(num2words(35000, lang="tr", to="ordinal"), u"otuzbeşbininci") {"number": 2341, "lang": "tr", "to": "ordinal", "response": u"ikibinüçyüzkırkbirinci"},
self.assertEqual( {"number": 10000, "lang": "tr", "to": "ordinal", "response": u"onbininci"},
num2words(116331, lang="tr", to="ordinal"), u"yüzonaltıbinüçyüzotuzbirinci" {"number": 10010, "lang": "tr", "to": "ordinal", "response": u"onbinonuncu"},
) {"number": 10100, "lang": "tr", "to": "ordinal", "response": u"onbinyüzüncü"},
self.assertEqual( {"number": 10110, "lang": "tr", "to": "ordinal", "response": u"onbinyüzonuncu"},
num2words(116330, lang="tr", to="ordinal"), u"yüzonaltıbinüçyüzotuzuncu" {"number": 11000, "lang": "tr", "to": "ordinal", "response": u"onbirbininci"},
) {"number": 35000, "lang": "tr", "to": "ordinal", "response": u"otuzbeşbininci"},
self.assertEqual(num2words(100000, lang="tr", to="ordinal"), u"yüzbininci") {"number": 116331, "lang": "tr", "to": "ordinal", "response": u"yüzonaltıbinüçyüzotuzbirinci"},
self.assertEqual(num2words(501000, lang="tr", to="ordinal"), u"beşyüzbirbininci") {"number": 116330, "lang": "tr", "to": "ordinal", "response": u"yüzonaltıbinüçyüzotuzuncu"},
self.assertEqual( {"number": 100000, "lang": "tr", "to": "ordinal", "response": u"yüzbininci"},
num2words(1000111, lang="tr", to="ordinal"), u"birmilyonyüzonbirinci" {"number": 501000, "lang": "tr", "to": "ordinal", "response": u"byüzbirbininci"},
) {"number": 1000111, "lang": "tr", "to": "ordinal", "response": u"birmilyonyüzonbirinci"},
self.assertEqual( {"number": 111000111, "lang": "tr", "to": "ordinal", "response": u"yüzonbirmilyonyüzonbirinci"},
num2words(111000111, lang="tr", to="ordinal"), u"yüzonbirmilyonyüzonbirinci" {"number": 111001111, "lang": "tr", "to": "ordinal", "response": u"yüzonbirmilyonbinyüzonbirinci"},
) {"number": 111111111, "lang": "tr", "to": "ordinal", "response": u"yüzonbirmilyonyüzonbirbinyüzonbirinci"},
self.assertEqual( {"number": 100001000, "lang": "tr", "to": "ordinal", "response": u"yüzmilyonbininci"},
num2words(111001111, lang="tr", to="ordinal"), u"yüzonbirmilyonbinyüzonbirinci" {"number": 100001001, "lang": "tr", "to": "ordinal", "response": u"yüzmilyonbinbirinci"},
) {"number": 100010000, "lang": "tr", "to": "ordinal", "response": u"yüzmilyononbininci"},
self.assertEqual( {"number": 100010001, "lang": "tr", "to": "ordinal", "response": u"yüzmilyononbinbirinci"},
num2words(111111111, lang="tr", to="ordinal"), {"number": 100011000, "lang": "tr", "to": "ordinal", "response": u"yüzmilyononbirbininci"},
u"yüzonbirmilyonyüzonbirbinyüzonbirinci" {"number": 100011001, "lang": "tr", "to": "ordinal", "response": u"yüzmilyononbirbinbirinci"},
) {"number": 101011001, "lang": "tr", "to": "ordinal", "response": u"yüzbirmilyononbirbinbirinci"},
self.assertEqual(num2words(100001000, lang="tr", to="ordinal"), u"yüzmilyonbininci") {"number": 101011010, "lang": "tr", "to": "ordinal", "response": u"yüzbirmilyononbirbinonuncu"},
self.assertEqual( {"number": 1101011010, "lang": "tr", "to": "ordinal", "response": u"birmilyaryüzbirmilyononbirbinonuncu"},
num2words(100001001, lang="tr", to="ordinal"), u"yüzmilyonbinbirinci" {"number": 101101011010, "lang": "tr", "to": "ordinal",
) "response": u"yüzbirmilyaryüzbirmilyononbirbinonuncu"},
self.assertEqual( {"number": 1000000000001, "lang": "tr", "to": "ordinal", "response": u"birtrilyonbirinci"},
num2words(100010000, lang="tr", to="ordinal"), u"yüzmilyononbininci" {"number": 1.2, "lang": "tr", "to": "ordinal", "response": u""},
) {"number": 1.3, "lang": "tr", "to": "ordinal", "response": u""},
self.assertEqual( {"number": 3000, "lang": "tr", "to": "ordinal", "response": u"üçbininci"},
num2words(100010001, lang="tr", to="ordinal"), u"yüzmilyononbinbirinci" {"number": 120000, "lang": "tr", "to": "ordinal", "response": u"yüzyirmibininci"},
) {"number": 1002002, "lang": "tr", "to": "ordinal", "response": u"birmilyonikibinikinci"},
self.assertEqual( {"number": 1003000, "lang": "tr", "to": "ordinal", "response": u"birmilyonüçbininci"},
num2words(100011000, lang="tr", to="ordinal"), u"yüzmilyononbirbininci" {"number": 1200000, "lang": "tr", "to": "ordinal", "response": u"birmilyonikiyüzbininci"},
) {"number": 1, "lang": "tr", "to": "cardinal", "response": u"bir"},
self.assertEqual( {"number": 2, "lang": "tr", "to": "cardinal", "response": u"iki"},
num2words(100011001, lang="tr", to="ordinal"), u"yüzmilyononbirbinbirinci" {"number": 9, "lang": "tr", "to": "cardinal", "response": u"dokuz"},
) {"number": 10, "lang": "tr", "to": "cardinal", "response": u"on"},
self.assertEqual( {"number": 11, "lang": "tr", "to": "cardinal", "response": u"onbir"},
num2words(101011001, lang="tr", to="ordinal"), u"yüzbirmilyononbirbinbirinci" {"number": 44, "lang": "tr", "to": "cardinal", "response": u"kırkdört"},
) {"number": 100, "lang": "tr", "to": "cardinal", "response": u"yüz"},
self.assertEqual( {"number": 101, "lang": "tr", "to": "cardinal", "response": u"yüzbir"},
num2words(101011010, lang="tr", to="ordinal"), u"yüzbirmilyononbirbinonuncu" {"number": 103, "lang": "tr", "to": "cardinal", "response": u"yüzüç"},
) {"number": 110, "lang": "tr", "to": "cardinal", "response": u"yüzon"},
self.assertEqual( {"number": 111, "lang": "tr", "to": "cardinal", "response": u"yüzonbir"},
num2words(1101011010, lang="tr", to="ordinal"), {"number": 1000, "lang": "tr", "to": "cardinal", "response": u"bin"},
u"birmilyaryüzbirmilyononbirbinonuncu" {"number": 1001, "lang": "tr", "to": "cardinal", "response": u"binbir"},
) {"number": 1010, "lang": "tr", "to": "cardinal", "response": u"binon"},
self.assertEqual( {"number": 1011, "lang": "tr", "to": "cardinal", "response": u"binonbir"},
num2words(101101011010, lang="tr", to="ordinal"), {"number": 1100, "lang": "tr", "to": "cardinal", "response": u"binyüz"},
u"yüzbirmilyaryüzbirmilyononbirbinonuncu" {"number": 1110, "lang": "tr", "to": "cardinal", "response": u"binyüzon"},
) {"number": 2341, "lang": "tr", "to": "cardinal", "response": u"ikibinüçyüzkırkbir"},
self.assertEqual( {"number": 10000, "lang": "tr", "to": "cardinal", "response": u"onbin"},
num2words(1000000000001, lang="tr", to="ordinal"), u"birtrilyonbirinci" {"number": 10010, "lang": "tr", "to": "cardinal", "response": u"onbinon"},
) {"number": 10100, "lang": "tr", "to": "cardinal", "response": u"onbinyüz"},
{"number": 10110, "lang": "tr", "to": "cardinal", "response": u"onbinyüzon"},
{"number": 11000, "lang": "tr", "to": "cardinal", "response": u"onbirbin"},
{"number": 35000, "lang": "tr", "to": "cardinal", "response": u"otuzbeşbin"},
{"number": 116331, "lang": "tr", "to": "cardinal", "response": u"yüzonaltıbinüçyüzotuzbir"},
{"number": 116330, "lang": "tr", "to": "cardinal", "response": u"yüzonaltıbinüçyüzotuz"},
{"number": 500000, "lang": "tr", "to": "cardinal", "response": u"beşyüzbin"},
{"number": 501000, "lang": "tr", "to": "cardinal", "response": u"beşyüzbirbin"},
{"number": 1000111, "lang": "tr", "to": "cardinal", "response": u"birmilyonyüzonbir"},
{"number": 111000111, "lang": "tr", "to": "cardinal", "response": u"yüzonbirmilyonyüzonbir"},
{"number": 111001111, "lang": "tr", "to": "cardinal", "response": u"yüzonbirmilyonbinyüzonbir"},
{"number": 111111111, "lang": "tr", "to": "cardinal", "response": u"yüzonbirmilyonyüzonbirbinyüzonbir"},
{"number": 100001000, "lang": "tr", "to": "cardinal", "response": u"yüzmilyonbin"},
{"number": 100001001, "lang": "tr", "to": "cardinal", "response": u"yüzmilyonbinbir"},
{"number": 100010000, "lang": "tr", "to": "cardinal", "response": u"yüzmilyononbin"},
{"number": 100010001, "lang": "tr", "to": "cardinal", "response": u"yüzmilyononbinbir"},
{"number": 100011000, "lang": "tr", "to": "cardinal", "response": u"yüzmilyononbirbin"},
{"number": 100011001, "lang": "tr", "to": "cardinal", "response": u"yüzmilyononbirbinbir"},
{"number": 101011001, "lang": "tr", "to": "cardinal", "response": u"yüzbirmilyononbirbinbir"},
{"number": 101011010, "lang": "tr", "to": "cardinal", "response": u"yüzbirmilyononbirbinon"},
{"number": 1101011010, "lang": "tr", "to": "cardinal", "response": u"birmilyaryüzbirmilyononbirbinon"},
{"number": 101101011010, "lang": "tr", "to": "cardinal", "response": u"yüzbirmilyaryüzbirmilyononbirbinon"},
{"number": 100001001, "lang": "tr", "to": "cardinal", "response": u"yüzmilyonbinbir"},
{"number": 1000000000001, "lang": "tr", "to": "cardinal", "response": u"yüzmilyonbinbir"},
{"number": 0.01, "lang": "tr", "to": "cardinal", "response": u"sıfırvirgülbir"},
{"number": 0.21, "lang": "tr", "to": "cardinal", "response": u"sıfırvirgülyirmibir"},
{"number": 0.1, "lang": "tr", "to": "cardinal", "response": u"sıfırvirgülon"},
{"number": 1.01, "lang": "tr", "to": "cardinal", "response": u"birvirgülbir"},
{"number": 1.1, "lang": "tr", "to": "cardinal", "response": u"birvirgülon"},
{"number": 1.21, "lang": "tr", "to": "cardinal", "response": u"birvirgülyirmibir"},
{"number": 101101011010.02, "lang": "tr", "to": "cardinal",
"response": u"yüzbirmilyaryüzbirmilyononbirbinonvirgüliki"},
{"number": 101101011010.2, "lang": "tr", "to": "cardinal",
"response": u"yüzbirmilyaryüzbirmilyononbirbinonvirgülyirmi"},
]
self.assertEqual(num2words(1, lang="tr", to="cardinal"), u"bir") for casedata in testcases:
self.assertEqual(num2words(2, lang="tr", to="cardinal"), u"iki") self.assertEqual(num2words(casedata.number, lang=casedata.lang, to=casedata.to), casedata.response)
self.assertEqual(num2words(9, lang="tr", to="cardinal"), u"dokuz")
self.assertEqual(num2words(10, lang="tr", to="cardinal"), u"on")
self.assertEqual(num2words(11, lang="tr", to="cardinal"), u"onbir")
self.assertEqual(num2words(44, lang="tr", to="cardinal"), u"kırkdört")
self.assertEqual(num2words(100, lang="tr", to="cardinal"), u"yüz")
self.assertEqual(num2words(101, lang="tr", to="cardinal"), u"yüzbir")
self.assertEqual(num2words(103, lang="tr", to="cardinal"), u"yüzüç")
self.assertEqual(num2words(110, lang="tr", to="cardinal"), u"yüzon")
self.assertEqual(num2words(111, lang="tr", to="cardinal"), u"yüzonbir")
self.assertEqual(num2words(1000, lang="tr", to="cardinal"), u"bin")
self.assertEqual(num2words(1001, lang="tr", to="cardinal"), u"binbir")
self.assertEqual(num2words(1010, lang="tr", to="cardinal"), u"binon")
self.assertEqual(num2words(1011, lang="tr", to="cardinal"), u"binonbir")
self.assertEqual(num2words(1100, lang="tr", to="cardinal"), u"binyüz")
self.assertEqual(num2words(1110, lang="tr", to="cardinal"), u"binyüzon")
self.assertEqual(num2words(2341, lang="tr", to="cardinal"), u"ikibinüçyüzkırkbir")
self.assertEqual(num2words(10000, lang="tr", to="cardinal"), u"onbin")
self.assertEqual(num2words(10010, lang="tr", to="cardinal"), u"onbinon")
self.assertEqual(num2words(10100, lang="tr", to="cardinal"), u"onbinyüz")
self.assertEqual(num2words(10110, lang="tr", to="cardinal"), u"onbinyüzon")
self.assertEqual(num2words(11000, lang="tr", to="cardinal"), u"onbirbin")
self.assertEqual(num2words(35000, lang="tr", to="cardinal"), u"otuzbeşbin")
self.assertEqual(
num2words(116331, lang="tr", to="cardinal"), u"yüzonaltıbinüçyüzotuzbir"
)
self.assertEqual(
num2words(116330, lang="tr", to="cardinal"), u"yüzonaltıbinüçyüzotuz"
)
self.assertEqual(num2words(500000, lang="tr", to="cardinal"), u"beşyüzbin")
self.assertEqual(num2words(501000, lang="tr", to="cardinal"), u"beşyüzbirbin")
self.assertEqual(num2words(1000111, lang="tr", to="cardinal"), u"birmilyonyüzonbir")
self.assertEqual(
num2words(111000111, lang="tr", to="cardinal"), u"yüzonbirmilyonyüzonbir"
)
self.assertEqual(
num2words(111001111, lang="tr", to="cardinal"), u"yüzonbirmilyonbinyüzonbir"
)
self.assertEqual(
num2words(111111111, lang="tr", to="cardinal"),
u"yüzonbirmilyonyüzonbirbinyüzonbir"
)
self.assertEqual(num2words(100001000, lang="tr", to="cardinal"), u"yüzmilyonbin")
self.assertEqual(num2words(100001001, lang="tr", to="cardinal"), u"yüzmilyonbinbir")
self.assertEqual(num2words(100010000, lang="tr", to="cardinal"), u"yüzmilyononbin")
self.assertEqual(
num2words(100010001, lang="tr", to="cardinal"), u"yüzmilyononbinbir"
)
self.assertEqual(
num2words(100011000, lang="tr", to="cardinal"), u"yüzmilyononbirbin"
)
self.assertEqual(
num2words(100011001, lang="tr", to="cardinal"), u"yüzmilyononbirbinbir"
)
self.assertEqual(
num2words(101011001, lang="tr", to="cardinal"), u"yüzbirmilyononbirbinbir"
)
self.assertEqual(
num2words(101011010, lang="tr", to="cardinal"), u"yüzbirmilyononbirbinon"
)
self.assertEqual(
num2words(1101011010, lang="tr", to="cardinal"),
u"birmilyaryüzbirmilyononbirbinon"
)
self.assertEqual(
num2words(101101011010, lang="tr", to="cardinal"),
u"yüzbirmilyaryüzbirmilyononbirbinon"
)
self.assertEqual(
num2words(1000000000001, lang="tr", to="cardinal"), u"birtrilyonbir"
)
self.assertEqual(num2words(0.01, lang="tr", to="cardinal"), u"sıfırvirgülbir")
self.assertEqual(num2words(0.1, lang="tr", to="cardinal"), u"sıfırvirgülon")
self.assertEqual(num2words(0.21, lang="tr", to="cardinal"), u"sıfırvirgülyirmibir")
self.assertEqual(num2words(1.01, lang="tr", to="cardinal"), u"birvirgülbir")
self.assertEqual(num2words(1.1, lang="tr", to="cardinal"), u"birvirgülon")
self.assertEqual(num2words(1.21, lang="tr", to="cardinal"), u"birvirgülyirmibir")
self.assertEqual(
num2words(101101011010.02, lang="tr", to="cardinal"),
u"yüzbirmilyaryüzbirmilyononbirbinonvirgüliki"
)
self.assertEqual(
num2words(101101011010.2, lang="tr", to="cardinal"),
u"yüzbirmilyaryüzbirmilyononbirbinonvirgülyirmi"
)
self.assertEqual(num2words(0, lang="tr", to="currency"), u'sıfırlira')
self.assertEqual(num2words(1.1, lang="tr", to="currency"), u'birliraonkuruş')
self.assertEqual(num2words(1.2, lang="tr", to="ordinal"), u'')
self.assertEqual(num2words(1.3, lang="tr", to="ordinal"), u'')
self.assertEqual(num2words(2000, lang="tr", to="currency"), u'ikibinlira')
self.assertEqual(num2words(3000, lang="tr", to="ordinal"), u'üçbininci')
self.assertEqual(num2words(110000, lang="tr", to="currency"), u'yüzonbinlira')
self.assertEqual(num2words(120000, lang="tr", to="ordinal"), u'yüzyirmibininci')
self.assertEqual(num2words(1002000, lang="tr", to="currency"), u'birmilyonikibinlira')
self.assertEqual(num2words(1002001, lang="tr", to="currency"), u'birmilyonikibinbirlira')
self.assertEqual(num2words(1002002, lang="tr", to="ordinal"), u'birmilyonikibinikinci')
self.assertEqual(num2words(1003000, lang="tr", to="ordinal"), u'birmilyonüçbininci')
self.assertEqual(num2words(1100000, lang="tr", to="currency"), u'birmilyonyüzbinlira')
self.assertEqual(num2words(1200000, lang="tr", to="ordinal"), u'birmilyonikiyüzbininci')