mirror of
https://github.com/bblaz/num2words.git
synced 2025-12-06 06:42:25 +00:00
updated test case to increase coverage. raised NotImplementedError for options not implemented.
This commit is contained in:
committed by
Willem Van Onsem
parent
a35effbd1b
commit
469aaff8e6
@@ -96,22 +96,22 @@ class Num2Word_SV(lang_EU.Num2Word_EU):
|
||||
lastword_ending = self.ords[lastword[-3:]]
|
||||
ending_length = 3
|
||||
except KeyError:
|
||||
lastword += "de"
|
||||
lastword_first_part = self.title(lastword)[:-ending_length]
|
||||
# lastword += "de"
|
||||
lastword_ending = "de"
|
||||
if lastword_ending == 'de':
|
||||
lastword_first_part = self.title(lastword)[:]
|
||||
else:
|
||||
lastword_first_part = self.title(lastword)[:-ending_length]
|
||||
lastword_correct = lastword_first_part + lastword_ending
|
||||
outwords[-1] = lastword_correct
|
||||
return " ".join(outwords)
|
||||
|
||||
def to_ordinal_num(self, value):
|
||||
self.verify_ordinal(value)
|
||||
return "%s%s" % (value, self.to_ordinal(value)[-2:])
|
||||
raise NotImplementedError("'ordinal_num' is not implemented for swedish language")
|
||||
|
||||
def to_year(self, val, longval=True):
|
||||
if not (val // 100) % 10:
|
||||
return self.to_cardinal(val)
|
||||
return self.to_splitnum(val, hightxt="hundra", jointxt="och",
|
||||
longval=longval)
|
||||
raise NotImplementedError("'year' is not implemented for swedish language")
|
||||
|
||||
|
||||
def to_currency(self, val, longval=True):
|
||||
return self.to_splitnum(val, hightxt="krone/r", lowtxt="öre/n",
|
||||
jointxt="och", longval=longval, cents=True)
|
||||
raise NotImplementedError("'currency' is not implemented for swedish language")
|
||||
|
||||
@@ -24,6 +24,7 @@ from num2words import num2words
|
||||
|
||||
class Num2WordsSVTest(TestCase):
|
||||
def test_ordinal(self):
|
||||
self.assertEqual(num2words(14, to="ordinal", lang="sv"), "fjortonde")
|
||||
self.assertEqual(num2words(1435, to="ordinal", lang="sv"), "etttusen fyrahundratrettiofemte")
|
||||
self.assertEqual(num2words(32, to="ordinal", lang="sv"), "trettioandra")
|
||||
self.assertEqual(num2words(1, to="ordinal", lang="sv"), "första")
|
||||
@@ -44,3 +45,17 @@ class Num2WordsSVTest(TestCase):
|
||||
self.assertEqual(num2words(14004235000, to="cardinal", lang="sv"), "fjorton miljarder fyra miljoner tvåhundratrettiofemtusen")
|
||||
self.assertEqual(num2words(14004235, to="cardinal", lang="sv"), "fjorton miljoner fyratusen tvåhundratrettiofem")
|
||||
self.assertEqual(num2words(1.25, to="cardinal", lang="sv"), "ett komma två fem")
|
||||
|
||||
def test_not_implemented_options(self):
|
||||
|
||||
with self.assertRaises(NotImplementedError) as context:
|
||||
num2words(1235, to="year", lang="sv")
|
||||
self.assertTrue("'year' is not implemented for swedish language" in str(context.exception))
|
||||
|
||||
with self.assertRaises(NotImplementedError) as context:
|
||||
num2words(1235, to="currency", lang="sv")
|
||||
self.assertTrue("'currency' is not implemented for swedish language" in str(context.exception))
|
||||
|
||||
with self.assertRaises(NotImplementedError) as context:
|
||||
num2words(1235, to="ordinal_num", lang="sv")
|
||||
self.assertTrue("'ordinal_num' is not implemented for swedish language" in str(context.exception))
|
||||
Reference in New Issue
Block a user