German: similar rule for million as for 100 and 1000; 2 more ordinal tests

This commit is contained in:
Zeno Gantner
2019-01-13 23:18:51 +01:00
parent 0398d16460
commit df65296a80
2 changed files with 6 additions and 0 deletions

View File

@@ -118,6 +118,8 @@ class Num2Word_DE(Num2Word_EU):
# Exception: "hundertste" is usually preferred over "einhundertste" # Exception: "hundertste" is usually preferred over "einhundertste"
if res == "eintausendste" or res == "einhundertste": if res == "eintausendste" or res == "einhundertste":
res = res.replace("ein", "", 1) res = res.replace("ein", "", 1)
if res == "eine millionste":
res = res.replace("eine ", "", 1)
return res return res

View File

@@ -47,6 +47,9 @@ class Num2WordsDETest(TestCase):
self.assertEqual( self.assertEqual(
num2words(4000, ordinal=True, lang='de'), "viertausendste" num2words(4000, ordinal=True, lang='de'), "viertausendste"
) )
self.assertEqual(
num2words(1000000, ordinal=True, lang='de'), "millionste"
)
self.assertEqual( self.assertEqual(
num2words(2000000, ordinal=True, lang='de'), "zwei millionste" num2words(2000000, ordinal=True, lang='de'), "zwei millionste"
) )
@@ -57,6 +60,7 @@ class Num2WordsDETest(TestCase):
def test_cardinal_at_some_numbers(self): def test_cardinal_at_some_numbers(self):
self.assertEqual(num2words(100, lang='de'), "einhundert") self.assertEqual(num2words(100, lang='de'), "einhundert")
self.assertEqual(num2words(1000000, lang='de'), "eine million")
self.assertEqual(num2words(2000000, lang='de'), "zwei millionen") self.assertEqual(num2words(2000000, lang='de'), "zwei millionen")
self.assertEqual(num2words(4000000000, lang='de'), "vier milliarden") self.assertEqual(num2words(4000000000, lang='de'), "vier milliarden")
self.assertEqual(num2words(1000000000, lang='de'), "eine milliarde") self.assertEqual(num2words(1000000000, lang='de'), "eine milliarde")