From d82f739bc9cb87f9c5e79facba86a26b83c29266 Mon Sep 17 00:00:00 2001 From: btharper Date: Sat, 26 Oct 2019 17:37:47 -0400 Subject: [PATCH 01/23] Add ordinal 12,345 to ES test suite to increase coverage --- tests/test_es.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test_es.py b/tests/test_es.py index a49cfbf..7e99cfc 100644 --- a/tests/test_es.py +++ b/tests/test_es.py @@ -95,6 +95,7 @@ TEST_CASES_ORDINAL = ( (28, 'vigésimo octavo'), (100, 'centésimo'), (1000, 'milésimo'), + (12345, 'doce mil trescientos cuarenta y cinco'), (1000000, 'millonésimo'), (1000000000000000, 'cuadrillonésimo'), (1000000000000000000, 'un trillón') # over 1e18 is not supported From 6819f5a6ed4dce1b148b231c423bc827b6f1c3f4 Mon Sep 17 00:00:00 2001 From: btharper Date: Sat, 26 Oct 2019 22:38:50 -0400 Subject: [PATCH 02/23] Fix py2/3 difference on division and update test case --- num2words/lang_ES.py | 16 ++++++++++++---- tests/test_es.py | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/num2words/lang_ES.py b/num2words/lang_ES.py index fca9491..7d6e46b 100644 --- a/num2words/lang_ES.py +++ b/num2words/lang_ES.py @@ -17,6 +17,8 @@ from __future__ import print_function, unicode_literals +import math + from .lang_EU import Num2Word_EU @@ -143,25 +145,31 @@ class Num2Word_ES(Num2Word_EU): self.to_ordinal(value - cen)) ) elif value < 1e18: + # Round down to the nearest 1e(3n) # dec contains the following: # [ 1e3, 1e6): 1e3 # [ 1e6, 1e9): 1e6 # [ 1e9, 1e12): 1e9 # [1e12, 1e15): 1e12 # [1e15, 1e18): 1e15 - dec = 10 ** ((((len(str(int(value))) - 1) / 3 - 1) + 1) * 3) - part = int(float(value / dec) * dec) + dec = 1000 ** int(math.log(int(value), 1000)) + + # Split the parts before and after the word for 'dec' + # eg (12, 345) = divmod(12_345, 1_000) + high_part, low_part = divmod(value, dec) + cardinal = ( - self.to_cardinal(part / dec) if part / dec != 1 else "" + self.to_cardinal(high_part) if high_part != 1 else "" ) text = ( "%s%s%s %s" % (cardinal, self.ords[dec], self.gender_stem, - self.to_ordinal(value - part)) + self.to_ordinal(low_part)) ) else: text = self.to_cardinal(value) except KeyError: text = self.to_cardinal(value) + raise return text.strip() def to_ordinal_num(self, value): diff --git a/tests/test_es.py b/tests/test_es.py index 7e99cfc..d306981 100644 --- a/tests/test_es.py +++ b/tests/test_es.py @@ -95,7 +95,7 @@ TEST_CASES_ORDINAL = ( (28, 'vigésimo octavo'), (100, 'centésimo'), (1000, 'milésimo'), - (12345, 'doce mil trescientos cuarenta y cinco'), + (12345, 'docemilésimo tricentésimo quadragésimo quinto'), (1000000, 'millonésimo'), (1000000000000000, 'cuadrillonésimo'), (1000000000000000000, 'un trillón') # over 1e18 is not supported From d161b4348d0545b3745929102c65fd12a41f082a Mon Sep 17 00:00:00 2001 From: btharper Date: Sat, 26 Oct 2019 23:22:23 -0400 Subject: [PATCH 03/23] Remove excess try/except KeyError block --- num2words/lang_ES.py | 88 +++++++++++++++++++++----------------------- 1 file changed, 41 insertions(+), 47 deletions(-) diff --git a/num2words/lang_ES.py b/num2words/lang_ES.py index 7d6e46b..a8cc47d 100644 --- a/num2words/lang_ES.py +++ b/num2words/lang_ES.py @@ -15,7 +15,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301 USA -from __future__ import print_function, unicode_literals +from __future__ import division, print_function, unicode_literals import math @@ -122,54 +122,48 @@ class Num2Word_ES(Num2Word_EU): def to_ordinal(self, value): self.verify_ordinal(value) - try: - if value == 0: - text = "" - elif value <= 10: - text = "%s%s" % (self.ords[value], self.gender_stem) - elif value <= 12: - text = ( - "%s%s%s" % (self.ords[10], self.gender_stem, - self.to_ordinal(value - 10)) - ) - elif value <= 100: - dec = (value // 10) * 10 - text = ( - "%s%s %s" % (self.ords[dec], self.gender_stem, - self.to_ordinal(value - dec)) - ) - elif value <= 1e3: - cen = (value // 100) * 100 - text = ( - "%s%s %s" % (self.ords[cen], self.gender_stem, - self.to_ordinal(value - cen)) - ) - elif value < 1e18: - # Round down to the nearest 1e(3n) - # dec contains the following: - # [ 1e3, 1e6): 1e3 - # [ 1e6, 1e9): 1e6 - # [ 1e9, 1e12): 1e9 - # [1e12, 1e15): 1e12 - # [1e15, 1e18): 1e15 - dec = 1000 ** int(math.log(int(value), 1000)) - - # Split the parts before and after the word for 'dec' - # eg (12, 345) = divmod(12_345, 1_000) - high_part, low_part = divmod(value, dec) - - cardinal = ( - self.to_cardinal(high_part) if high_part != 1 else "" + if value == 0: + text = "" + elif value <= 10: + text = "%s%s" % (self.ords[value], self.gender_stem) + elif value <= 12: + text = ( + "%s%s%s" % (self.ords[10], self.gender_stem, + self.to_ordinal(value - 10)) ) - text = ( - "%s%s%s %s" % (cardinal, self.ords[dec], self.gender_stem, - self.to_ordinal(low_part)) - ) - else: - text = self.to_cardinal(value) - except KeyError: + elif value <= 100: + dec = (value // 10) * 10 + text = ( + "%s%s %s" % (self.ords[dec], self.gender_stem, + self.to_ordinal(value - dec)) + ) + elif value <= 1e3: + cen = (value // 100) * 100 + text = ( + "%s%s %s" % (self.ords[cen], self.gender_stem, + self.to_ordinal(value - cen)) + ) + elif value < 1e18: + # Round down to the nearest 1e(3n) + # dec contains the following: + # [ 1e3, 1e6): 1e3 + # [ 1e6, 1e9): 1e6 + # [ 1e9, 1e12): 1e9 + # [1e12, 1e15): 1e12 + # [1e15, 1e18): 1e15 + dec = 1000 ** int(math.log(int(value), 1000)) + + # Split the parts before and after the word for 'dec' + # eg (12, 345) = divmod(12_345, 1_000) + high_part, low_part = divmod(value, dec) + + cardinal = self.to_cardinal(high_part) if high_part != 1 else "" + text = ( + "%s%s%s %s" % (cardinal, self.ords[dec], self.gender_stem, + self.to_ordinal(low_part)) + ) + else: text = self.to_cardinal(value) - raise return text.strip() def to_ordinal_num(self, value): From 28c304c2f489235b7bb56bdf67de075269fa740c Mon Sep 17 00:00:00 2001 From: Ariel Allon Date: Sun, 27 Oct 2019 23:46:02 -0500 Subject: [PATCH 04/23] Fix Hebrew support - Correct gender of 1 and 2 (and 11 and 12) to match remainder of numbers - Fix spelling of 8 (and 18 and 80) - Add cases for thousands 3-9 and support in the logic - Fix placement of "and" conjunction to match Academy of Hebrew Language position - Add tests --- num2words/lang_HE.py | 39 ++++++++++++++--------- tests/test_cli.py | 2 +- tests/test_he.py | 73 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 98 insertions(+), 16 deletions(-) create mode 100644 tests/test_he.py diff --git a/num2words/lang_HE.py b/num2words/lang_HE.py index c1d71a3..0da469f 100644 --- a/num2words/lang_HE.py +++ b/num2words/lang_HE.py @@ -18,32 +18,33 @@ from __future__ import print_function, unicode_literals +from .base import Num2Word_Base from .utils import get_digits, splitbyx ZERO = (u'אפס',) ONES = { - 1: (u'אחד',), - 2: (u'שנים',), + 1: (u'אחת',), + 2: (u'שתים',), 3: (u'שלש',), 4: (u'ארבע',), 5: (u'חמש',), 6: (u'שש',), 7: (u'שבע',), - 8: (u'שמנה',), + 8: (u'שמונה',), 9: (u'תשע',), } TENS = { 0: (u'עשר',), - 1: (u'אחד עשרה',), - 2: (u'שנים עשרה',), + 1: (u'אחת עשרה',), + 2: (u'שתים עשרה',), 3: (u'שלש עשרה',), 4: (u'ארבע עשרה',), 5: (u'חמש עשרה',), 6: (u'שש עשרה',), 7: (u'שבע עשרה',), - 8: (u'שמנה עשרה',), + 8: (u'שמונה עשרה',), 9: (u'תשע עשרה',), } @@ -54,7 +55,7 @@ TWENTIES = { 5: (u'חמישים',), 6: (u'ששים',), 7: (u'שבעים',), - 8: (u'שמנים',), + 8: (u'שמונים',), 9: (u'תשעים',), } @@ -67,6 +68,13 @@ HUNDRED = { THOUSANDS = { 1: (u'אלף',), 2: (u'אלפיים',), + 3: (u'שלשת אלפים',), + 4: (u'ארבעת אלפים',), + 5: (u'חמשת אלפים',), + 6: (u'ששת אלפים',), + 7: (u'שבעת אלפים',), + 8: (u'שמונת אלפים',), + 9: (u'תשעת אלפים',), } AND = u'ו' @@ -100,12 +108,15 @@ def int2word(n): n1, n2, n3 = get_digits(x) + if i > 0: + words.append(THOUSANDS[n1][0]) + continue + if n3 > 0: if n3 <= 2: words.append(HUNDRED[n3][0]) else: - words.append(ONES[n3][0]) - words.append(HUNDRED[3][0]) + words.append(ONES[n3][0] + ' ' + HUNDRED[3][0]) if n2 > 1: words.append(TWENTIES[n2][0]) @@ -116,14 +127,12 @@ def int2word(n): words.append(ONES[n1][0]) if i > 0: - if i <= 2: - words.append(THOUSANDS[i][0]) - else: - words.append(ONES[i][0]) - words.append(THOUSANDS[1][0]) + words.append(THOUSANDS[i][0]) + # source: https://hebrew-academy.org.il/2017/01/30/%d7%95-%d7%94%d7%97%d7%99%d7%91%d7%95%d7%a8-%d7%91%d7%9e%d7%a1%d7%a4%d7%a8%d7%99%d7%9d/ if len(words) > 1: words[-1] = AND + words[-1] + return ' '.join(words) @@ -135,7 +144,7 @@ def to_currency(n, currency='EUR', cents=True, separator=','): raise NotImplementedError() -class Num2Word_HE(object): +class Num2Word_HE(Num2Word_Base): def to_cardinal(self, number): return n2w(number) diff --git a/tests/test_cli.py b/tests/test_cli.py index d8ea56c..a85b125 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -102,7 +102,7 @@ class CliTestCase(unittest.TestCase): ) def test_cli_with_lang_to(self): - """You should be able to specify a language + """You should be able to specify a language and currency """ output = self.cli.run_cmd(150.55, '--lang', 'es', '--to', 'currency') self.assertEqual(output.return_code, 0) diff --git a/tests/test_he.py b/tests/test_he.py new file mode 100644 index 0000000..206d7cc --- /dev/null +++ b/tests/test_he.py @@ -0,0 +1,73 @@ +# -*- coding: utf-8 -*- +# Copyright (c) 2003, Taro Ogawa. All Rights Reserved. +# Copyright (c) 2013, Savoir-faire Linux inc. All Rights Reserved. + +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, +# MA 02110-1301 USA + +from __future__ import unicode_literals + +from unittest import TestCase + +from num2words import num2words + + +class Num2WordsHETest(TestCase): + maxDiff = None + + def test_0(self): + self.assertEqual(num2words(0, lang="he"), u'אפס') + + def test_1_to_10(self): + self.assertEqual(num2words(1, lang="he"), u'אחת') + self.assertEqual(num2words(2, lang="he"), u'שתים') + self.assertEqual(num2words(7, lang="he"), u'שבע') + self.assertEqual(num2words(10, lang="he"), u'עשר') + + def test_11_to_19(self): + self.assertEqual(num2words(11, lang="he"), u'אחת עשרה') + self.assertEqual(num2words(13, lang="he"), u'שלש עשרה') + self.assertEqual(num2words(15, lang="he"), u'חמש עשרה') + self.assertEqual(num2words(16, lang="he"), u'שש עשרה') + self.assertEqual(num2words(19, lang="he"), u'תשע עשרה') + + def test_20_to_99(self): + self.assertEqual(num2words(20, lang="he"), u'עשרים') + self.assertEqual(num2words(23, lang="he"), u'עשרים ושלש') + self.assertEqual(num2words(28, lang="he"), u'עשרים ושמונה') + self.assertEqual(num2words(31, lang="he"), u'שלשים ואחת') + self.assertEqual(num2words(40, lang="he"), u'ארבעים') + self.assertEqual(num2words(66, lang="he"), u'ששים ושש') + self.assertEqual(num2words(92, lang="he"), u'תשעים ושתים') + + def test_100_to_999(self): + self.assertEqual(num2words(100, lang="he"), u'מאה') + self.assertEqual(num2words(111, lang="he"), u'מאה ואחת עשרה') + self.assertEqual(num2words(150, lang="he"), u'מאה וחמישים') + self.assertEqual(num2words(196, lang="he"), u'מאה תשעים ושש') + self.assertEqual(num2words(200, lang="he"), u'מאתיים') + self.assertEqual(num2words(210, lang="he"), u'מאתיים ועשר') + self.assertEqual(num2words(701, lang="he"), u'שבע מאות ואחת') + + def test_1000_to_9999(self): + self.assertEqual(num2words(1000, lang="he"), u'אלף') + self.assertEqual(num2words(1001, lang="he"), u'אלף ואחת') + self.assertEqual(num2words(1500, lang="he"), u'אלף וחמש מאות') + self.assertEqual( + num2words(7378, lang="he"), u'שבעת אלפים שלש מאות שבעים ושמונה' + ) + self.assertEqual(num2words(2000, lang="he"), u'אלפיים') + self.assertEqual(num2words(2100, lang="he"), u'אלפיים ומאה') + self.assertEqual( + num2words(6870, lang="he"), u'ששת אלפים שמונה מאות ושבעים' + ) From c1e3e854bbf794d5734c9b2693ba3e12f6b5e811 Mon Sep 17 00:00:00 2001 From: Ariel Allon Date: Mon, 28 Oct 2019 00:01:21 -0500 Subject: [PATCH 05/23] Use non-url-encoded source URL to avoid CI rejection for too-long line --- num2words/lang_HE.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/num2words/lang_HE.py b/num2words/lang_HE.py index 0da469f..34b2ec8 100644 --- a/num2words/lang_HE.py +++ b/num2words/lang_HE.py @@ -129,7 +129,7 @@ def int2word(n): if i > 0: words.append(THOUSANDS[i][0]) - # source: https://hebrew-academy.org.il/2017/01/30/%d7%95-%d7%94%d7%97%d7%99%d7%91%d7%95%d7%a8-%d7%91%d7%9e%d7%a1%d7%a4%d7%a8%d7%99%d7%9d/ + # source: https://hebrew-academy.org.il/2017/01/30/ו-החיבור-במספרים/ if len(words) > 1: words[-1] = AND + words[-1] From ede1db8690c878d0d515617ff507e910bc89c7ad Mon Sep 17 00:00:00 2001 From: Tufan Kaynak <31142607+toofun666@users.noreply.github.com> Date: Fri, 13 Dec 2019 16:38:39 +0300 Subject: [PATCH 06/23] updated tests --- tests/test_tr.py | 202 +++++++++++++++++++++++++---------------------- 1 file changed, 108 insertions(+), 94 deletions(-) diff --git a/tests/test_tr.py b/tests/test_tr.py index 6622ddc..6d169f5 100644 --- a/tests/test_tr.py +++ b/tests/test_tr.py @@ -25,170 +25,184 @@ class Num2WordsTRTest(TestCase): def test_tr(self): # ref https://github.com/savoirfairelinux/num2words/issues/8 - self.assertEqual(num2words(1, True, "tr"), u"birinci") - self.assertEqual(num2words(2, True, "tr"), u"ikinci") - self.assertEqual(num2words(9, True, "tr"), u"dokuzuncu") - self.assertEqual(num2words(10, True, "tr"), u"onuncu") - self.assertEqual(num2words(11, True, "tr"), u"onbirinci") - self.assertEqual(num2words(44, True, "tr"), u"kırkdördüncü") - self.assertEqual(num2words(100, True, "tr"), u"yüzüncü") - self.assertEqual(num2words(101, True, "tr"), u"yüzbirinci") - self.assertEqual(num2words(103, True, "tr"), u"yüzüçüncü") - self.assertEqual(num2words(110, True, "tr"), u"yüzonuncu") - self.assertEqual(num2words(111, True, "tr"), u"yüzonbirinci") - self.assertEqual(num2words(1000, True, "tr"), u"bininci") - self.assertEqual(num2words(1001, True, "tr"), u"binbirinci") - self.assertEqual(num2words(1010, True, "tr"), u"binonuncu") - self.assertEqual(num2words(1011, True, "tr"), u"binonbirinci") - self.assertEqual(num2words(1100, True, "tr"), u"binyüzüncü") - self.assertEqual(num2words(1110, True, "tr"), u"binyüzonuncu") + self.assertEqual(num2words(1, lang="tr", to="ordinal"), u"birinci") + self.assertEqual(num2words(2, lang="tr", to="ordinal"), u"ikinci") + self.assertEqual(num2words(9, lang="tr", to="ordinal"), u"dokuzuncu") + self.assertEqual(num2words(10, lang="tr", to="ordinal"), u"onuncu") + self.assertEqual(num2words(11, lang="tr", to="ordinal"), u"onbirinci") + self.assertEqual(num2words(44, lang="tr", to="ordinal"), u"kırkdördüncü") + self.assertEqual(num2words(100, lang="tr", to="ordinal"), u"yüzüncü") + self.assertEqual(num2words(101, lang="tr", to="ordinal"), u"yüzbirinci") + self.assertEqual(num2words(103, lang="tr", to="ordinal"), u"yüzüçüncü") + self.assertEqual(num2words(110, lang="tr", to="ordinal"), u"yüzonuncu") + self.assertEqual(num2words(111, lang="tr", to="ordinal"), u"yüzonbirinci") + self.assertEqual(num2words(1000, lang="tr", to="ordinal"), u"bininci") + self.assertEqual(num2words(1001, lang="tr", to="ordinal"), u"binbirinci") + self.assertEqual(num2words(1010, lang="tr", to="ordinal"), u"binonuncu") + self.assertEqual(num2words(1011, lang="tr", to="ordinal"), u"binonbirinci") + self.assertEqual(num2words(1100, lang="tr", to="ordinal"), u"binyüzüncü") + self.assertEqual(num2words(1110, lang="tr", to="ordinal"), u"binyüzonuncu") self.assertEqual( - num2words(2341, True, "tr"), u"ikibinüçyüzkırkbirinci" + num2words(2341, lang="tr", to="ordinal"), u"ikibinüçyüzkırkbirinci" ) - self.assertEqual(num2words(10000, True, "tr"), u"onbininci") - self.assertEqual(num2words(10010, True, "tr"), u"onbinonuncu") - self.assertEqual(num2words(10100, True, "tr"), u"onbinyüzüncü") - self.assertEqual(num2words(10110, True, "tr"), u"onbinyüzonuncu") - self.assertEqual(num2words(11000, True, "tr"), u"onbirbininci") - self.assertEqual(num2words(35000, True, "tr"), u"otuzbeşbininci") + self.assertEqual(num2words(10000, lang="tr", to="ordinal"), u"onbininci") + self.assertEqual(num2words(10010, lang="tr", to="ordinal"), u"onbinonuncu") + self.assertEqual(num2words(10100, lang="tr", to="ordinal"), u"onbinyüzüncü") + self.assertEqual(num2words(10110, lang="tr", to="ordinal"), u"onbinyüzonuncu") + self.assertEqual(num2words(11000, lang="tr", to="ordinal"), u"onbirbininci") + self.assertEqual(num2words(35000, lang="tr", to="ordinal"), u"otuzbeşbininci") self.assertEqual( - num2words(116331, True, "tr"), u"yüzonaltıbinüçyüzotuzbirinci" + num2words(116331, lang="tr", to="ordinal"), u"yüzonaltıbinüçyüzotuzbirinci" ) self.assertEqual( - num2words(116330, True, "tr"), u"yüzonaltıbinüçyüzotuzuncu" + num2words(116330, lang="tr", to="ordinal"), u"yüzonaltıbinüçyüzotuzuncu" ) - self.assertEqual(num2words(100000, True, "tr"), u"yüzbininci") - self.assertEqual(num2words(501000, True, "tr"), u"beşyüzbirbininci") + self.assertEqual(num2words(100000, lang="tr", to="ordinal"), u"yüzbininci") + self.assertEqual(num2words(501000, lang="tr", to="ordinal"), u"beşyüzbirbininci") self.assertEqual( - num2words(1000111, True, "tr"), u"birmilyonyüzonbirinci" + num2words(1000111, lang="tr", to="ordinal"), u"birmilyonyüzonbirinci" ) self.assertEqual( - num2words(111000111, True, "tr"), u"yüzonbirmilyonyüzonbirinci" + num2words(111000111, lang="tr", to="ordinal"), u"yüzonbirmilyonyüzonbirinci" ) self.assertEqual( - num2words(111001111, True, "tr"), u"yüzonbirmilyonbinyüzonbirinci" + num2words(111001111, lang="tr", to="ordinal"), u"yüzonbirmilyonbinyüzonbirinci" ) self.assertEqual( - num2words(111111111, True, "tr"), + num2words(111111111, lang="tr", to="ordinal"), u"yüzonbirmilyonyüzonbirbinyüzonbirinci" ) - self.assertEqual(num2words(100001000, True, "tr"), u"yüzmilyonbininci") + self.assertEqual(num2words(100001000, lang="tr", to="ordinal"), u"yüzmilyonbininci") self.assertEqual( - num2words(100001001, True, "tr"), u"yüzmilyonbinbirinci" + num2words(100001001, lang="tr", to="ordinal"), u"yüzmilyonbinbirinci" ) self.assertEqual( - num2words(100010000, True, "tr"), u"yüzmilyononbininci" + num2words(100010000, lang="tr", to="ordinal"), u"yüzmilyononbininci" ) self.assertEqual( - num2words(100010001, True, "tr"), u"yüzmilyononbinbirinci" + num2words(100010001, lang="tr", to="ordinal"), u"yüzmilyononbinbirinci" ) self.assertEqual( - num2words(100011000, True, "tr"), u"yüzmilyononbirbininci" + num2words(100011000, lang="tr", to="ordinal"), u"yüzmilyononbirbininci" ) self.assertEqual( - num2words(100011001, True, "tr"), u"yüzmilyononbirbinbirinci" + num2words(100011001, lang="tr", to="ordinal"), u"yüzmilyononbirbinbirinci" ) self.assertEqual( - num2words(101011001, True, "tr"), u"yüzbirmilyononbirbinbirinci" + num2words(101011001, lang="tr", to="ordinal"), u"yüzbirmilyononbirbinbirinci" ) self.assertEqual( - num2words(101011010, True, "tr"), u"yüzbirmilyononbirbinonuncu" + num2words(101011010, lang="tr", to="ordinal"), u"yüzbirmilyononbirbinonuncu" ) self.assertEqual( - num2words(1101011010, True, "tr"), + num2words(1101011010, lang="tr", to="ordinal"), u"birmilyaryüzbirmilyononbirbinonuncu" ) self.assertEqual( - num2words(101101011010, True, "tr"), + num2words(101101011010, lang="tr", to="ordinal"), u"yüzbirmilyaryüzbirmilyononbirbinonuncu" ) self.assertEqual( - num2words(1000000000001, True, "tr"), u"birtrilyonbirinci" + num2words(1000000000001, lang="tr", to="ordinal"), u"birtrilyonbirinci" ) - self.assertEqual(num2words(1, False, "tr"), u"bir") - self.assertEqual(num2words(2, False, "tr"), u"iki") - self.assertEqual(num2words(9, False, "tr"), u"dokuz") - self.assertEqual(num2words(10, False, "tr"), u"on") - self.assertEqual(num2words(11, False, "tr"), u"onbir") - self.assertEqual(num2words(44, False, "tr"), u"kırkdört") - self.assertEqual(num2words(100, False, "tr"), u"yüz") - self.assertEqual(num2words(101, False, "tr"), u"yüzbir") - self.assertEqual(num2words(103, False, "tr"), u"yüzüç") - self.assertEqual(num2words(110, False, "tr"), u"yüzon") - self.assertEqual(num2words(111, False, "tr"), u"yüzonbir") - self.assertEqual(num2words(1000, False, "tr"), u"bin") - self.assertEqual(num2words(1001, False, "tr"), u"binbir") - self.assertEqual(num2words(1010, False, "tr"), u"binon") - self.assertEqual(num2words(1011, False, "tr"), u"binonbir") - self.assertEqual(num2words(1100, False, "tr"), u"binyüz") - self.assertEqual(num2words(1110, False, "tr"), u"binyüzon") - self.assertEqual(num2words(2341, False, "tr"), u"ikibinüçyüzkırkbir") - self.assertEqual(num2words(10000, False, "tr"), u"onbin") - self.assertEqual(num2words(10010, False, "tr"), u"onbinon") - self.assertEqual(num2words(10100, False, "tr"), u"onbinyüz") - self.assertEqual(num2words(10110, False, "tr"), u"onbinyüzon") - self.assertEqual(num2words(11000, False, "tr"), u"onbirbin") - self.assertEqual(num2words(35000, False, "tr"), u"otuzbeşbin") + self.assertEqual(num2words(1, lang="tr", to="cardinal"), u"bir") + self.assertEqual(num2words(2, lang="tr", to="cardinal"), u"iki") + 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, False, "tr"), u"yüzonaltıbinüçyüzotuzbir" + num2words(116331, lang="tr", to="cardinal"), u"yüzonaltıbinüçyüzotuzbir" ) self.assertEqual( - num2words(116330, False, "tr"), u"yüzonaltıbinüçyüzotuz" + num2words(116330, lang="tr", to="cardinal"), u"yüzonaltıbinüçyüzotuz" ) - self.assertEqual(num2words(500000, False, "tr"), u"beşyüzbin") - self.assertEqual(num2words(501000, False, "tr"), u"beşyüzbirbin") - self.assertEqual(num2words(1000111, False, "tr"), u"birmilyonyüzonbir") + 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, False, "tr"), u"yüzonbirmilyonyüzonbir" + num2words(111000111, lang="tr", to="cardinal"), u"yüzonbirmilyonyüzonbir" ) self.assertEqual( - num2words(111001111, False, "tr"), u"yüzonbirmilyonbinyüzonbir" + num2words(111001111, lang="tr", to="cardinal"), u"yüzonbirmilyonbinyüzonbir" ) self.assertEqual( - num2words(111111111, False, "tr"), + num2words(111111111, lang="tr", to="cardinal"), u"yüzonbirmilyonyüzonbirbinyüzonbir" ) - self.assertEqual(num2words(100001000, False, "tr"), u"yüzmilyonbin") - self.assertEqual(num2words(100001001, False, "tr"), u"yüzmilyonbinbir") - self.assertEqual(num2words(100010000, False, "tr"), u"yüzmilyononbin") + 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, False, "tr"), u"yüzmilyononbinbir" + num2words(100010001, lang="tr", to="cardinal"), u"yüzmilyononbinbir" ) self.assertEqual( - num2words(100011000, False, "tr"), u"yüzmilyononbirbin" + num2words(100011000, lang="tr", to="cardinal"), u"yüzmilyononbirbin" ) self.assertEqual( - num2words(100011001, False, "tr"), u"yüzmilyononbirbinbir" + num2words(100011001, lang="tr", to="cardinal"), u"yüzmilyononbirbinbir" ) self.assertEqual( - num2words(101011001, False, "tr"), u"yüzbirmilyononbirbinbir" + num2words(101011001, lang="tr", to="cardinal"), u"yüzbirmilyononbirbinbir" ) self.assertEqual( - num2words(101011010, False, "tr"), u"yüzbirmilyononbirbinon" + num2words(101011010, lang="tr", to="cardinal"), u"yüzbirmilyononbirbinon" ) self.assertEqual( - num2words(1101011010, False, "tr"), + num2words(1101011010, lang="tr", to="cardinal"), u"birmilyaryüzbirmilyononbirbinon" ) self.assertEqual( - num2words(101101011010, False, "tr"), + num2words(101101011010, lang="tr", to="cardinal"), u"yüzbirmilyaryüzbirmilyononbirbinon" ) self.assertEqual( - num2words(1000000000001, False, "tr"), u"birtrilyonbir" + num2words(1000000000001, lang="tr", to="cardinal"), u"birtrilyonbir" ) - self.assertEqual(num2words(0.01, False, "tr"), u"sıfırvirgülbir") - self.assertEqual(num2words(0.1, False, "tr"), u"sıfırvirgülon") - self.assertEqual(num2words(0.21, False, "tr"), u"sıfırvirgülyirmibir") - self.assertEqual(num2words(1.01, False, "tr"), u"birvirgülbir") - self.assertEqual(num2words(1.1, False, "tr"), u"birvirgülon") - self.assertEqual(num2words(1.21, False, "tr"), u"birvirgülyirmibir") + 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, False, "tr"), + num2words(101101011010.02, lang="tr", to="cardinal"), u"yüzbirmilyaryüzbirmilyononbirbinonvirgüliki" ) self.assertEqual( - num2words(101101011010.2, False, "tr"), + 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'birvirgülyirmi') + self.assertEqual(num2words(1.3, lang="tr", to="ordinal"), u'birvirgülotuz') + self.assertEqual(num2words(2000, lang="tr", to="currency"), u'ikibinlira') + self.assertEqual(num2words(3000, lang="tr", to="ordinal"), u'üçbin') + self.assertEqual(num2words(110000, lang="tr", to="currency"), u'yüzonbinlira') + self.assertEqual(num2words(120000, lang="tr", to="ordinal"), u'yüzyirmibin') + 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'birmilyonikibiniki') + self.assertEqual(num2words(1003000, lang="tr", to="ordinal"), u'birmilyonüçbin') + self.assertEqual(num2words(1100000, lang="tr", to="currency"), u'birmilyonyüzbin') + self.assertEqual(num2words(1200000, lang="tr", to="ordinal"), u'birmilyonikiyüzbin') From 9b8a5412248325adfce35eb30ae61e2b682e926e Mon Sep 17 00:00:00 2001 From: Tufan Kaynak <31142607+toofun666@users.noreply.github.com> Date: Fri, 13 Dec 2019 16:45:01 +0300 Subject: [PATCH 07/23] updated tests --- num2words/lang_TR.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/num2words/lang_TR.py b/num2words/lang_TR.py index 3f43fed..df1f7cd 100644 --- a/num2words/lang_TR.py +++ b/num2words/lang_TR.py @@ -830,6 +830,8 @@ class Num2Word_TR(object): found = 1 def to_currency(self, value): + if int(value) == 0: + return self.ZERO + self.CURRENCY_UNIT[0] valueparts = self.to_cardinal(value).split(self.pointword) if len(valueparts) == 1: return valueparts[0] + self.CURRENCY_UNIT[0] From 12ef620b29740496a04decc1bb7c374c07eb75dc Mon Sep 17 00:00:00 2001 From: Tufan Kaynak <31142607+toofun666@users.noreply.github.com> Date: Fri, 13 Dec 2019 16:49:40 +0300 Subject: [PATCH 08/23] updated tests --- num2words/lang_TR.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/num2words/lang_TR.py b/num2words/lang_TR.py index df1f7cd..a53495c 100644 --- a/num2words/lang_TR.py +++ b/num2words/lang_TR.py @@ -831,7 +831,7 @@ class Num2Word_TR(object): def to_currency(self, value): if int(value) == 0: - return self.ZERO + self.CURRENCY_UNIT[0] + return self.CURRENCY_UNIT[0].join(self.ZERO) valueparts = self.to_cardinal(value).split(self.pointword) if len(valueparts) == 1: return valueparts[0] + self.CURRENCY_UNIT[0] From 8e19dd584bfae906bbd3d9f8a6df1ee56cd44dd1 Mon Sep 17 00:00:00 2001 From: Tufan Kaynak <31142607+toofun666@users.noreply.github.com> Date: Fri, 13 Dec 2019 16:59:02 +0300 Subject: [PATCH 09/23] updated tests --- num2words/lang_TR.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/num2words/lang_TR.py b/num2words/lang_TR.py index a53495c..097c2b6 100644 --- a/num2words/lang_TR.py +++ b/num2words/lang_TR.py @@ -24,8 +24,8 @@ class Num2Word_TR(object): self.precision = 2 self.negword = u"eksi" self.pointword = u"virgül" - self.CURRENCY_UNIT = (u"lira",) - self.CURRENCY_SUBUNIT = (u"kuruş",) + self.CURRENCY_UNIT = u"lira" + self.CURRENCY_SUBUNIT = u"kuruş" self.errmsg_nonnum = u"Sadece sayılar yazıya çevrilebilir." self.errmsg_floatord = u"Tam sayı olmayan {} sıralamada kullanılamaz." self.errmsg_negord = u"Pozitif olmayan {} sıralamada kullanılamaz." @@ -831,10 +831,10 @@ class Num2Word_TR(object): def to_currency(self, value): if int(value) == 0: - return self.CURRENCY_UNIT[0].join(self.ZERO) + return self.CURRENCY_UNIT.join(self.ZERO) valueparts = self.to_cardinal(value).split(self.pointword) if len(valueparts) == 1: - return valueparts[0] + self.CURRENCY_UNIT[0] + return valueparts[0] + self.CURRENCY_UNIT if len(valueparts) == 2: - return self.CURRENCY_UNIT[0].join(valueparts) + \ - self.CURRENCY_SUBUNIT[0] + return self.CURRENCY_UNIT.join(valueparts) + \ + self.CURRENCY_SUBUNIT From 1514514ed997c9d6b7e1d8f922c4cf5a3d57da07 Mon Sep 17 00:00:00 2001 From: Tufan Kaynak <31142607+toofun666@users.noreply.github.com> Date: Fri, 13 Dec 2019 17:06:07 +0300 Subject: [PATCH 10/23] updated tests --- num2words/lang_TR.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/num2words/lang_TR.py b/num2words/lang_TR.py index 097c2b6..8acc712 100644 --- a/num2words/lang_TR.py +++ b/num2words/lang_TR.py @@ -831,7 +831,7 @@ class Num2Word_TR(object): def to_currency(self, value): if int(value) == 0: - return self.CURRENCY_UNIT.join(self.ZERO) + return "{}{}".format(self.CURRENCY_UNIT, self.ZERO) valueparts = self.to_cardinal(value).split(self.pointword) if len(valueparts) == 1: return valueparts[0] + self.CURRENCY_UNIT From 0b22ac19503d46693b3f8e2472a6b4b4821c629d Mon Sep 17 00:00:00 2001 From: Tufan Kaynak <31142607+toofun666@users.noreply.github.com> Date: Fri, 13 Dec 2019 17:11:07 +0300 Subject: [PATCH 11/23] updated tests --- num2words/lang_TR.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/num2words/lang_TR.py b/num2words/lang_TR.py index 8acc712..31660db 100644 --- a/num2words/lang_TR.py +++ b/num2words/lang_TR.py @@ -34,7 +34,7 @@ class Num2Word_TR(object): self.exclude_title = [] self.DECIMAL_SIGN = (",",) self.ORDINAL_SIGN = (".",) - self.ZERO = (u"sıfır",) + self.ZERO = u"sıfır" self.CARDINAL_ONES = { "1": u"bir", "2": u"iki", From 7c6a7161659c069b31691438cfd131a3be07a0f0 Mon Sep 17 00:00:00 2001 From: Tufan Kaynak <31142607+toofun666@users.noreply.github.com> Date: Fri, 13 Dec 2019 17:12:13 +0300 Subject: [PATCH 12/23] updated tests --- num2words/lang_TR.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/num2words/lang_TR.py b/num2words/lang_TR.py index 31660db..48477f6 100644 --- a/num2words/lang_TR.py +++ b/num2words/lang_TR.py @@ -32,8 +32,8 @@ class Num2Word_TR(object): self.errmsg_toobig = u"abs({}) sayı yazıya çevirmek için çok büyük. " \ u"Yazıya çevrilebilecek en büyük rakam {}." self.exclude_title = [] - self.DECIMAL_SIGN = (",",) - self.ORDINAL_SIGN = (".",) + self.DECIMAL_SIGN = "," + self.ORDINAL_SIGN = "." self.ZERO = u"sıfır" self.CARDINAL_ONES = { "1": u"bir", @@ -444,7 +444,7 @@ class Num2Word_TR(object): wrd += self.CARDINAL_ONES.get(self.integers_to_read[1][1], "") if self.integers_to_read[0] == "0": - wrd = self.ZERO[0] + wrd + wrd = self.ZERO + wrd else: wrd = self.to_cardinal(int(self.integers_to_read[0])) + wrd return wrd From 2c629f8349a13f2122fa951212a6faba9941b209 Mon Sep 17 00:00:00 2001 From: Tufan Kaynak <31142607+toofun666@users.noreply.github.com> Date: Fri, 13 Dec 2019 17:16:02 +0300 Subject: [PATCH 13/23] updated tests --- num2words/lang_TR.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/num2words/lang_TR.py b/num2words/lang_TR.py index 48477f6..bed34f5 100644 --- a/num2words/lang_TR.py +++ b/num2words/lang_TR.py @@ -831,7 +831,7 @@ class Num2Word_TR(object): def to_currency(self, value): if int(value) == 0: - return "{}{}".format(self.CURRENCY_UNIT, self.ZERO) + return "{}{}".format(self.ZERO, self.CURRENCY_UNIT) valueparts = self.to_cardinal(value).split(self.pointword) if len(valueparts) == 1: return valueparts[0] + self.CURRENCY_UNIT From 2fae9512ce6063865168b53c709cd6f9f8d7fd53 Mon Sep 17 00:00:00 2001 From: Tufan Kaynak <31142607+toofun666@users.noreply.github.com> Date: Fri, 13 Dec 2019 17:26:26 +0300 Subject: [PATCH 14/23] updated tests --- tests/test_tr.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/test_tr.py b/tests/test_tr.py index 6d169f5..7eabcd5 100644 --- a/tests/test_tr.py +++ b/tests/test_tr.py @@ -194,15 +194,15 @@ class Num2WordsTRTest(TestCase): ) 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'birvirgülyirmi') - self.assertEqual(num2words(1.3, lang="tr", to="ordinal"), u'birvirgülotuz') + 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'üçbin') + 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üzyirmibin') + 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'birmilyonikibiniki') - self.assertEqual(num2words(1003000, lang="tr", to="ordinal"), u'birmilyonüçbin') + 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üzbin') - self.assertEqual(num2words(1200000, lang="tr", to="ordinal"), u'birmilyonikiyüzbin') + self.assertEqual(num2words(1200000, lang="tr", to="ordinal"), u'birmilyonikiyüzbininci') From f5c07d714da3880ac85ec7f923decefe7aefc9e5 Mon Sep 17 00:00:00 2001 From: Tufan Kaynak <31142607+toofun666@users.noreply.github.com> Date: Fri, 13 Dec 2019 17:35:32 +0300 Subject: [PATCH 15/23] updated tests --- tests/test_tr.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_tr.py b/tests/test_tr.py index 7eabcd5..875cf7f 100644 --- a/tests/test_tr.py +++ b/tests/test_tr.py @@ -204,5 +204,5 @@ class Num2WordsTRTest(TestCase): 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üzbin') + self.assertEqual(num2words(1100000, lang="tr", to="currency"), u'birmilyonyüzbinlira') self.assertEqual(num2words(1200000, lang="tr", to="ordinal"), u'birmilyonikiyüzbininci') From a7971f11561eb52375ea4901502fe53f8c31e3e9 Mon Sep 17 00:00:00 2001 From: Tufan Kaynak <31142607+toofun666@users.noreply.github.com> Date: Fri, 13 Dec 2019 18:46:34 +0300 Subject: [PATCH 16/23] updated tests --- num2words/lang_TR.py | 2 +- tests/test_tr.py | 296 +++++++++++++++++-------------------------- 2 files changed, 117 insertions(+), 181 deletions(-) diff --git a/num2words/lang_TR.py b/num2words/lang_TR.py index bed34f5..51f415b 100644 --- a/num2words/lang_TR.py +++ b/num2words/lang_TR.py @@ -831,7 +831,7 @@ class Num2Word_TR(object): def to_currency(self, value): if int(value) == 0: - return "{}{}".format(self.ZERO, self.CURRENCY_UNIT) + return u"bedelsiz" valueparts = self.to_cardinal(value).split(self.pointword) if len(valueparts) == 1: return valueparts[0] + self.CURRENCY_UNIT diff --git a/tests/test_tr.py b/tests/test_tr.py index 875cf7f..aa0e5dc 100644 --- a/tests/test_tr.py +++ b/tests/test_tr.py @@ -25,184 +25,120 @@ class Num2WordsTRTest(TestCase): def test_tr(self): # ref https://github.com/savoirfairelinux/num2words/issues/8 - self.assertEqual(num2words(1, lang="tr", to="ordinal"), u"birinci") - self.assertEqual(num2words(2, lang="tr", to="ordinal"), u"ikinci") - self.assertEqual(num2words(9, lang="tr", to="ordinal"), u"dokuzuncu") - self.assertEqual(num2words(10, lang="tr", to="ordinal"), u"onuncu") - self.assertEqual(num2words(11, lang="tr", to="ordinal"), u"onbirinci") - self.assertEqual(num2words(44, lang="tr", to="ordinal"), u"kırkdördüncü") - self.assertEqual(num2words(100, lang="tr", to="ordinal"), u"yüzüncü") - self.assertEqual(num2words(101, lang="tr", to="ordinal"), u"yüzbirinci") - self.assertEqual(num2words(103, lang="tr", to="ordinal"), u"yüzüçüncü") - self.assertEqual(num2words(110, lang="tr", to="ordinal"), u"yüzonuncu") - self.assertEqual(num2words(111, lang="tr", to="ordinal"), u"yüzonbirinci") - self.assertEqual(num2words(1000, lang="tr", to="ordinal"), u"bininci") - self.assertEqual(num2words(1001, lang="tr", to="ordinal"), u"binbirinci") - self.assertEqual(num2words(1010, lang="tr", to="ordinal"), u"binonuncu") - self.assertEqual(num2words(1011, lang="tr", to="ordinal"), u"binonbirinci") - self.assertEqual(num2words(1100, lang="tr", to="ordinal"), u"binyüzüncü") - self.assertEqual(num2words(1110, lang="tr", to="ordinal"), u"binyüzonuncu") - self.assertEqual( - num2words(2341, lang="tr", to="ordinal"), u"ikibinüçyüzkırkbirinci" - ) - self.assertEqual(num2words(10000, lang="tr", to="ordinal"), u"onbininci") - self.assertEqual(num2words(10010, lang="tr", to="ordinal"), u"onbinonuncu") - self.assertEqual(num2words(10100, lang="tr", to="ordinal"), u"onbinyüzüncü") - self.assertEqual(num2words(10110, lang="tr", to="ordinal"), u"onbinyüzonuncu") - self.assertEqual(num2words(11000, lang="tr", to="ordinal"), u"onbirbininci") - self.assertEqual(num2words(35000, lang="tr", to="ordinal"), u"otuzbeşbininci") - self.assertEqual( - num2words(116331, lang="tr", to="ordinal"), u"yüzonaltıbinüçyüzotuzbirinci" - ) - self.assertEqual( - num2words(116330, lang="tr", to="ordinal"), u"yüzonaltıbinüçyüzotuzuncu" - ) - self.assertEqual(num2words(100000, lang="tr", to="ordinal"), u"yüzbininci") - self.assertEqual(num2words(501000, lang="tr", to="ordinal"), u"beşyüzbirbininci") - self.assertEqual( - num2words(1000111, lang="tr", to="ordinal"), u"birmilyonyüzonbirinci" - ) - self.assertEqual( - num2words(111000111, lang="tr", to="ordinal"), u"yüzonbirmilyonyüzonbirinci" - ) - self.assertEqual( - num2words(111001111, lang="tr", to="ordinal"), u"yüzonbirmilyonbinyüzonbirinci" - ) - self.assertEqual( - num2words(111111111, lang="tr", to="ordinal"), - u"yüzonbirmilyonyüzonbirbinyüzonbirinci" - ) - self.assertEqual(num2words(100001000, lang="tr", to="ordinal"), u"yüzmilyonbininci") - self.assertEqual( - num2words(100001001, lang="tr", to="ordinal"), u"yüzmilyonbinbirinci" - ) - self.assertEqual( - num2words(100010000, lang="tr", to="ordinal"), u"yüzmilyononbininci" - ) - self.assertEqual( - num2words(100010001, lang="tr", to="ordinal"), u"yüzmilyononbinbirinci" - ) - self.assertEqual( - num2words(100011000, lang="tr", to="ordinal"), u"yüzmilyononbirbininci" - ) - self.assertEqual( - num2words(100011001, lang="tr", to="ordinal"), u"yüzmilyononbirbinbirinci" - ) - self.assertEqual( - num2words(101011001, lang="tr", to="ordinal"), u"yüzbirmilyononbirbinbirinci" - ) - self.assertEqual( - num2words(101011010, lang="tr", to="ordinal"), u"yüzbirmilyononbirbinonuncu" - ) - self.assertEqual( - num2words(1101011010, lang="tr", to="ordinal"), - u"birmilyaryüzbirmilyononbirbinonuncu" - ) - self.assertEqual( - num2words(101101011010, lang="tr", to="ordinal"), - u"yüzbirmilyaryüzbirmilyononbirbinonuncu" - ) - self.assertEqual( - num2words(1000000000001, lang="tr", to="ordinal"), u"birtrilyonbirinci" - ) + testcases = [ + {"number": 0, "lang": "tr", "to": "currency", "response": u"bedelsiz"}, + {"number": 1.1, "lang": "tr", "to": "currency", "response": u"birliraonkuruş"}, + {"number": 2000, "lang": "tr", "to": "currency", "response": u"ikibinlira"}, + {"number": 110000, "lang": "tr", "to": "currency", "response": u"yüzonbinlira"}, + {"number": 1002000, "lang": "tr", "to": "currency", "response": u"birmilyonikibinlira"}, + {"number": 1002001, "lang": "tr", "to": "currency", "response": u"birmilyonikibinbirlira"}, + {"number": 1100000, "lang": "tr", "to": "currency", "response": u"birmilyonyüzbinlira"}, + {"number": 1, "lang": "tr", "to": "ordinal", "response": u"birinci"}, + {"number": 2, "lang": "tr", "to": "ordinal", "response": u"ikinci"}, + {"number": 9, "lang": "tr", "to": "ordinal", "response": u"dokuzuncu"}, + {"number": 10, "lang": "tr", "to": "ordinal", "response": u"onuncu"}, + {"number": 11, "lang": "tr", "to": "ordinal", "response": u"onbirinci"}, + {"number": 44, "lang": "tr", "to": "ordinal", "response": u"kırkdördüncü"}, + {"number": 100, "lang": "tr", "to": "ordinal", "response": u"yüzüncü"}, + {"number": 101, "lang": "tr", "to": "ordinal", "response": u"yüzbirinci"}, + {"number": 103, "lang": "tr", "to": "ordinal", "response": u"yüzüçüncü"}, + {"number": 110, "lang": "tr", "to": "ordinal", "response": u"yüzonuncu"}, + {"number": 111, "lang": "tr", "to": "ordinal", "response": u"yüzonbirinci"}, + {"number": 1000, "lang": "tr", "to": "ordinal", "response": u"bininci"}, + {"number": 1001, "lang": "tr", "to": "ordinal", "response": u"binbirinci"}, + {"number": 1010, "lang": "tr", "to": "ordinal", "response": u"binonuncu"}, + {"number": 1011, "lang": "tr", "to": "ordinal", "response": u"binonbirinci"}, + {"number": 1100, "lang": "tr", "to": "ordinal", "response": u"binyüzüncü"}, + {"number": 1110, "lang": "tr", "to": "ordinal", "response": u"binyüzonuncu"}, + {"number": 2341, "lang": "tr", "to": "ordinal", "response": u"ikibinüçyüzkırkbirinci"}, + {"number": 10000, "lang": "tr", "to": "ordinal", "response": u"onbininci"}, + {"number": 10010, "lang": "tr", "to": "ordinal", "response": u"onbinonuncu"}, + {"number": 10100, "lang": "tr", "to": "ordinal", "response": u"onbinyüzüncü"}, + {"number": 10110, "lang": "tr", "to": "ordinal", "response": u"onbinyüzonuncu"}, + {"number": 11000, "lang": "tr", "to": "ordinal", "response": u"onbirbininci"}, + {"number": 35000, "lang": "tr", "to": "ordinal", "response": u"otuzbeşbininci"}, + {"number": 116331, "lang": "tr", "to": "ordinal", "response": u"yüzonaltıbinüçyüzotuzbirinci"}, + {"number": 116330, "lang": "tr", "to": "ordinal", "response": u"yüzonaltıbinüçyüzotuzuncu"}, + {"number": 100000, "lang": "tr", "to": "ordinal", "response": u"yüzbininci"}, + {"number": 501000, "lang": "tr", "to": "ordinal", "response": u"beşyüzbirbininci"}, + {"number": 1000111, "lang": "tr", "to": "ordinal", "response": u"birmilyonyüzonbirinci"}, + {"number": 111000111, "lang": "tr", "to": "ordinal", "response": 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"}, + {"number": 100001000, "lang": "tr", "to": "ordinal", "response": u"yüzmilyonbininci"}, + {"number": 100001001, "lang": "tr", "to": "ordinal", "response": u"yüzmilyonbinbirinci"}, + {"number": 100010000, "lang": "tr", "to": "ordinal", "response": u"yüzmilyononbininci"}, + {"number": 100010001, "lang": "tr", "to": "ordinal", "response": u"yüzmilyononbinbirinci"}, + {"number": 100011000, "lang": "tr", "to": "ordinal", "response": u"yüzmilyononbirbininci"}, + {"number": 100011001, "lang": "tr", "to": "ordinal", "response": u"yüzmilyononbirbinbirinci"}, + {"number": 101011001, "lang": "tr", "to": "ordinal", "response": u"yüzbirmilyononbirbinbirinci"}, + {"number": 101011010, "lang": "tr", "to": "ordinal", "response": u"yüzbirmilyononbirbinonuncu"}, + {"number": 1101011010, "lang": "tr", "to": "ordinal", "response": u"birmilyaryüzbirmilyononbirbinonuncu"}, + {"number": 101101011010, "lang": "tr", "to": "ordinal", + "response": u"yüzbirmilyaryüzbirmilyononbirbinonuncu"}, + {"number": 1000000000001, "lang": "tr", "to": "ordinal", "response": u"birtrilyonbirinci"}, + {"number": 1.2, "lang": "tr", "to": "ordinal", "response": u""}, + {"number": 1.3, "lang": "tr", "to": "ordinal", "response": u""}, + {"number": 3000, "lang": "tr", "to": "ordinal", "response": u"üçbininci"}, + {"number": 120000, "lang": "tr", "to": "ordinal", "response": u"yüzyirmibininci"}, + {"number": 1002002, "lang": "tr", "to": "ordinal", "response": u"birmilyonikibinikinci"}, + {"number": 1003000, "lang": "tr", "to": "ordinal", "response": u"birmilyonüçbininci"}, + {"number": 1200000, "lang": "tr", "to": "ordinal", "response": u"birmilyonikiyüzbininci"}, + {"number": 1, "lang": "tr", "to": "cardinal", "response": u"bir"}, + {"number": 2, "lang": "tr", "to": "cardinal", "response": u"iki"}, + {"number": 9, "lang": "tr", "to": "cardinal", "response": u"dokuz"}, + {"number": 10, "lang": "tr", "to": "cardinal", "response": u"on"}, + {"number": 11, "lang": "tr", "to": "cardinal", "response": u"onbir"}, + {"number": 44, "lang": "tr", "to": "cardinal", "response": u"kırkdört"}, + {"number": 100, "lang": "tr", "to": "cardinal", "response": u"yüz"}, + {"number": 101, "lang": "tr", "to": "cardinal", "response": u"yüzbir"}, + {"number": 103, "lang": "tr", "to": "cardinal", "response": u"yüzüç"}, + {"number": 110, "lang": "tr", "to": "cardinal", "response": u"yüzon"}, + {"number": 111, "lang": "tr", "to": "cardinal", "response": u"yüzonbir"}, + {"number": 1000, "lang": "tr", "to": "cardinal", "response": u"bin"}, + {"number": 1001, "lang": "tr", "to": "cardinal", "response": u"binbir"}, + {"number": 1010, "lang": "tr", "to": "cardinal", "response": u"binon"}, + {"number": 1011, "lang": "tr", "to": "cardinal", "response": u"binonbir"}, + {"number": 1100, "lang": "tr", "to": "cardinal", "response": u"binyüz"}, + {"number": 1110, "lang": "tr", "to": "cardinal", "response": u"binyüzon"}, + {"number": 2341, "lang": "tr", "to": "cardinal", "response": u"ikibinüçyüzkırkbir"}, + {"number": 10000, "lang": "tr", "to": "cardinal", "response": u"onbin"}, + {"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") - self.assertEqual(num2words(2, lang="tr", to="cardinal"), u"iki") - 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') + for casedata in testcases: + self.assertEqual(num2words(casedata.number, lang=casedata.lang, to=casedata.to), casedata.response) From 739f02d83010921cb30f05bb0ddb0ab1b3ca4530 Mon Sep 17 00:00:00 2001 From: Tufan Kaynak <31142607+toofun666@users.noreply.github.com> Date: Fri, 13 Dec 2019 18:55:38 +0300 Subject: [PATCH 17/23] updated tests --- tests/test_tr.py | 222 +++++++++++++++++++++++------------------------ 1 file changed, 111 insertions(+), 111 deletions(-) diff --git a/tests/test_tr.py b/tests/test_tr.py index aa0e5dc..9737d63 100644 --- a/tests/test_tr.py +++ b/tests/test_tr.py @@ -26,119 +26,119 @@ class Num2WordsTRTest(TestCase): # ref https://github.com/savoirfairelinux/num2words/issues/8 testcases = [ - {"number": 0, "lang": "tr", "to": "currency", "response": u"bedelsiz"}, - {"number": 1.1, "lang": "tr", "to": "currency", "response": u"birliraonkuruş"}, - {"number": 2000, "lang": "tr", "to": "currency", "response": u"ikibinlira"}, - {"number": 110000, "lang": "tr", "to": "currency", "response": u"yüzonbinlira"}, - {"number": 1002000, "lang": "tr", "to": "currency", "response": u"birmilyonikibinlira"}, - {"number": 1002001, "lang": "tr", "to": "currency", "response": u"birmilyonikibinbirlira"}, - {"number": 1100000, "lang": "tr", "to": "currency", "response": u"birmilyonyüzbinlira"}, - {"number": 1, "lang": "tr", "to": "ordinal", "response": u"birinci"}, - {"number": 2, "lang": "tr", "to": "ordinal", "response": u"ikinci"}, - {"number": 9, "lang": "tr", "to": "ordinal", "response": u"dokuzuncu"}, - {"number": 10, "lang": "tr", "to": "ordinal", "response": u"onuncu"}, - {"number": 11, "lang": "tr", "to": "ordinal", "response": u"onbirinci"}, - {"number": 44, "lang": "tr", "to": "ordinal", "response": u"kırkdördüncü"}, - {"number": 100, "lang": "tr", "to": "ordinal", "response": u"yüzüncü"}, - {"number": 101, "lang": "tr", "to": "ordinal", "response": u"yüzbirinci"}, - {"number": 103, "lang": "tr", "to": "ordinal", "response": u"yüzüçüncü"}, - {"number": 110, "lang": "tr", "to": "ordinal", "response": u"yüzonuncu"}, - {"number": 111, "lang": "tr", "to": "ordinal", "response": u"yüzonbirinci"}, - {"number": 1000, "lang": "tr", "to": "ordinal", "response": u"bininci"}, - {"number": 1001, "lang": "tr", "to": "ordinal", "response": u"binbirinci"}, - {"number": 1010, "lang": "tr", "to": "ordinal", "response": u"binonuncu"}, - {"number": 1011, "lang": "tr", "to": "ordinal", "response": u"binonbirinci"}, - {"number": 1100, "lang": "tr", "to": "ordinal", "response": u"binyüzüncü"}, - {"number": 1110, "lang": "tr", "to": "ordinal", "response": u"binyüzonuncu"}, - {"number": 2341, "lang": "tr", "to": "ordinal", "response": u"ikibinüçyüzkırkbirinci"}, - {"number": 10000, "lang": "tr", "to": "ordinal", "response": u"onbininci"}, - {"number": 10010, "lang": "tr", "to": "ordinal", "response": u"onbinonuncu"}, - {"number": 10100, "lang": "tr", "to": "ordinal", "response": u"onbinyüzüncü"}, - {"number": 10110, "lang": "tr", "to": "ordinal", "response": u"onbinyüzonuncu"}, - {"number": 11000, "lang": "tr", "to": "ordinal", "response": u"onbirbininci"}, - {"number": 35000, "lang": "tr", "to": "ordinal", "response": u"otuzbeşbininci"}, - {"number": 116331, "lang": "tr", "to": "ordinal", "response": u"yüzonaltıbinüçyüzotuzbirinci"}, - {"number": 116330, "lang": "tr", "to": "ordinal", "response": u"yüzonaltıbinüçyüzotuzuncu"}, - {"number": 100000, "lang": "tr", "to": "ordinal", "response": u"yüzbininci"}, - {"number": 501000, "lang": "tr", "to": "ordinal", "response": u"beşyüzbirbininci"}, - {"number": 1000111, "lang": "tr", "to": "ordinal", "response": u"birmilyonyüzonbirinci"}, - {"number": 111000111, "lang": "tr", "to": "ordinal", "response": 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"}, - {"number": 100001000, "lang": "tr", "to": "ordinal", "response": u"yüzmilyonbininci"}, - {"number": 100001001, "lang": "tr", "to": "ordinal", "response": u"yüzmilyonbinbirinci"}, - {"number": 100010000, "lang": "tr", "to": "ordinal", "response": u"yüzmilyononbininci"}, - {"number": 100010001, "lang": "tr", "to": "ordinal", "response": u"yüzmilyononbinbirinci"}, - {"number": 100011000, "lang": "tr", "to": "ordinal", "response": u"yüzmilyononbirbininci"}, - {"number": 100011001, "lang": "tr", "to": "ordinal", "response": u"yüzmilyononbirbinbirinci"}, - {"number": 101011001, "lang": "tr", "to": "ordinal", "response": u"yüzbirmilyononbirbinbirinci"}, - {"number": 101011010, "lang": "tr", "to": "ordinal", "response": u"yüzbirmilyononbirbinonuncu"}, - {"number": 1101011010, "lang": "tr", "to": "ordinal", "response": u"birmilyaryüzbirmilyononbirbinonuncu"}, - {"number": 101101011010, "lang": "tr", "to": "ordinal", + {"test": 0, "lang": "tr", "to": "currency", "expected": u"bedelsiz"}, + {"test": 1.1, "lang": "tr", "to": "currency", "expected": u"birliraonkuruş"}, + {"test": 2000, "lang": "tr", "to": "currency", "expected": u"ikibinlira"}, + {"test": 110000, "lang": "tr", "to": "currency", "expected": u"yüzonbinlira"}, + {"test": 1002000, "lang": "tr", "to": "currency", "expected": u"birmilyonikibinlira"}, + {"test": 1002001, "lang": "tr", "to": "currency", "expected": u"birmilyonikibinbirlira"}, + {"test": 1100000, "lang": "tr", "to": "currency", "expected": u"birmilyonyüzbinlira"}, + {"test": 1, "lang": "tr", "to": "ordinal", "expected": u"birinci"}, + {"test": 2, "lang": "tr", "to": "ordinal", "expected": u"ikinci"}, + {"test": 9, "lang": "tr", "to": "ordinal", "expected": u"dokuzuncu"}, + {"test": 10, "lang": "tr", "to": "ordinal", "expected": u"onuncu"}, + {"test": 11, "lang": "tr", "to": "ordinal", "expected": u"onbirinci"}, + {"test": 44, "lang": "tr", "to": "ordinal", "expected": u"kırkdördüncü"}, + {"test": 100, "lang": "tr", "to": "ordinal", "expected": u"yüzüncü"}, + {"test": 101, "lang": "tr", "to": "ordinal", "expected": u"yüzbirinci"}, + {"test": 103, "lang": "tr", "to": "ordinal", "expected": u"yüzüçüncü"}, + {"test": 110, "lang": "tr", "to": "ordinal", "expected": u"yüzonuncu"}, + {"test": 111, "lang": "tr", "to": "ordinal", "expected": u"yüzonbirinci"}, + {"test": 1000, "lang": "tr", "to": "ordinal", "expected": u"bininci"}, + {"test": 1001, "lang": "tr", "to": "ordinal", "expected": u"binbirinci"}, + {"test": 1010, "lang": "tr", "to": "ordinal", "expected": u"binonuncu"}, + {"test": 1011, "lang": "tr", "to": "ordinal", "expected": u"binonbirinci"}, + {"test": 1100, "lang": "tr", "to": "ordinal", "expected": u"binyüzüncü"}, + {"test": 1110, "lang": "tr", "to": "ordinal", "expected": u"binyüzonuncu"}, + {"test": 2341, "lang": "tr", "to": "ordinal", "expected": u"ikibinüçyüzkırkbirinci"}, + {"test": 10000, "lang": "tr", "to": "ordinal", "expected": u"onbininci"}, + {"test": 10010, "lang": "tr", "to": "ordinal", "expected": u"onbinonuncu"}, + {"test": 10100, "lang": "tr", "to": "ordinal", "expected": u"onbinyüzüncü"}, + {"test": 10110, "lang": "tr", "to": "ordinal", "expected": u"onbinyüzonuncu"}, + {"test": 11000, "lang": "tr", "to": "ordinal", "expected": u"onbirbininci"}, + {"test": 35000, "lang": "tr", "to": "ordinal", "expected": u"otuzbeşbininci"}, + {"test": 116331, "lang": "tr", "to": "ordinal", "expected": u"yüzonaltıbinüçyüzotuzbirinci"}, + {"test": 116330, "lang": "tr", "to": "ordinal", "expected": u"yüzonaltıbinüçyüzotuzuncu"}, + {"test": 100000, "lang": "tr", "to": "ordinal", "expected": u"yüzbininci"}, + {"test": 501000, "lang": "tr", "to": "ordinal", "expected": u"beşyüzbirbininci"}, + {"test": 1000111, "lang": "tr", "to": "ordinal", "expected": u"birmilyonyüzonbirinci"}, + {"test": 111000111, "lang": "tr", "to": "ordinal", "expected": u"yüzonbirmilyonyüzonbirinci"}, + {"test": 111001111, "lang": "tr", "to": "ordinal", "expected": u"yüzonbirmilyonbinyüzonbirinci"}, + {"test": 111111111, "lang": "tr", "to": "ordinal", "expected": u"yüzonbirmilyonyüzonbirbinyüzonbirinci"}, + {"test": 100001000, "lang": "tr", "to": "ordinal", "expected": u"yüzmilyonbininci"}, + {"test": 100001001, "lang": "tr", "to": "ordinal", "expected": u"yüzmilyonbinbirinci"}, + {"test": 100010000, "lang": "tr", "to": "ordinal", "expected": u"yüzmilyononbininci"}, + {"test": 100010001, "lang": "tr", "to": "ordinal", "expected": u"yüzmilyononbinbirinci"}, + {"test": 100011000, "lang": "tr", "to": "ordinal", "expected": u"yüzmilyononbirbininci"}, + {"test": 100011001, "lang": "tr", "to": "ordinal", "expected": u"yüzmilyononbirbinbirinci"}, + {"test": 101011001, "lang": "tr", "to": "ordinal", "expected": u"yüzbirmilyononbirbinbirinci"}, + {"test": 101011010, "lang": "tr", "to": "ordinal", "expected": u"yüzbirmilyononbirbinonuncu"}, + {"test": 1101011010, "lang": "tr", "to": "ordinal", "expected": u"birmilyaryüzbirmilyononbirbinonuncu"}, + {"test": 101101011010, "lang": "tr", "to": "ordinal", "response": u"yüzbirmilyaryüzbirmilyononbirbinonuncu"}, - {"number": 1000000000001, "lang": "tr", "to": "ordinal", "response": u"birtrilyonbirinci"}, - {"number": 1.2, "lang": "tr", "to": "ordinal", "response": u""}, - {"number": 1.3, "lang": "tr", "to": "ordinal", "response": u""}, - {"number": 3000, "lang": "tr", "to": "ordinal", "response": u"üçbininci"}, - {"number": 120000, "lang": "tr", "to": "ordinal", "response": u"yüzyirmibininci"}, - {"number": 1002002, "lang": "tr", "to": "ordinal", "response": u"birmilyonikibinikinci"}, - {"number": 1003000, "lang": "tr", "to": "ordinal", "response": u"birmilyonüçbininci"}, - {"number": 1200000, "lang": "tr", "to": "ordinal", "response": u"birmilyonikiyüzbininci"}, - {"number": 1, "lang": "tr", "to": "cardinal", "response": u"bir"}, - {"number": 2, "lang": "tr", "to": "cardinal", "response": u"iki"}, - {"number": 9, "lang": "tr", "to": "cardinal", "response": u"dokuz"}, - {"number": 10, "lang": "tr", "to": "cardinal", "response": u"on"}, - {"number": 11, "lang": "tr", "to": "cardinal", "response": u"onbir"}, - {"number": 44, "lang": "tr", "to": "cardinal", "response": u"kırkdört"}, - {"number": 100, "lang": "tr", "to": "cardinal", "response": u"yüz"}, - {"number": 101, "lang": "tr", "to": "cardinal", "response": u"yüzbir"}, - {"number": 103, "lang": "tr", "to": "cardinal", "response": u"yüzüç"}, - {"number": 110, "lang": "tr", "to": "cardinal", "response": u"yüzon"}, - {"number": 111, "lang": "tr", "to": "cardinal", "response": u"yüzonbir"}, - {"number": 1000, "lang": "tr", "to": "cardinal", "response": u"bin"}, - {"number": 1001, "lang": "tr", "to": "cardinal", "response": u"binbir"}, - {"number": 1010, "lang": "tr", "to": "cardinal", "response": u"binon"}, - {"number": 1011, "lang": "tr", "to": "cardinal", "response": u"binonbir"}, - {"number": 1100, "lang": "tr", "to": "cardinal", "response": u"binyüz"}, - {"number": 1110, "lang": "tr", "to": "cardinal", "response": u"binyüzon"}, - {"number": 2341, "lang": "tr", "to": "cardinal", "response": u"ikibinüçyüzkırkbir"}, - {"number": 10000, "lang": "tr", "to": "cardinal", "response": u"onbin"}, - {"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", + {"test": 1000000000001, "lang": "tr", "to": "ordinal", "expected": u"birtrilyonbirinci"}, + {"test": 1.2, "lang": "tr", "to": "ordinal", "expected": u""}, + {"test": 1.3, "lang": "tr", "to": "ordinal", "expected": u""}, + {"test": 3000, "lang": "tr", "to": "ordinal", "expected": u"üçbininci"}, + {"test": 120000, "lang": "tr", "to": "ordinal", "expected": u"yüzyirmibininci"}, + {"test": 1002002, "lang": "tr", "to": "ordinal", "expected": u"birmilyonikibinikinci"}, + {"test": 1003000, "lang": "tr", "to": "ordinal", "expected": u"birmilyonüçbininci"}, + {"test": 1200000, "lang": "tr", "to": "ordinal", "expected": u"birmilyonikiyüzbininci"}, + {"test": 1, "lang": "tr", "to": "cardinal", "expected": u"bir"}, + {"test": 2, "lang": "tr", "to": "cardinal", "expected": u"iki"}, + {"test": 9, "lang": "tr", "to": "cardinal", "expected": u"dokuz"}, + {"test": 10, "lang": "tr", "to": "cardinal", "expected": u"on"}, + {"test": 11, "lang": "tr", "to": "cardinal", "expected": u"onbir"}, + {"test": 44, "lang": "tr", "to": "cardinal", "expected": u"kırkdört"}, + {"test": 100, "lang": "tr", "to": "cardinal", "expected": u"yüz"}, + {"test": 101, "lang": "tr", "to": "cardinal", "expected": u"yüzbir"}, + {"test": 103, "lang": "tr", "to": "cardinal", "expected": u"yüzüç"}, + {"test": 110, "lang": "tr", "to": "cardinal", "expected": u"yüzon"}, + {"test": 111, "lang": "tr", "to": "cardinal", "expected": u"yüzonbir"}, + {"test": 1000, "lang": "tr", "to": "cardinal", "expected": u"bin"}, + {"test": 1001, "lang": "tr", "to": "cardinal", "expected": u"binbir"}, + {"test": 1010, "lang": "tr", "to": "cardinal", "expected": u"binon"}, + {"test": 1011, "lang": "tr", "to": "cardinal", "expected": u"binonbir"}, + {"test": 1100, "lang": "tr", "to": "cardinal", "expected": u"binyüz"}, + {"test": 1110, "lang": "tr", "to": "cardinal", "expected": u"binyüzon"}, + {"test": 2341, "lang": "tr", "to": "cardinal", "expected": u"ikibinüçyüzkırkbir"}, + {"test": 10000, "lang": "tr", "to": "cardinal", "expected": u"onbin"}, + {"test": 10010, "lang": "tr", "to": "cardinal", "expected": u"onbinon"}, + {"test": 10100, "lang": "tr", "to": "cardinal", "expected": u"onbinyüz"}, + {"test": 10110, "lang": "tr", "to": "cardinal", "expected": u"onbinyüzon"}, + {"test": 11000, "lang": "tr", "to": "cardinal", "expected": u"onbirbin"}, + {"test": 35000, "lang": "tr", "to": "cardinal", "expected": u"otuzbeşbin"}, + {"test": 116331, "lang": "tr", "to": "cardinal", "expected": u"yüzonaltıbinüçyüzotuzbir"}, + {"test": 116330, "lang": "tr", "to": "cardinal", "expected": u"yüzonaltıbinüçyüzotuz"}, + {"test": 500000, "lang": "tr", "to": "cardinal", "expected": u"beşyüzbin"}, + {"test": 501000, "lang": "tr", "to": "cardinal", "expected": u"beşyüzbirbin"}, + {"test": 1000111, "lang": "tr", "to": "cardinal", "expected": u"birmilyonyüzonbir"}, + {"test": 111000111, "lang": "tr", "to": "cardinal", "expected": u"yüzonbirmilyonyüzonbir"}, + {"test": 111001111, "lang": "tr", "to": "cardinal", "expected": u"yüzonbirmilyonbinyüzonbir"}, + {"test": 111111111, "lang": "tr", "to": "cardinal", "expected": u"yüzonbirmilyonyüzonbirbinyüzonbir"}, + {"test": 100001000, "lang": "tr", "to": "cardinal", "expected": u"yüzmilyonbin"}, + {"test": 100001001, "lang": "tr", "to": "cardinal", "expected": u"yüzmilyonbinbir"}, + {"test": 100010000, "lang": "tr", "to": "cardinal", "expected": u"yüzmilyononbin"}, + {"test": 100010001, "lang": "tr", "to": "cardinal", "expected": u"yüzmilyononbinbir"}, + {"test": 100011000, "lang": "tr", "to": "cardinal", "expected": u"yüzmilyononbirbin"}, + {"test": 100011001, "lang": "tr", "to": "cardinal", "expected": u"yüzmilyononbirbinbir"}, + {"test": 101011001, "lang": "tr", "to": "cardinal", "expected": u"yüzbirmilyononbirbinbir"}, + {"test": 101011010, "lang": "tr", "to": "cardinal", "expected": u"yüzbirmilyononbirbinon"}, + {"test": 1101011010, "lang": "tr", "to": "cardinal", "expected": u"birmilyaryüzbirmilyononbirbinon"}, + {"test": 101101011010, "lang": "tr", "to": "cardinal", "expected": u"yüzbirmilyaryüzbirmilyononbirbinon"}, + {"test": 100001001, "lang": "tr", "to": "cardinal", "expected": u"yüzmilyonbinbir"}, + {"test": 1000000000001, "lang": "tr", "to": "cardinal", "expected": u"yüzmilyonbinbir"}, + {"test": 0.01, "lang": "tr", "to": "cardinal", "expected": u"sıfırvirgülbir"}, + {"test": 0.21, "lang": "tr", "to": "cardinal", "expected": u"sıfırvirgülyirmibir"}, + {"test": 0.1, "lang": "tr", "to": "cardinal", "expected": u"sıfırvirgülon"}, + {"test": 1.01, "lang": "tr", "to": "cardinal", "expected": u"birvirgülbir"}, + {"test": 1.1, "lang": "tr", "to": "cardinal", "expected": u"birvirgülon"}, + {"test": 1.21, "lang": "tr", "to": "cardinal", "expected": u"birvirgülyirmibir"}, + {"test": 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"}, + {"test": 101101011010.2, "lang": "tr", "to": "cardinal", + "response": u"yüzbirmilyaryüzbirmilyononbirbinonvirgülyirmi"} ] for casedata in testcases: - self.assertEqual(num2words(casedata.number, lang=casedata.lang, to=casedata.to), casedata.response) + self.assertEqual(num2words(casedata.test, lang=casedata.lang, to=casedata.to), casedata.expected) From 6a4e9550498a6684ab476b571de264fd3397f12c Mon Sep 17 00:00:00 2001 From: Tufan Kaynak <31142607+toofun666@users.noreply.github.com> Date: Fri, 13 Dec 2019 19:02:02 +0300 Subject: [PATCH 18/23] updated tests --- tests/test_tr.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/test_tr.py b/tests/test_tr.py index 9737d63..e715875 100644 --- a/tests/test_tr.py +++ b/tests/test_tr.py @@ -141,4 +141,5 @@ class Num2WordsTRTest(TestCase): ] for casedata in testcases: - self.assertEqual(num2words(casedata.test, lang=casedata.lang, to=casedata.to), casedata.expected) + self.assertEqual(num2words(casedata["test"], lang=casedata["lang"], to=casedata["to"]), + casedata["expected"]) From fe0bc1adbd19e25875bb9feb6ea8c85ab88c6e66 Mon Sep 17 00:00:00 2001 From: Tufan Kaynak <31142607+toofun666@users.noreply.github.com> Date: Fri, 13 Dec 2019 19:06:36 +0300 Subject: [PATCH 19/23] updated tests --- tests/test_tr.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/test_tr.py b/tests/test_tr.py index e715875..0295fb2 100644 --- a/tests/test_tr.py +++ b/tests/test_tr.py @@ -75,7 +75,7 @@ class Num2WordsTRTest(TestCase): {"test": 101011010, "lang": "tr", "to": "ordinal", "expected": u"yüzbirmilyononbirbinonuncu"}, {"test": 1101011010, "lang": "tr", "to": "ordinal", "expected": u"birmilyaryüzbirmilyononbirbinonuncu"}, {"test": 101101011010, "lang": "tr", "to": "ordinal", - "response": u"yüzbirmilyaryüzbirmilyononbirbinonuncu"}, + "expected": u"yüzbirmilyaryüzbirmilyononbirbinonuncu"}, {"test": 1000000000001, "lang": "tr", "to": "ordinal", "expected": u"birtrilyonbirinci"}, {"test": 1.2, "lang": "tr", "to": "ordinal", "expected": u""}, {"test": 1.3, "lang": "tr", "to": "ordinal", "expected": u""}, @@ -135,9 +135,9 @@ class Num2WordsTRTest(TestCase): {"test": 1.1, "lang": "tr", "to": "cardinal", "expected": u"birvirgülon"}, {"test": 1.21, "lang": "tr", "to": "cardinal", "expected": u"birvirgülyirmibir"}, {"test": 101101011010.02, "lang": "tr", "to": "cardinal", - "response": u"yüzbirmilyaryüzbirmilyononbirbinonvirgüliki"}, + "expected": u"yüzbirmilyaryüzbirmilyononbirbinonvirgüliki"}, {"test": 101101011010.2, "lang": "tr", "to": "cardinal", - "response": u"yüzbirmilyaryüzbirmilyononbirbinonvirgülyirmi"} + "expected": u"yüzbirmilyaryüzbirmilyononbirbinonvirgülyirmi"} ] for casedata in testcases: From 3da9fd87058c5e41d3966bb0156f3a77a15c4282 Mon Sep 17 00:00:00 2001 From: Tufan Kaynak <31142607+toofun666@users.noreply.github.com> Date: Fri, 13 Dec 2019 19:08:49 +0300 Subject: [PATCH 20/23] updated tests --- tests/test_tr.py | 226 +++++++++++++++++++++++------------------------ 1 file changed, 111 insertions(+), 115 deletions(-) diff --git a/tests/test_tr.py b/tests/test_tr.py index 0295fb2..b6bae54 100644 --- a/tests/test_tr.py +++ b/tests/test_tr.py @@ -24,122 +24,118 @@ from num2words import num2words class Num2WordsTRTest(TestCase): def test_tr(self): # ref https://github.com/savoirfairelinux/num2words/issues/8 - + testlang = "tr" testcases = [ - {"test": 0, "lang": "tr", "to": "currency", "expected": u"bedelsiz"}, - {"test": 1.1, "lang": "tr", "to": "currency", "expected": u"birliraonkuruş"}, - {"test": 2000, "lang": "tr", "to": "currency", "expected": u"ikibinlira"}, - {"test": 110000, "lang": "tr", "to": "currency", "expected": u"yüzonbinlira"}, - {"test": 1002000, "lang": "tr", "to": "currency", "expected": u"birmilyonikibinlira"}, - {"test": 1002001, "lang": "tr", "to": "currency", "expected": u"birmilyonikibinbirlira"}, - {"test": 1100000, "lang": "tr", "to": "currency", "expected": u"birmilyonyüzbinlira"}, - {"test": 1, "lang": "tr", "to": "ordinal", "expected": u"birinci"}, - {"test": 2, "lang": "tr", "to": "ordinal", "expected": u"ikinci"}, - {"test": 9, "lang": "tr", "to": "ordinal", "expected": u"dokuzuncu"}, - {"test": 10, "lang": "tr", "to": "ordinal", "expected": u"onuncu"}, - {"test": 11, "lang": "tr", "to": "ordinal", "expected": u"onbirinci"}, - {"test": 44, "lang": "tr", "to": "ordinal", "expected": u"kırkdördüncü"}, - {"test": 100, "lang": "tr", "to": "ordinal", "expected": u"yüzüncü"}, - {"test": 101, "lang": "tr", "to": "ordinal", "expected": u"yüzbirinci"}, - {"test": 103, "lang": "tr", "to": "ordinal", "expected": u"yüzüçüncü"}, - {"test": 110, "lang": "tr", "to": "ordinal", "expected": u"yüzonuncu"}, - {"test": 111, "lang": "tr", "to": "ordinal", "expected": u"yüzonbirinci"}, - {"test": 1000, "lang": "tr", "to": "ordinal", "expected": u"bininci"}, - {"test": 1001, "lang": "tr", "to": "ordinal", "expected": u"binbirinci"}, - {"test": 1010, "lang": "tr", "to": "ordinal", "expected": u"binonuncu"}, - {"test": 1011, "lang": "tr", "to": "ordinal", "expected": u"binonbirinci"}, - {"test": 1100, "lang": "tr", "to": "ordinal", "expected": u"binyüzüncü"}, - {"test": 1110, "lang": "tr", "to": "ordinal", "expected": u"binyüzonuncu"}, - {"test": 2341, "lang": "tr", "to": "ordinal", "expected": u"ikibinüçyüzkırkbirinci"}, - {"test": 10000, "lang": "tr", "to": "ordinal", "expected": u"onbininci"}, - {"test": 10010, "lang": "tr", "to": "ordinal", "expected": u"onbinonuncu"}, - {"test": 10100, "lang": "tr", "to": "ordinal", "expected": u"onbinyüzüncü"}, - {"test": 10110, "lang": "tr", "to": "ordinal", "expected": u"onbinyüzonuncu"}, - {"test": 11000, "lang": "tr", "to": "ordinal", "expected": u"onbirbininci"}, - {"test": 35000, "lang": "tr", "to": "ordinal", "expected": u"otuzbeşbininci"}, - {"test": 116331, "lang": "tr", "to": "ordinal", "expected": u"yüzonaltıbinüçyüzotuzbirinci"}, - {"test": 116330, "lang": "tr", "to": "ordinal", "expected": u"yüzonaltıbinüçyüzotuzuncu"}, - {"test": 100000, "lang": "tr", "to": "ordinal", "expected": u"yüzbininci"}, - {"test": 501000, "lang": "tr", "to": "ordinal", "expected": u"beşyüzbirbininci"}, - {"test": 1000111, "lang": "tr", "to": "ordinal", "expected": u"birmilyonyüzonbirinci"}, - {"test": 111000111, "lang": "tr", "to": "ordinal", "expected": u"yüzonbirmilyonyüzonbirinci"}, - {"test": 111001111, "lang": "tr", "to": "ordinal", "expected": u"yüzonbirmilyonbinyüzonbirinci"}, - {"test": 111111111, "lang": "tr", "to": "ordinal", "expected": u"yüzonbirmilyonyüzonbirbinyüzonbirinci"}, - {"test": 100001000, "lang": "tr", "to": "ordinal", "expected": u"yüzmilyonbininci"}, - {"test": 100001001, "lang": "tr", "to": "ordinal", "expected": u"yüzmilyonbinbirinci"}, - {"test": 100010000, "lang": "tr", "to": "ordinal", "expected": u"yüzmilyononbininci"}, - {"test": 100010001, "lang": "tr", "to": "ordinal", "expected": u"yüzmilyononbinbirinci"}, - {"test": 100011000, "lang": "tr", "to": "ordinal", "expected": u"yüzmilyononbirbininci"}, - {"test": 100011001, "lang": "tr", "to": "ordinal", "expected": u"yüzmilyononbirbinbirinci"}, - {"test": 101011001, "lang": "tr", "to": "ordinal", "expected": u"yüzbirmilyononbirbinbirinci"}, - {"test": 101011010, "lang": "tr", "to": "ordinal", "expected": u"yüzbirmilyononbirbinonuncu"}, - {"test": 1101011010, "lang": "tr", "to": "ordinal", "expected": u"birmilyaryüzbirmilyononbirbinonuncu"}, - {"test": 101101011010, "lang": "tr", "to": "ordinal", - "expected": u"yüzbirmilyaryüzbirmilyononbirbinonuncu"}, - {"test": 1000000000001, "lang": "tr", "to": "ordinal", "expected": u"birtrilyonbirinci"}, - {"test": 1.2, "lang": "tr", "to": "ordinal", "expected": u""}, - {"test": 1.3, "lang": "tr", "to": "ordinal", "expected": u""}, - {"test": 3000, "lang": "tr", "to": "ordinal", "expected": u"üçbininci"}, - {"test": 120000, "lang": "tr", "to": "ordinal", "expected": u"yüzyirmibininci"}, - {"test": 1002002, "lang": "tr", "to": "ordinal", "expected": u"birmilyonikibinikinci"}, - {"test": 1003000, "lang": "tr", "to": "ordinal", "expected": u"birmilyonüçbininci"}, - {"test": 1200000, "lang": "tr", "to": "ordinal", "expected": u"birmilyonikiyüzbininci"}, - {"test": 1, "lang": "tr", "to": "cardinal", "expected": u"bir"}, - {"test": 2, "lang": "tr", "to": "cardinal", "expected": u"iki"}, - {"test": 9, "lang": "tr", "to": "cardinal", "expected": u"dokuz"}, - {"test": 10, "lang": "tr", "to": "cardinal", "expected": u"on"}, - {"test": 11, "lang": "tr", "to": "cardinal", "expected": u"onbir"}, - {"test": 44, "lang": "tr", "to": "cardinal", "expected": u"kırkdört"}, - {"test": 100, "lang": "tr", "to": "cardinal", "expected": u"yüz"}, - {"test": 101, "lang": "tr", "to": "cardinal", "expected": u"yüzbir"}, - {"test": 103, "lang": "tr", "to": "cardinal", "expected": u"yüzüç"}, - {"test": 110, "lang": "tr", "to": "cardinal", "expected": u"yüzon"}, - {"test": 111, "lang": "tr", "to": "cardinal", "expected": u"yüzonbir"}, - {"test": 1000, "lang": "tr", "to": "cardinal", "expected": u"bin"}, - {"test": 1001, "lang": "tr", "to": "cardinal", "expected": u"binbir"}, - {"test": 1010, "lang": "tr", "to": "cardinal", "expected": u"binon"}, - {"test": 1011, "lang": "tr", "to": "cardinal", "expected": u"binonbir"}, - {"test": 1100, "lang": "tr", "to": "cardinal", "expected": u"binyüz"}, - {"test": 1110, "lang": "tr", "to": "cardinal", "expected": u"binyüzon"}, - {"test": 2341, "lang": "tr", "to": "cardinal", "expected": u"ikibinüçyüzkırkbir"}, - {"test": 10000, "lang": "tr", "to": "cardinal", "expected": u"onbin"}, - {"test": 10010, "lang": "tr", "to": "cardinal", "expected": u"onbinon"}, - {"test": 10100, "lang": "tr", "to": "cardinal", "expected": u"onbinyüz"}, - {"test": 10110, "lang": "tr", "to": "cardinal", "expected": u"onbinyüzon"}, - {"test": 11000, "lang": "tr", "to": "cardinal", "expected": u"onbirbin"}, - {"test": 35000, "lang": "tr", "to": "cardinal", "expected": u"otuzbeşbin"}, - {"test": 116331, "lang": "tr", "to": "cardinal", "expected": u"yüzonaltıbinüçyüzotuzbir"}, - {"test": 116330, "lang": "tr", "to": "cardinal", "expected": u"yüzonaltıbinüçyüzotuz"}, - {"test": 500000, "lang": "tr", "to": "cardinal", "expected": u"beşyüzbin"}, - {"test": 501000, "lang": "tr", "to": "cardinal", "expected": u"beşyüzbirbin"}, - {"test": 1000111, "lang": "tr", "to": "cardinal", "expected": u"birmilyonyüzonbir"}, - {"test": 111000111, "lang": "tr", "to": "cardinal", "expected": u"yüzonbirmilyonyüzonbir"}, - {"test": 111001111, "lang": "tr", "to": "cardinal", "expected": u"yüzonbirmilyonbinyüzonbir"}, - {"test": 111111111, "lang": "tr", "to": "cardinal", "expected": u"yüzonbirmilyonyüzonbirbinyüzonbir"}, - {"test": 100001000, "lang": "tr", "to": "cardinal", "expected": u"yüzmilyonbin"}, - {"test": 100001001, "lang": "tr", "to": "cardinal", "expected": u"yüzmilyonbinbir"}, - {"test": 100010000, "lang": "tr", "to": "cardinal", "expected": u"yüzmilyononbin"}, - {"test": 100010001, "lang": "tr", "to": "cardinal", "expected": u"yüzmilyononbinbir"}, - {"test": 100011000, "lang": "tr", "to": "cardinal", "expected": u"yüzmilyononbirbin"}, - {"test": 100011001, "lang": "tr", "to": "cardinal", "expected": u"yüzmilyononbirbinbir"}, - {"test": 101011001, "lang": "tr", "to": "cardinal", "expected": u"yüzbirmilyononbirbinbir"}, - {"test": 101011010, "lang": "tr", "to": "cardinal", "expected": u"yüzbirmilyononbirbinon"}, - {"test": 1101011010, "lang": "tr", "to": "cardinal", "expected": u"birmilyaryüzbirmilyononbirbinon"}, - {"test": 101101011010, "lang": "tr", "to": "cardinal", "expected": u"yüzbirmilyaryüzbirmilyononbirbinon"}, - {"test": 100001001, "lang": "tr", "to": "cardinal", "expected": u"yüzmilyonbinbir"}, - {"test": 1000000000001, "lang": "tr", "to": "cardinal", "expected": u"yüzmilyonbinbir"}, - {"test": 0.01, "lang": "tr", "to": "cardinal", "expected": u"sıfırvirgülbir"}, - {"test": 0.21, "lang": "tr", "to": "cardinal", "expected": u"sıfırvirgülyirmibir"}, - {"test": 0.1, "lang": "tr", "to": "cardinal", "expected": u"sıfırvirgülon"}, - {"test": 1.01, "lang": "tr", "to": "cardinal", "expected": u"birvirgülbir"}, - {"test": 1.1, "lang": "tr", "to": "cardinal", "expected": u"birvirgülon"}, - {"test": 1.21, "lang": "tr", "to": "cardinal", "expected": u"birvirgülyirmibir"}, - {"test": 101101011010.02, "lang": "tr", "to": "cardinal", - "expected": u"yüzbirmilyaryüzbirmilyononbirbinonvirgüliki"}, - {"test": 101101011010.2, "lang": "tr", "to": "cardinal", - "expected": u"yüzbirmilyaryüzbirmilyononbirbinonvirgülyirmi"} + {"test": 0, "to": "currency", "expected": u"bedelsiz"}, + {"test": 1.1, "to": "currency", "expected": u"birliraonkuruş"}, + {"test": 2000, "to": "currency", "expected": u"ikibinlira"}, + {"test": 110000, "to": "currency", "expected": u"yüzonbinlira"}, + {"test": 1002000, "to": "currency", "expected": u"birmilyonikibinlira"}, + {"test": 1002001, "to": "currency", "expected": u"birmilyonikibinbirlira"}, + {"test": 1100000, "to": "currency", "expected": u"birmilyonyüzbinlira"}, + {"test": 1, "to": "ordinal", "expected": u"birinci"}, + {"test": 2, "to": "ordinal", "expected": u"ikinci"}, + {"test": 9, "to": "ordinal", "expected": u"dokuzuncu"}, + {"test": 10, "to": "ordinal", "expected": u"onuncu"}, + {"test": 11, "to": "ordinal", "expected": u"onbirinci"}, + {"test": 44, "to": "ordinal", "expected": u"kırkdördüncü"}, + {"test": 100, "to": "ordinal", "expected": u"yüzüncü"}, + {"test": 101, "to": "ordinal", "expected": u"yüzbirinci"}, + {"test": 103, "to": "ordinal", "expected": u"yüzüçüncü"}, + {"test": 110, "to": "ordinal", "expected": u"yüzonuncu"}, + {"test": 111, "to": "ordinal", "expected": u"yüzonbirinci"}, + {"test": 1000, "to": "ordinal", "expected": u"bininci"}, + {"test": 1001, "to": "ordinal", "expected": u"binbirinci"}, + {"test": 1010, "to": "ordinal", "expected": u"binonuncu"}, + {"test": 1011, "to": "ordinal", "expected": u"binonbirinci"}, + {"test": 1100, "to": "ordinal", "expected": u"binyüzüncü"}, + {"test": 1110, "to": "ordinal", "expected": u"binyüzonuncu"}, + {"test": 2341, "to": "ordinal", "expected": u"ikibinüçyüzkırkbirinci"}, + {"test": 10000, "to": "ordinal", "expected": u"onbininci"}, + {"test": 10010, "to": "ordinal", "expected": u"onbinonuncu"}, + {"test": 10100, "to": "ordinal", "expected": u"onbinyüzüncü"}, + {"test": 10110, "to": "ordinal", "expected": u"onbinyüzonuncu"}, + {"test": 11000, "to": "ordinal", "expected": u"onbirbininci"}, + {"test": 35000, "to": "ordinal", "expected": u"otuzbeşbininci"}, + {"test": 116331, "to": "ordinal", "expected": u"yüzonaltıbinüçyüzotuzbirinci"}, + {"test": 116330, "to": "ordinal", "expected": u"yüzonaltıbinüçyüzotuzuncu"}, + {"test": 100000, "to": "ordinal", "expected": u"yüzbininci"}, + {"test": 501000, "to": "ordinal", "expected": u"beşyüzbirbininci"}, + {"test": 1000111, "to": "ordinal", "expected": u"birmilyonyüzonbirinci"}, + {"test": 111000111, "to": "ordinal", "expected": u"yüzonbirmilyonyüzonbirinci"}, + {"test": 111001111, "to": "ordinal", "expected": u"yüzonbirmilyonbinyüzonbirinci"}, + {"test": 111111111, "to": "ordinal", "expected": u"yüzonbirmilyonyüzonbirbinyüzonbirinci"}, + {"test": 100001000, "to": "ordinal", "expected": u"yüzmilyonbininci"}, + {"test": 100001001, "to": "ordinal", "expected": u"yüzmilyonbinbirinci"}, + {"test": 100010000, "to": "ordinal", "expected": u"yüzmilyononbininci"}, + {"test": 100010001, "to": "ordinal", "expected": u"yüzmilyononbinbirinci"}, + {"test": 100011000, "to": "ordinal", "expected": u"yüzmilyononbirbininci"}, + {"test": 100011001, "to": "ordinal", "expected": u"yüzmilyononbirbinbirinci"}, + {"test": 101011001, "to": "ordinal", "expected": u"yüzbirmilyononbirbinbirinci"}, + {"test": 101011010, "to": "ordinal", "expected": u"yüzbirmilyononbirbinonuncu"}, + {"test": 1101011010, "to": "ordinal", "expected": u"birmilyaryüzbirmilyononbirbinonuncu"}, + {"test": 101101011010, "to": "ordinal", "expected": u"yüzbirmilyaryüzbirmilyononbirbinonuncu"}, + {"test": 1000000000001, "to": "ordinal", "expected": u"birtrilyonbirinci"}, + {"test": 1.2, "to": "ordinal", "expected": u""}, + {"test": 1.3, "to": "ordinal", "expected": u""}, + {"test": 3000, "to": "ordinal", "expected": u"üçbininci"}, + {"test": 120000, "to": "ordinal", "expected": u"yüzyirmibininci"}, + {"test": 1002002, "to": "ordinal", "expected": u"birmilyonikibinikinci"}, + {"test": 1003000, "to": "ordinal", "expected": u"birmilyonüçbininci"}, + {"test": 1200000, "to": "ordinal", "expected": u"birmilyonikiyüzbininci"}, + {"test": 1, "to": "cardinal", "expected": u"bir"}, + {"test": 2, "to": "cardinal", "expected": u"iki"}, + {"test": 9, "to": "cardinal", "expected": u"dokuz"}, + {"test": 10, "to": "cardinal", "expected": u"on"}, + {"test": 11, "to": "cardinal", "expected": u"onbir"}, + {"test": 44, "to": "cardinal", "expected": u"kırkdört"}, + {"test": 100, "to": "cardinal", "expected": u"yüz"}, + {"test": 101, "to": "cardinal", "expected": u"yüzbir"}, + {"test": 103, "to": "cardinal", "expected": u"yüzüç"}, + {"test": 110, "to": "cardinal", "expected": u"yüzon"}, + {"test": 111, "to": "cardinal", "expected": u"yüzonbir"}, + {"test": 1000, "to": "cardinal", "expected": u"bin"}, + {"test": 1001, "to": "cardinal", "expected": u"binbir"}, + {"test": 1010, "to": "cardinal", "expected": u"binon"}, + {"test": 1011, "to": "cardinal", "expected": u"binonbir"}, + {"test": 1100, "to": "cardinal", "expected": u"binyüz"}, + {"test": 1110, "to": "cardinal", "expected": u"binyüzon"}, + {"test": 2341, "to": "cardinal", "expected": u"ikibinüçyüzkırkbir"}, + {"test": 10000, "to": "cardinal", "expected": u"onbin"}, + {"test": 10010, "to": "cardinal", "expected": u"onbinon"}, + {"test": 10100, "to": "cardinal", "expected": u"onbinyüz"}, + {"test": 10110, "to": "cardinal", "expected": u"onbinyüzon"}, + {"test": 11000, "to": "cardinal", "expected": u"onbirbin"}, + {"test": 35000, "to": "cardinal", "expected": u"otuzbeşbin"}, + {"test": 116331, "to": "cardinal", "expected": u"yüzonaltıbinüçyüzotuzbir"}, + {"test": 116330, "to": "cardinal", "expected": u"yüzonaltıbinüçyüzotuz"}, + {"test": 500000, "to": "cardinal", "expected": u"beşyüzbin"}, + {"test": 501000, "to": "cardinal", "expected": u"beşyüzbirbin"}, + {"test": 1000111, "to": "cardinal", "expected": u"birmilyonyüzonbir"}, + {"test": 111000111, "to": "cardinal", "expected": u"yüzonbirmilyonyüzonbir"}, + {"test": 111001111, "to": "cardinal", "expected": u"yüzonbirmilyonbinyüzonbir"}, + {"test": 111111111, "to": "cardinal", "expected": u"yüzonbirmilyonyüzonbirbinyüzonbir"}, + {"test": 100001000, "to": "cardinal", "expected": u"yüzmilyonbin"}, + {"test": 100001001, "to": "cardinal", "expected": u"yüzmilyonbinbir"}, + {"test": 100010000, "to": "cardinal", "expected": u"yüzmilyononbin"}, + {"test": 100010001, "to": "cardinal", "expected": u"yüzmilyononbinbir"}, + {"test": 100011000, "to": "cardinal", "expected": u"yüzmilyononbirbin"}, + {"test": 100011001, "to": "cardinal", "expected": u"yüzmilyononbirbinbir"}, + {"test": 101011001, "to": "cardinal", "expected": u"yüzbirmilyononbirbinbir"}, + {"test": 101011010, "to": "cardinal", "expected": u"yüzbirmilyononbirbinon"}, + {"test": 1101011010, "to": "cardinal", "expected": u"birmilyaryüzbirmilyononbirbinon"}, + {"test": 101101011010, "to": "cardinal", "expected": u"yüzbirmilyaryüzbirmilyononbirbinon"}, + {"test": 100001001, "to": "cardinal", "expected": u"yüzmilyonbinbir"}, + {"test": 1000000000001, "to": "cardinal", "expected": u"yüzmilyonbinbir"}, + {"test": 0.01, "to": "cardinal", "expected": u"sıfırvirgülbir"}, + {"test": 0.21, "to": "cardinal", "expected": u"sıfırvirgülyirmibir"}, + {"test": 0.1, "to": "cardinal", "expected": u"sıfırvirgülon"}, + {"test": 1.01, "to": "cardinal", "expected": u"birvirgülbir"}, + {"test": 1.1, "to": "cardinal", "expected": u"birvirgülon"}, + {"test": 1.21, "to": "cardinal", "expected": u"birvirgülyirmibir"}, + {"test": 101101011010.02, "to": "cardinal", "expected": u"yüzbirmilyaryüzbirmilyononbirbinonvirgüliki"}, + {"test": 101101011010.2, "to": "cardinal", "expected": u"yüzbirmilyaryüzbirmilyononbirbinonvirgülyirmi"} ] for casedata in testcases: - self.assertEqual(num2words(casedata["test"], lang=casedata["lang"], to=casedata["to"]), - casedata["expected"]) + self.assertEqual(num2words(casedata["test"], lang=testlang, to=casedata["to"]), casedata["expected"]) From 39ef298626a3b410e0b703d59af5d9c749b00ac2 Mon Sep 17 00:00:00 2001 From: Tufan Kaynak <31142607+toofun666@users.noreply.github.com> Date: Fri, 13 Dec 2019 19:13:41 +0300 Subject: [PATCH 21/23] updated tests --- tests/test_tr.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/test_tr.py b/tests/test_tr.py index b6bae54..c29ecb3 100644 --- a/tests/test_tr.py +++ b/tests/test_tr.py @@ -125,8 +125,7 @@ class Num2WordsTRTest(TestCase): {"test": 101011010, "to": "cardinal", "expected": u"yüzbirmilyononbirbinon"}, {"test": 1101011010, "to": "cardinal", "expected": u"birmilyaryüzbirmilyononbirbinon"}, {"test": 101101011010, "to": "cardinal", "expected": u"yüzbirmilyaryüzbirmilyononbirbinon"}, - {"test": 100001001, "to": "cardinal", "expected": u"yüzmilyonbinbir"}, - {"test": 1000000000001, "to": "cardinal", "expected": u"yüzmilyonbinbir"}, + {"test": 1000000000001, "to": "cardinal", "expected": u"birtrilyonbir"}, {"test": 0.01, "to": "cardinal", "expected": u"sıfırvirgülbir"}, {"test": 0.21, "to": "cardinal", "expected": u"sıfırvirgülyirmibir"}, {"test": 0.1, "to": "cardinal", "expected": u"sıfırvirgülon"}, From 02362578768f8005722b8b00b60cf7613da3d2c6 Mon Sep 17 00:00:00 2001 From: Tufan Kaynak <31142607+toofun666@users.noreply.github.com> Date: Fri, 13 Dec 2019 19:49:39 +0300 Subject: [PATCH 22/23] updated tests --- tests/test_tr.py | 144 +++++++++++++++++++++++++++++++---------------- 1 file changed, 96 insertions(+), 48 deletions(-) diff --git a/tests/test_tr.py b/tests/test_tr.py index c29ecb3..564493a 100644 --- a/tests/test_tr.py +++ b/tests/test_tr.py @@ -30,9 +30,12 @@ class Num2WordsTRTest(TestCase): {"test": 1.1, "to": "currency", "expected": u"birliraonkuruş"}, {"test": 2000, "to": "currency", "expected": u"ikibinlira"}, {"test": 110000, "to": "currency", "expected": u"yüzonbinlira"}, - {"test": 1002000, "to": "currency", "expected": u"birmilyonikibinlira"}, - {"test": 1002001, "to": "currency", "expected": u"birmilyonikibinbirlira"}, - {"test": 1100000, "to": "currency", "expected": u"birmilyonyüzbinlira"}, + {"test": 1002000, "to": "currency", + "expected": u"birmilyonikibinlira"}, + {"test": 1002001, "to": "currency", + "expected": u"birmilyonikibinbirlira"}, + {"test": 1100000, "to": "currency", + "expected": u"birmilyonyüzbinlira"}, {"test": 1, "to": "ordinal", "expected": u"birinci"}, {"test": 2, "to": "ordinal", "expected": u"ikinci"}, {"test": 9, "to": "ordinal", "expected": u"dokuzuncu"}, @@ -50,39 +53,61 @@ class Num2WordsTRTest(TestCase): {"test": 1011, "to": "ordinal", "expected": u"binonbirinci"}, {"test": 1100, "to": "ordinal", "expected": u"binyüzüncü"}, {"test": 1110, "to": "ordinal", "expected": u"binyüzonuncu"}, - {"test": 2341, "to": "ordinal", "expected": u"ikibinüçyüzkırkbirinci"}, + {"test": 2341, "to": "ordinal", + "expected": u"ikibinüçyüzkırkbirinci"}, {"test": 10000, "to": "ordinal", "expected": u"onbininci"}, {"test": 10010, "to": "ordinal", "expected": u"onbinonuncu"}, {"test": 10100, "to": "ordinal", "expected": u"onbinyüzüncü"}, {"test": 10110, "to": "ordinal", "expected": u"onbinyüzonuncu"}, {"test": 11000, "to": "ordinal", "expected": u"onbirbininci"}, {"test": 35000, "to": "ordinal", "expected": u"otuzbeşbininci"}, - {"test": 116331, "to": "ordinal", "expected": u"yüzonaltıbinüçyüzotuzbirinci"}, - {"test": 116330, "to": "ordinal", "expected": u"yüzonaltıbinüçyüzotuzuncu"}, + {"test": 116331, "to": "ordinal", + "expected": u"yüzonaltıbinüçyüzotuzbirinci"}, + {"test": 116330, "to": "ordinal", + "expected": u"yüzonaltıbinüçyüzotuzuncu"}, {"test": 100000, "to": "ordinal", "expected": u"yüzbininci"}, - {"test": 501000, "to": "ordinal", "expected": u"beşyüzbirbininci"}, - {"test": 1000111, "to": "ordinal", "expected": u"birmilyonyüzonbirinci"}, - {"test": 111000111, "to": "ordinal", "expected": u"yüzonbirmilyonyüzonbirinci"}, - {"test": 111001111, "to": "ordinal", "expected": u"yüzonbirmilyonbinyüzonbirinci"}, - {"test": 111111111, "to": "ordinal", "expected": u"yüzonbirmilyonyüzonbirbinyüzonbirinci"}, - {"test": 100001000, "to": "ordinal", "expected": u"yüzmilyonbininci"}, - {"test": 100001001, "to": "ordinal", "expected": u"yüzmilyonbinbirinci"}, - {"test": 100010000, "to": "ordinal", "expected": u"yüzmilyononbininci"}, - {"test": 100010001, "to": "ordinal", "expected": u"yüzmilyononbinbirinci"}, - {"test": 100011000, "to": "ordinal", "expected": u"yüzmilyononbirbininci"}, - {"test": 100011001, "to": "ordinal", "expected": u"yüzmilyononbirbinbirinci"}, - {"test": 101011001, "to": "ordinal", "expected": u"yüzbirmilyononbirbinbirinci"}, - {"test": 101011010, "to": "ordinal", "expected": u"yüzbirmilyononbirbinonuncu"}, - {"test": 1101011010, "to": "ordinal", "expected": u"birmilyaryüzbirmilyononbirbinonuncu"}, - {"test": 101101011010, "to": "ordinal", "expected": u"yüzbirmilyaryüzbirmilyononbirbinonuncu"}, - {"test": 1000000000001, "to": "ordinal", "expected": u"birtrilyonbirinci"}, + {"test": 501000, "to": "ordinal", + "expected": u"beşyüzbirbininci"}, + {"test": 1000111, "to": "ordinal", + "expected": u"birmilyonyüzonbirinci"}, + {"test": 111000111, "to": "ordinal", + "expected": u"yüzonbirmilyonyüzonbirinci"}, + {"test": 111001111, "to": "ordinal", + "expected": u"yüzonbirmilyonbinyüzonbirinci"}, + {"test": 111111111, "to": "ordinal", + "expected": u"yüzonbirmilyonyüzonbirbinyüzonbirinci"}, + {"test": 100001000, "to": "ordinal", + "expected": u"yüzmilyonbininci"}, + {"test": 100001001, "to": "ordinal", + "expected": u"yüzmilyonbinbirinci"}, + {"test": 100010000, "to": "ordinal", + "expected": u"yüzmilyononbininci"}, + {"test": 100010001, "to": "ordinal", + "expected": u"yüzmilyononbinbirinci"}, + {"test": 100011000, "to": "ordinal", + "expected": u"yüzmilyononbirbininci"}, + {"test": 100011001, "to": "ordinal", + "expected": u"yüzmilyononbirbinbirinci"}, + {"test": 101011001, "to": "ordinal", + "expected": u"yüzbirmilyononbirbinbirinci"}, + {"test": 101011010, "to": "ordinal", + "expected": u"yüzbirmilyononbirbinonuncu"}, + {"test": 1101011010, "to": "ordinal", + "expected": u"birmilyaryüzbirmilyononbirbinonuncu"}, + {"test": 101101011010, "to": "ordinal", + "expected": u"yüzbirmilyaryüzbirmilyononbirbinonuncu"}, + {"test": 1000000000001, "to": "ordinal", + "expected": u"birtrilyonbirinci"}, {"test": 1.2, "to": "ordinal", "expected": u""}, {"test": 1.3, "to": "ordinal", "expected": u""}, {"test": 3000, "to": "ordinal", "expected": u"üçbininci"}, {"test": 120000, "to": "ordinal", "expected": u"yüzyirmibininci"}, - {"test": 1002002, "to": "ordinal", "expected": u"birmilyonikibinikinci"}, - {"test": 1003000, "to": "ordinal", "expected": u"birmilyonüçbininci"}, - {"test": 1200000, "to": "ordinal", "expected": u"birmilyonikiyüzbininci"}, + {"test": 1002002, "to": "ordinal", + "expected": u"birmilyonikibinikinci"}, + {"test": 1003000, "to": "ordinal", + "expected": u"birmilyonüçbininci"}, + {"test": 1200000, "to": "ordinal", + "expected": u"birmilyonikiyüzbininci"}, {"test": 1, "to": "cardinal", "expected": u"bir"}, {"test": 2, "to": "cardinal", "expected": u"iki"}, {"test": 9, "to": "cardinal", "expected": u"dokuz"}, @@ -100,41 +125,64 @@ class Num2WordsTRTest(TestCase): {"test": 1011, "to": "cardinal", "expected": u"binonbir"}, {"test": 1100, "to": "cardinal", "expected": u"binyüz"}, {"test": 1110, "to": "cardinal", "expected": u"binyüzon"}, - {"test": 2341, "to": "cardinal", "expected": u"ikibinüçyüzkırkbir"}, + {"test": 2341, "to": "cardinal", + "expected": u"ikibinüçyüzkırkbir"}, {"test": 10000, "to": "cardinal", "expected": u"onbin"}, {"test": 10010, "to": "cardinal", "expected": u"onbinon"}, {"test": 10100, "to": "cardinal", "expected": u"onbinyüz"}, {"test": 10110, "to": "cardinal", "expected": u"onbinyüzon"}, {"test": 11000, "to": "cardinal", "expected": u"onbirbin"}, {"test": 35000, "to": "cardinal", "expected": u"otuzbeşbin"}, - {"test": 116331, "to": "cardinal", "expected": u"yüzonaltıbinüçyüzotuzbir"}, - {"test": 116330, "to": "cardinal", "expected": u"yüzonaltıbinüçyüzotuz"}, + {"test": 116331, "to": "cardinal", + "expected": u"yüzonaltıbinüçyüzotuzbir"}, + {"test": 116330, "to": "cardinal", + "expected": u"yüzonaltıbinüçyüzotuz"}, {"test": 500000, "to": "cardinal", "expected": u"beşyüzbin"}, {"test": 501000, "to": "cardinal", "expected": u"beşyüzbirbin"}, - {"test": 1000111, "to": "cardinal", "expected": u"birmilyonyüzonbir"}, - {"test": 111000111, "to": "cardinal", "expected": u"yüzonbirmilyonyüzonbir"}, - {"test": 111001111, "to": "cardinal", "expected": u"yüzonbirmilyonbinyüzonbir"}, - {"test": 111111111, "to": "cardinal", "expected": u"yüzonbirmilyonyüzonbirbinyüzonbir"}, - {"test": 100001000, "to": "cardinal", "expected": u"yüzmilyonbin"}, - {"test": 100001001, "to": "cardinal", "expected": u"yüzmilyonbinbir"}, - {"test": 100010000, "to": "cardinal", "expected": u"yüzmilyononbin"}, - {"test": 100010001, "to": "cardinal", "expected": u"yüzmilyononbinbir"}, - {"test": 100011000, "to": "cardinal", "expected": u"yüzmilyononbirbin"}, - {"test": 100011001, "to": "cardinal", "expected": u"yüzmilyononbirbinbir"}, - {"test": 101011001, "to": "cardinal", "expected": u"yüzbirmilyononbirbinbir"}, - {"test": 101011010, "to": "cardinal", "expected": u"yüzbirmilyononbirbinon"}, - {"test": 1101011010, "to": "cardinal", "expected": u"birmilyaryüzbirmilyononbirbinon"}, - {"test": 101101011010, "to": "cardinal", "expected": u"yüzbirmilyaryüzbirmilyononbirbinon"}, - {"test": 1000000000001, "to": "cardinal", "expected": u"birtrilyonbir"}, + {"test": 1000111, "to": "cardinal", + "expected": u"birmilyonyüzonbir"}, + {"test": 111000111, "to": "cardinal", + "expected": u"yüzonbirmilyonyüzonbir"}, + {"test": 111001111, "to": "cardinal", + "expected": u"yüzonbirmilyonbinyüzonbir"}, + {"test": 111111111, "to": "cardinal", + "expected": u"yüzonbirmilyonyüzonbirbinyüzonbir"}, + {"test": 100001000, "to": "cardinal", + "expected": u"yüzmilyonbin"}, + {"test": 100001001, "to": "cardinal", + "expected": u"yüzmilyonbinbir"}, + {"test": 100010000, "to": "cardinal", + "expected": u"yüzmilyononbin"}, + {"test": 100010001, "to": "cardinal", + "expected": u"yüzmilyononbinbir"}, + {"test": 100011000, "to": "cardinal", + "expected": u"yüzmilyononbirbin"}, + {"test": 100011001, "to": "cardinal", + "expected": u"yüzmilyononbirbinbir"}, + {"test": 101011001, "to": "cardinal", + "expected": u"yüzbirmilyononbirbinbir"}, + {"test": 101011010, "to": "cardinal", + "expected": u"yüzbirmilyononbirbinon"}, + {"test": 1101011010, "to": "cardinal", + "expected": u"birmilyaryüzbirmilyononbirbinon"}, + {"test": 101101011010, "to": "cardinal", + "expected": u"yüzbirmilyaryüzbirmilyononbirbinon"}, + {"test": 1000000000001, "to": "cardinal", + "expected": u"birtrilyonbir"}, {"test": 0.01, "to": "cardinal", "expected": u"sıfırvirgülbir"}, - {"test": 0.21, "to": "cardinal", "expected": u"sıfırvirgülyirmibir"}, + {"test": 0.21, "to": "cardinal", + "expected": u"sıfırvirgülyirmibir"}, {"test": 0.1, "to": "cardinal", "expected": u"sıfırvirgülon"}, {"test": 1.01, "to": "cardinal", "expected": u"birvirgülbir"}, {"test": 1.1, "to": "cardinal", "expected": u"birvirgülon"}, - {"test": 1.21, "to": "cardinal", "expected": u"birvirgülyirmibir"}, - {"test": 101101011010.02, "to": "cardinal", "expected": u"yüzbirmilyaryüzbirmilyononbirbinonvirgüliki"}, - {"test": 101101011010.2, "to": "cardinal", "expected": u"yüzbirmilyaryüzbirmilyononbirbinonvirgülyirmi"} + {"test": 1.21, "to": "cardinal", + "expected": u"birvirgülyirmibir"}, + {"test": 101101011010.02, "to": "cardinal", + "expected": u"yüzbirmilyaryüzbirmilyononbirbinonvirgüliki"}, + {"test": 101101011010.2, "to": "cardinal", + "expected": u"yüzbirmilyaryüzbirmilyononbirbinonvirgülyirmi"} ] for casedata in testcases: - self.assertEqual(num2words(casedata["test"], lang=testlang, to=casedata["to"]), casedata["expected"]) + self.assertEqual(num2words(casedata["test"], lang=testlang, + to=casedata["to"]), casedata["expected"]) From 234e02dd54dc44414d65a325d7e9d5f5a387204d Mon Sep 17 00:00:00 2001 From: Tufan Kaynak <31142607+toofun666@users.noreply.github.com> Date: Fri, 13 Dec 2019 20:18:59 +0300 Subject: [PATCH 23/23] updated tests --- tests/test_tr.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tests/test_tr.py b/tests/test_tr.py index 564493a..a6fc968 100644 --- a/tests/test_tr.py +++ b/tests/test_tr.py @@ -184,5 +184,8 @@ class Num2WordsTRTest(TestCase): ] for casedata in testcases: - self.assertEqual(num2words(casedata["test"], lang=testlang, - to=casedata["to"]), casedata["expected"]) + self.assertEqual( + num2words(casedata["test"], + lang=testlang, + to=casedata["to"]), + casedata["expected"])