[FIX]Fixed typo errors and PEP8 errors.

[DEL]Deleted test_case currency.
This commit is contained in:
José Moreno
2017-03-31 10:53:55 -05:00
parent afcaff8100
commit fb2911deea
4 changed files with 174 additions and 212 deletions

View File

@@ -1,4 +1,4 @@
#encoding: UTF-8
# encoding: UTF-8
# Copyright (c) 2003, Taro Ogawa. All Rights Reserved.
# Copyright (c) 2013, Savoir-faire Linux inc. All Rights Reserved.
@@ -19,16 +19,16 @@
from __future__ import unicode_literals, print_function
from .lang_EU import Num2Word_EU
class Num2Word_ES(Num2Word_EU):
#//CHECK: Is this sufficient??
# //CHECK: Is this sufficient??
def set_high_numwords(self, high):
max = 3 + 6*len(high)
for word, n in zip(high, range(max, 3, -6)):
self.cards[10**(n-3)] = word + "illón"
def setup(self):
lows = ["cuatr", "tr", "b", "m"]
self.high_numwords = self.gen_high_numwords([], [], lows)
@@ -81,7 +81,6 @@ class Num2Word_ES(Num2Word_EU):
1e12 : "trillonésim",
1e15 : "cuadrillonésim" }
def merge(self, curr, next):
ctext, cnum, ntext, nnum = curr + next
@@ -113,7 +112,6 @@ class Num2Word_ES(Num2Word_EU):
return (ctext + ntext, cnum * nnum)
def to_ordinal(self, value):
self.verify_ordinal(value)
text = ""
@@ -151,7 +149,6 @@ class Num2Word_ES(Num2Word_EU):
self.verify_ordinal(value)
return "%s%s" % (value, "º" if self.gender_stem == 'o' else "ª")
def to_currency(self, val, longval=True, old=False):
if old:
return self.to_splitnum(val, hightxt="peso/s", lowtxt="peseta/s",

View File

@@ -1,3 +1,4 @@
# encoding: UTF-8
# Copyright (c) 2013, Savoir-faire Linux inc. All Rights Reserved.
# This library is free software; you can redistribute it and/or
@@ -24,57 +25,56 @@ class Num2WordsESTest(TestCase):
def test_number(self):
test_cases = (
(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
(1, 'uno'),
(2, 'dos'),
(3, 'tres'),
(11, 'once'),
(12, 'doce'),
(16, 'dieciseis'),
(19, 'diecinueve'),
(20, 'veinte'),
(21, 'veintiuno'),
(26, 'veintiséis'),
(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 millón'),
(1000001, 'un millón uno'),
)
for test in test_cases:
@@ -83,25 +83,13 @@ class Num2WordsESTest(TestCase):
def test_ordinal(self):
test_cases = (
(1,'primero'),
(8,'octavo'),
(12,'decimo segundo'),
(14,'decimo cuarto'),
(28,'vigesimo octavo'),
(100,'centesimo'),
(1, 'primero'),
(8, 'octavo'),
(12, 'décimosegundo'),
(14, 'décimo cuarto'),
(28, 'vigésimo octavo'),
(100, 'centésimo'),
)
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'))

View File

@@ -1,3 +1,4 @@
# encoding: UTF-8
# Copyright (c) 2013, Savoir-faire Linux inc. All Rights Reserved.
# This library is free software; you can redistribute it and/or
@@ -25,57 +26,56 @@ class Num2WordsESCOTest(TestCase):
def test_number(self):
test_cases = (
(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
(1, 'uno'),
(2, 'dos'),
(3, 'tres'),
(11, 'once'),
(12, 'doce'),
(16, 'dieciseis'),
(19, 'diecinueve'),
(20, 'veinte'),
(21, 'veintiuno'),
(26, 'veintiséis'),
(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 millón'),
(1000001, 'un millón uno'),
)
for test in test_cases:
@@ -84,25 +84,13 @@ class Num2WordsESCOTest(TestCase):
def test_ordinal(self):
test_cases = (
(1,'primero'),
(8,'octavo'),
(12,'decimo segundo'),
(14,'decimo cuarto'),
(28,'vigesimo octavo'),
(100,'centesimo'),
(1, 'primero'),
(8, 'octavo'),
(12, 'décimo segundo'),
(14, 'décimo cuarto'),
(28, 'vigésimo octavo'),
(100, 'centésimo'),
)
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'))

View File

@@ -1,3 +1,4 @@
# encoding: UTF-8
# Copyright (c) 2013, Savoir-faire Linux inc. All Rights Reserved.
# This library is free software; you can redistribute it and/or
@@ -25,57 +26,56 @@ class Num2WordsESVETest(TestCase):
def test_number(self):
test_cases = (
(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
(1, 'uno'),
(2, 'dos'),
(3, 'tres'),
(11, 'once'),
(12, 'doce'),
(16, 'dieciseis'),
(19, 'diecinueve'),
(20, 'veinte'),
(21, 'veintiuno'),
(26, 'veintiséis'),
(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 millón'),
(1000001, 'un millón uno'),
)
for test in test_cases:
@@ -84,25 +84,14 @@ class Num2WordsESVETest(TestCase):
def test_ordinal(self):
test_cases = (
(1,'primero'),
(8,'octavo'),
(12,'decimo segundo'),
(14,'decimo cuarto'),
(28,'vigesimo octavo'),
(100,'centesimo'),
(1, 'primero'),
(8, 'octavo'),
(12, 'décimo segundo'),
(14, 'décimo cuarto'),
(28, 'vigésimo octavo'),
(100, 'centésimo'),
)
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'))