2018-12-05 09:43:45 -05:00
|
|
|
|
# -*- coding: utf-8 -*-
|
2019-05-07 17:04:19 +02:00
|
|
|
|
# Copyright (c) 2017, Tufan Kaynak, Framras. All Rights Reserved.
|
2018-12-05 09:43:45 -05:00
|
|
|
|
# Copyright (c) 2003, Taro Ogawa. All Rights Reserved.
|
2017-08-30 19:36:29 +03:00
|
|
|
|
# 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 unittest import TestCase
|
|
|
|
|
|
|
|
|
|
|
|
from num2words import num2words
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Num2WordsTRTest(TestCase):
|
|
|
|
|
|
def test_tr(self):
|
|
|
|
|
|
# ref https://github.com/savoirfairelinux/num2words/issues/8
|
|
|
|
|
|
|
2019-12-13 16:38:39 +03:00
|
|
|
|
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")
|
2017-10-30 14:06:46 -04:00
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(2341, lang="tr", to="ordinal"), u"ikibinüçyüzkırkbirinci"
|
2017-10-30 14:06:46 -04:00
|
|
|
|
)
|
2019-12-13 16:38:39 +03:00
|
|
|
|
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")
|
2017-10-30 14:06:46 -04:00
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(116331, lang="tr", to="ordinal"), u"yüzonaltıbinüçyüzotuzbirinci"
|
2017-10-30 14:06:46 -04:00
|
|
|
|
)
|
|
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(116330, lang="tr", to="ordinal"), u"yüzonaltıbinüçyüzotuzuncu"
|
2017-10-30 14:06:46 -04:00
|
|
|
|
)
|
2019-12-13 16:38:39 +03:00
|
|
|
|
self.assertEqual(num2words(100000, lang="tr", to="ordinal"), u"yüzbininci")
|
|
|
|
|
|
self.assertEqual(num2words(501000, lang="tr", to="ordinal"), u"beşyüzbirbininci")
|
2017-10-30 14:06:46 -04:00
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(1000111, lang="tr", to="ordinal"), u"birmilyonyüzonbirinci"
|
2017-10-30 14:06:46 -04:00
|
|
|
|
)
|
|
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(111000111, lang="tr", to="ordinal"), u"yüzonbirmilyonyüzonbirinci"
|
2017-10-30 14:06:46 -04:00
|
|
|
|
)
|
|
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(111001111, lang="tr", to="ordinal"), u"yüzonbirmilyonbinyüzonbirinci"
|
2017-10-30 14:06:46 -04:00
|
|
|
|
)
|
|
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(111111111, lang="tr", to="ordinal"),
|
2017-10-30 14:06:46 -04:00
|
|
|
|
u"yüzonbirmilyonyüzonbirbinyüzonbirinci"
|
|
|
|
|
|
)
|
2019-12-13 16:38:39 +03:00
|
|
|
|
self.assertEqual(num2words(100001000, lang="tr", to="ordinal"), u"yüzmilyonbininci")
|
2017-10-30 14:06:46 -04:00
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(100001001, lang="tr", to="ordinal"), u"yüzmilyonbinbirinci"
|
2017-10-30 14:06:46 -04:00
|
|
|
|
)
|
|
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(100010000, lang="tr", to="ordinal"), u"yüzmilyononbininci"
|
2017-10-30 14:06:46 -04:00
|
|
|
|
)
|
|
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(100010001, lang="tr", to="ordinal"), u"yüzmilyononbinbirinci"
|
2017-10-30 14:06:46 -04:00
|
|
|
|
)
|
|
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(100011000, lang="tr", to="ordinal"), u"yüzmilyononbirbininci"
|
2017-10-30 14:06:46 -04:00
|
|
|
|
)
|
|
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(100011001, lang="tr", to="ordinal"), u"yüzmilyononbirbinbirinci"
|
2017-10-30 14:06:46 -04:00
|
|
|
|
)
|
|
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(101011001, lang="tr", to="ordinal"), u"yüzbirmilyononbirbinbirinci"
|
2017-10-30 14:06:46 -04:00
|
|
|
|
)
|
|
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(101011010, lang="tr", to="ordinal"), u"yüzbirmilyononbirbinonuncu"
|
2017-10-30 14:06:46 -04:00
|
|
|
|
)
|
|
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(1101011010, lang="tr", to="ordinal"),
|
2017-10-30 14:06:46 -04:00
|
|
|
|
u"birmilyaryüzbirmilyononbirbinonuncu"
|
|
|
|
|
|
)
|
|
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(101101011010, lang="tr", to="ordinal"),
|
2017-10-30 14:06:46 -04:00
|
|
|
|
u"yüzbirmilyaryüzbirmilyononbirbinonuncu"
|
|
|
|
|
|
)
|
|
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(1000000000001, lang="tr", to="ordinal"), u"birtrilyonbirinci"
|
2017-10-30 14:06:46 -04:00
|
|
|
|
)
|
2017-08-30 19:36:29 +03:00
|
|
|
|
|
2019-12-13 16:38:39 +03:00
|
|
|
|
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"),
|
2017-10-30 14:06:46 -04:00
|
|
|
|
u"yüzonbirmilyonyüzonbirbinyüzonbir"
|
|
|
|
|
|
)
|
2019-12-13 16:38:39 +03:00
|
|
|
|
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")
|
2017-10-30 14:06:46 -04:00
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(100010001, lang="tr", to="cardinal"), u"yüzmilyononbinbir"
|
2017-10-30 14:06:46 -04:00
|
|
|
|
)
|
|
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(100011000, lang="tr", to="cardinal"), u"yüzmilyononbirbin"
|
2017-10-30 14:06:46 -04:00
|
|
|
|
)
|
|
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(100011001, lang="tr", to="cardinal"), u"yüzmilyononbirbinbir"
|
2017-10-30 14:06:46 -04:00
|
|
|
|
)
|
|
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(101011001, lang="tr", to="cardinal"), u"yüzbirmilyononbirbinbir"
|
2017-10-30 14:06:46 -04:00
|
|
|
|
)
|
|
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(101011010, lang="tr", to="cardinal"), u"yüzbirmilyononbirbinon"
|
2017-10-30 14:06:46 -04:00
|
|
|
|
)
|
|
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(1101011010, lang="tr", to="cardinal"),
|
2017-10-30 14:06:46 -04:00
|
|
|
|
u"birmilyaryüzbirmilyononbirbinon"
|
|
|
|
|
|
)
|
|
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(101101011010, lang="tr", to="cardinal"),
|
2017-10-30 14:06:46 -04:00
|
|
|
|
u"yüzbirmilyaryüzbirmilyononbirbinon"
|
|
|
|
|
|
)
|
|
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(1000000000001, lang="tr", to="cardinal"), u"birtrilyonbir"
|
2017-10-30 14:06:46 -04:00
|
|
|
|
)
|
2019-12-13 16:38:39 +03:00
|
|
|
|
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")
|
2017-10-30 14:06:46 -04:00
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(101101011010.02, lang="tr", to="cardinal"),
|
2017-10-30 14:06:46 -04:00
|
|
|
|
u"yüzbirmilyaryüzbirmilyononbirbinonvirgüliki"
|
|
|
|
|
|
)
|
|
|
|
|
|
self.assertEqual(
|
2019-12-13 16:38:39 +03:00
|
|
|
|
num2words(101101011010.2, lang="tr", to="cardinal"),
|
2017-10-30 14:06:46 -04:00
|
|
|
|
u"yüzbirmilyaryüzbirmilyononbirbinonvirgülyirmi"
|
|
|
|
|
|
)
|
2019-12-13 16:38:39 +03:00
|
|
|
|
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')
|