Skip to content

Commit

Permalink
Fix gender_stem initialisation and add unittest for spanish
Browse files Browse the repository at this point in the history
issue7
  • Loading branch information
cedk committed Aug 27, 2013
1 parent 8cb479d commit 29f31eb
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 11 deletions.
22 changes: 11 additions & 11 deletions numword/numword_es.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ class NumWordES(NumWordEU):
'''

def __init__(self):
self.gender_stem = None
super(NumWordES, self).__init__()
self.gender_stem = ''

#TODO Is this sufficient??
def _set_high_numwords(self, high):
Expand Down Expand Up @@ -52,16 +52,16 @@ def _setup(self):
(30, u"treinta"),
]
self.low_numwords = [
u"vientinueve",
u"vientiocho",
u"vientisiete",
u"vientiséis",
u"vienticinco",
u"vienticuatro",
u"vientitrés",
u"vientidós",
u"vientiuno",
u"viente",
u"veintinueve",
u"veintiocho",
u"veintisiete",
u"veintiséis",
u"veinticinco",
u"veinticuatro",
u"veintitrés",
u"veintidós",
u"veintiuno",
u"veinte",
u"diecinueve",
u"dieciocho",
u"diecisiete",
Expand Down
28 changes: 28 additions & 0 deletions numword/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -226,5 +226,33 @@ def test_ordinal(self):
for number, word in tests:
self.assertEqual(ordinal(number), word)


class TestNumWordES(TestCase):

def test_cardinal(self):
from numword.numword_es import cardinal
self.assertEqual(cardinal(0), u"cero")
self.assertEqual(cardinal(11.96), u"once punto noventa y seis")
self.assertEqual(cardinal(100), u"cien")
self.assertEqual(cardinal(100.0), u"cien")
self.assertEqual(cardinal(121.01), u"ciento veintiuno punto uno")
self.assertEqual(cardinal(3121.45),
u"tres mil ciento veintiuno punto cuarenta y cinco")

def test_cardinal_not_a_number(self):
from numword.numword_es import cardinal
error = u"type\(Ximinez\) not in \[long, int, float\]"
with self.assertRaisesRegexp(TypeError, error):
cardinal('Ximinez')

def test_cardinal_number_too_big(self):
from numword.numword_es import cardinal
from numword.numword_es import NumWordES
max_val = NumWordES().maxval
number = max_val + 1
error = u"abs\(%s\) must be less than %s" % (number, max_val)
with self.assertRaisesRegexp(OverflowError, error):
cardinal(number)

if __name__ == '__main__':
main()

0 comments on commit 29f31eb

Please sign in to comment.