mirror of
https://github.com/bblaz/num2words.git
synced 2025-12-06 06:42:25 +00:00
[IMP] Adds a better test cases.
This commit is contained in:
@@ -12,19 +12,96 @@
|
|||||||
# License along with this library; if not, write to the Free Software
|
# License along with this library; if not, write to the Free Software
|
||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||||
# MA 02110-1301 USA
|
# MA 02110-1301 USA
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from unittest import TestCase
|
from unittest import TestCase
|
||||||
|
|
||||||
from num2words import num2words
|
from num2words import num2words
|
||||||
|
|
||||||
class Num2WordsENTest(TestCase):
|
|
||||||
def test_and_join_199(self):
|
|
||||||
# ref https://github.com/savoirfairelinux/num2words/issues/8
|
|
||||||
self.assertEqual(num2words(199), "ciento noventa y nueve")
|
|
||||||
|
|
||||||
def test_cardinal_for_float_number(self):
|
class Num2WordsESTest(TestCase):
|
||||||
# issue 24
|
|
||||||
self.assertEqual(num2words(12.50), "doce punto cincuenta")
|
def test_number(self):
|
||||||
self.assertEqual(num2words(12.51), "doce punto cincuenta y uno")
|
|
||||||
self.assertEqual(num2words(12.53), "doce punto cincuenta y tres")
|
test_cases = (
|
||||||
self.assertEqual(num2words(12.59), "doce punto cincuenta y nueve")
|
(1,'uno'),
|
||||||
|
(2,'dos'),
|
||||||
|
(3,'tres'),
|
||||||
|
(11,'once'),
|
||||||
|
(12,'doce'),
|
||||||
|
(16,'dieciseis'),
|
||||||
|
(19,'diecinueve'),
|
||||||
|
(20,'veinte'),
|
||||||
|
(21,'veintiuno'),
|
||||||
|
(26,'veintiseis'),
|
||||||
|
(28,'vientiocho'),
|
||||||
|
(30,'treinta'),
|
||||||
|
(31,'treinta y uno'),
|
||||||
|
(40,'treinta y dos'),
|
||||||
|
(43,'treinta y tres'),
|
||||||
|
(50,'cincuenta'),
|
||||||
|
(55,'cincuenta y cinco'),
|
||||||
|
(60,'secenta'),
|
||||||
|
(67,'secenta y siete'),
|
||||||
|
(70,'setenta'),
|
||||||
|
(79,'setenta y nueve'),
|
||||||
|
(100,'cien'),
|
||||||
|
(101,'ciento uno'),
|
||||||
|
(199,'ciento noventa y nueve'),
|
||||||
|
(203,'docientos tres'),
|
||||||
|
(287,'docientos ochenta y siete'),
|
||||||
|
(300,'trecientos'),
|
||||||
|
(356,'trecientos cincuenta y seis'),
|
||||||
|
(410,'cuatrocientos'),
|
||||||
|
(434,'cuatrocientos treinta y cuatro'),
|
||||||
|
(578,'quinientos setenta y ocho'),
|
||||||
|
(689,'seiciento ochenta y nueve'),
|
||||||
|
(729,'setencientos veintinueve'),
|
||||||
|
(894,'ochocientos noventa y cuatro'),
|
||||||
|
(999,'novecientos noventa y nueve'),
|
||||||
|
(1000,'mil'),
|
||||||
|
(1001,'mil uno'),
|
||||||
|
(1097,'mil noventa y siete'),
|
||||||
|
(1104,'mil ciento cuatro'),
|
||||||
|
(1243,'mil docientos cuarenta y tres'),
|
||||||
|
(2385,'dos mil trecientos ochenta y cinco'),
|
||||||
|
(3766,'tresmil setencientos sesenta y seis'),
|
||||||
|
(4196,'cuatromil ciento noventa y seis'),
|
||||||
|
(5846,'cinco mil ochocientos cuarenta y seis'),
|
||||||
|
(6459,'seis mil cuatrocientos cincuenta y nueve'),
|
||||||
|
(7232,'siete mil docientos treinta y dos'),
|
||||||
|
(8569,'ocho mil quinientos sesenta y nueve'),
|
||||||
|
(9539,'nueve mil quinientos treinta y nueve'),
|
||||||
|
(1000000,'un millon'),
|
||||||
|
(1000001,'un millon uno'),
|
||||||
|
# (1000000100,'un miliardocento'), # DOES NOT WORK TODO: FIX
|
||||||
|
)
|
||||||
|
|
||||||
|
for test in test_cases:
|
||||||
|
self.assertEqual(num2words(test[0], lang='es'), test[1])
|
||||||
|
|
||||||
|
def test_ordinal(self):
|
||||||
|
|
||||||
|
test_cases = (
|
||||||
|
(1,'primero'),
|
||||||
|
(8,'octavo'),
|
||||||
|
(12,'decimo segundo'),
|
||||||
|
(14,'decimo cuarto'),
|
||||||
|
(28,'vigesimo octavo'),
|
||||||
|
(100,'centesimo'),
|
||||||
|
)
|
||||||
|
|
||||||
|
for test in test_cases:
|
||||||
|
self.assertEqual(num2words(test[0], lang='es', ordinal=True), test[1])
|
||||||
|
|
||||||
|
def test_currency(self):
|
||||||
|
test_case = (
|
||||||
|
(1, 'una peseta'),
|
||||||
|
(5, 'cinco pesetas'),
|
||||||
|
(18, 'dieciocho pesetas'),
|
||||||
|
(100, 'cien pesetas'),
|
||||||
|
(1000, 'mil pesetas'),
|
||||||
|
)
|
||||||
|
|
||||||
|
for test in test_case:
|
||||||
|
self.assertAlmostEqual(num2words.to_currency(test, lang='es'))
|
||||||
|
|||||||
@@ -13,18 +13,96 @@
|
|||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||||
# MA 02110-1301 USA
|
# MA 02110-1301 USA
|
||||||
|
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from unittest import TestCase
|
from unittest import TestCase
|
||||||
|
|
||||||
from num2words import num2words
|
from num2words import num2words
|
||||||
|
|
||||||
class Num2WordsENTest(TestCase):
|
|
||||||
def test_and_join_199(self):
|
|
||||||
# ref https://github.com/savoirfairelinux/num2words/issues/8
|
|
||||||
self.assertEqual(num2words(199), "ciento noventa y nueve")
|
|
||||||
|
|
||||||
def test_cardinal_for_float_number(self):
|
class Num2WordsESCOTest(TestCase):
|
||||||
# issue 24
|
|
||||||
self.assertEqual(num2words(12.50), "doce punto cincuenta")
|
def test_number(self):
|
||||||
self.assertEqual(num2words(12.51), "doce punto cincuenta y uno")
|
|
||||||
self.assertEqual(num2words(12.53), "doce punto cincuenta y tres")
|
test_cases = (
|
||||||
self.assertEqual(num2words(12.59), "doce punto cincuenta y nueve")
|
(1,'uno'),
|
||||||
|
(2,'dos'),
|
||||||
|
(3,'tres'),
|
||||||
|
(11,'once'),
|
||||||
|
(12,'doce'),
|
||||||
|
(16,'dieciseis'),
|
||||||
|
(19,'diecinueve'),
|
||||||
|
(20,'veinte'),
|
||||||
|
(21,'veintiuno'),
|
||||||
|
(26,'veintiseis'),
|
||||||
|
(28,'vientiocho'),
|
||||||
|
(30,'treinta'),
|
||||||
|
(31,'treinta y uno'),
|
||||||
|
(40,'treinta y dos'),
|
||||||
|
(43,'treinta y tres'),
|
||||||
|
(50,'cincuenta'),
|
||||||
|
(55,'cincuenta y cinco'),
|
||||||
|
(60,'secenta'),
|
||||||
|
(67,'secenta y siete'),
|
||||||
|
(70,'setenta'),
|
||||||
|
(79,'setenta y nueve'),
|
||||||
|
(100,'cien'),
|
||||||
|
(101,'ciento uno'),
|
||||||
|
(199,'ciento noventa y nueve'),
|
||||||
|
(203,'docientos tres'),
|
||||||
|
(287,'docientos ochenta y siete'),
|
||||||
|
(300,'trecientos'),
|
||||||
|
(356,'trecientos cincuenta y seis'),
|
||||||
|
(410,'cuatrocientos'),
|
||||||
|
(434,'cuatrocientos treinta y cuatro'),
|
||||||
|
(578,'quinientos setenta y ocho'),
|
||||||
|
(689,'seiciento ochenta y nueve'),
|
||||||
|
(729,'setencientos veintinueve'),
|
||||||
|
(894,'ochocientos noventa y cuatro'),
|
||||||
|
(999,'novecientos noventa y nueve'),
|
||||||
|
(1000,'mil'),
|
||||||
|
(1001,'mil uno'),
|
||||||
|
(1097,'mil noventa y siete'),
|
||||||
|
(1104,'mil ciento cuatro'),
|
||||||
|
(1243,'mil docientos cuarenta y tres'),
|
||||||
|
(2385,'dos mil trecientos ochenta y cinco'),
|
||||||
|
(3766,'tresmil setencientos sesenta y seis'),
|
||||||
|
(4196,'cuatromil ciento noventa y seis'),
|
||||||
|
(5846,'cinco mil ochocientos cuarenta y seis'),
|
||||||
|
(6459,'seis mil cuatrocientos cincuenta y nueve'),
|
||||||
|
(7232,'siete mil docientos treinta y dos'),
|
||||||
|
(8569,'ocho mil quinientos sesenta y nueve'),
|
||||||
|
(9539,'nueve mil quinientos treinta y nueve'),
|
||||||
|
(1000000,'un millon'),
|
||||||
|
(1000001,'un millon uno'),
|
||||||
|
# (1000000100,'un miliardocento'), # DOES NOT WORK TODO: FIX
|
||||||
|
)
|
||||||
|
|
||||||
|
for test in test_cases:
|
||||||
|
self.assertEqual(num2words(test[0], lang='es_CO'), test[1])
|
||||||
|
|
||||||
|
def test_ordinal(self):
|
||||||
|
|
||||||
|
test_cases = (
|
||||||
|
(1,'primero'),
|
||||||
|
(8,'octavo'),
|
||||||
|
(12,'decimo segundo'),
|
||||||
|
(14,'decimo cuarto'),
|
||||||
|
(28,'vigesimo octavo'),
|
||||||
|
(100,'centesimo'),
|
||||||
|
)
|
||||||
|
|
||||||
|
for test in test_cases:
|
||||||
|
self.assertEqual(num2words(test[0], lang='es_CO', ordinal=True), test[1])
|
||||||
|
|
||||||
|
def test_currency(self):
|
||||||
|
test_case = (
|
||||||
|
(1, 'un peso'),
|
||||||
|
(5, 'cinco pesos'),
|
||||||
|
(18, 'dieciocho pesos'),
|
||||||
|
(100, 'cien pesos'),
|
||||||
|
(1000, 'mil pesos'),
|
||||||
|
)
|
||||||
|
|
||||||
|
for test in test_case:
|
||||||
|
self.assertAlmostEqual(num2words.to_currency(test, lang='es_CO'))
|
||||||
|
|||||||
@@ -13,18 +13,96 @@
|
|||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||||
# MA 02110-1301 USA
|
# MA 02110-1301 USA
|
||||||
|
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
from unittest import TestCase
|
from unittest import TestCase
|
||||||
|
|
||||||
from num2words import num2words
|
from num2words import num2words
|
||||||
|
|
||||||
class Num2WordsENTest(TestCase):
|
|
||||||
def test_and_join_199(self):
|
|
||||||
# ref https://github.com/savoirfairelinux/num2words/issues/8
|
|
||||||
self.assertEqual(num2words(199), "ciento noventa y nueve")
|
|
||||||
|
|
||||||
def test_cardinal_for_float_number(self):
|
class Num2WordsESVETest(TestCase):
|
||||||
# issue 24
|
|
||||||
self.assertEqual(num2words(12.50), "doce punto cincuenta")
|
def test_number(self):
|
||||||
self.assertEqual(num2words(12.51), "doce punto cincuenta y uno")
|
|
||||||
self.assertEqual(num2words(12.53), "doce punto cincuenta y tres")
|
test_cases = (
|
||||||
self.assertEqual(num2words(12.59), "doce punto cincuenta y nueve")
|
(1,'uno'),
|
||||||
|
(2,'dos'),
|
||||||
|
(3,'tres'),
|
||||||
|
(11,'once'),
|
||||||
|
(12,'doce'),
|
||||||
|
(16,'dieciseis'),
|
||||||
|
(19,'diecinueve'),
|
||||||
|
(20,'veinte'),
|
||||||
|
(21,'veintiuno'),
|
||||||
|
(26,'veintiseis'),
|
||||||
|
(28,'vientiocho'),
|
||||||
|
(30,'treinta'),
|
||||||
|
(31,'treinta y uno'),
|
||||||
|
(40,'treinta y dos'),
|
||||||
|
(43,'treinta y tres'),
|
||||||
|
(50,'cincuenta'),
|
||||||
|
(55,'cincuenta y cinco'),
|
||||||
|
(60,'secenta'),
|
||||||
|
(67,'secenta y siete'),
|
||||||
|
(70,'setenta'),
|
||||||
|
(79,'setenta y nueve'),
|
||||||
|
(100,'cien'),
|
||||||
|
(101,'ciento uno'),
|
||||||
|
(199,'ciento noventa y nueve'),
|
||||||
|
(203,'docientos tres'),
|
||||||
|
(287,'docientos ochenta y siete'),
|
||||||
|
(300,'trecientos'),
|
||||||
|
(356,'trecientos cincuenta y seis'),
|
||||||
|
(410,'cuatrocientos'),
|
||||||
|
(434,'cuatrocientos treinta y cuatro'),
|
||||||
|
(578,'quinientos setenta y ocho'),
|
||||||
|
(689,'seiciento ochenta y nueve'),
|
||||||
|
(729,'setencientos veintinueve'),
|
||||||
|
(894,'ochocientos noventa y cuatro'),
|
||||||
|
(999,'novecientos noventa y nueve'),
|
||||||
|
(1000,'mil'),
|
||||||
|
(1001,'mil uno'),
|
||||||
|
(1097,'mil noventa y siete'),
|
||||||
|
(1104,'mil ciento cuatro'),
|
||||||
|
(1243,'mil docientos cuarenta y tres'),
|
||||||
|
(2385,'dos mil trecientos ochenta y cinco'),
|
||||||
|
(3766,'tresmil setencientos sesenta y seis'),
|
||||||
|
(4196,'cuatromil ciento noventa y seis'),
|
||||||
|
(5846,'cinco mil ochocientos cuarenta y seis'),
|
||||||
|
(6459,'seis mil cuatrocientos cincuenta y nueve'),
|
||||||
|
(7232,'siete mil docientos treinta y dos'),
|
||||||
|
(8569,'ocho mil quinientos sesenta y nueve'),
|
||||||
|
(9539,'nueve mil quinientos treinta y nueve'),
|
||||||
|
(1000000,'un millon'),
|
||||||
|
(1000001,'un millon uno'),
|
||||||
|
# (1000000100,'un miliardocento'), # DOES NOT WORK TODO: FIX
|
||||||
|
)
|
||||||
|
|
||||||
|
for test in test_cases:
|
||||||
|
self.assertEqual(num2words(test[0], lang='es_VE'), test[1])
|
||||||
|
|
||||||
|
def test_ordinal(self):
|
||||||
|
|
||||||
|
test_cases = (
|
||||||
|
(1,'primero'),
|
||||||
|
(8,'octavo'),
|
||||||
|
(12,'decimo segundo'),
|
||||||
|
(14,'decimo cuarto'),
|
||||||
|
(28,'vigesimo octavo'),
|
||||||
|
(100,'centesimo'),
|
||||||
|
)
|
||||||
|
|
||||||
|
for test in test_cases:
|
||||||
|
self.assertEqual(num2words(test[0], lang='es_VE', ordinal=True), test[1])
|
||||||
|
|
||||||
|
def test_currency(self):
|
||||||
|
test_case = (
|
||||||
|
(1, 'un bolivar fuerte'),
|
||||||
|
(5, 'cinco bolivares fuertes'),
|
||||||
|
(18, 'dieciocho bolivares fuertes'),
|
||||||
|
(100, 'cien bolivares fuertes'),
|
||||||
|
(1000, 'mil bolivares fuertes'),
|
||||||
|
)
|
||||||
|
|
||||||
|
for test in test_case:
|
||||||
|
self.assertAlmostEqual(num2words.to_currency(test, lang='es_VE'))
|
||||||
|
|||||||
Reference in New Issue
Block a user