Skip to content

Commit

Permalink
German: add more currencies and test cases
Browse files Browse the repository at this point in the history
  • Loading branch information
bryananderson committed Jan 16, 2025
1 parent 7df3db9 commit c9ed2e4
Show file tree
Hide file tree
Showing 2 changed files with 180 additions and 1 deletion.
11 changes: 10 additions & 1 deletion num2words/lang_DE.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,16 @@ class Num2Word_DE(Num2Word_EU):
'EUR': (('Euro', 'Euro'), ('Cent', 'Cent')),
'GBP': (('Pfund', 'Pfund'), ('Penny', 'Pence')),
'USD': (('Dollar', 'Dollar'), ('Cent', 'Cent')),
'CNY': (('Yuan', 'Yuan'), ('Jiao', 'Fen')),
'CAD': (('Dollar', 'Dollar'), ('Cent', 'Cent')),
'AUD': (('Dollar', 'Dollar'), ('Cent', 'Cent')),
'NZD': (('Dollar', 'Dollar'), ('Cent', 'Cent')),
'HKD': (('Dollar', 'Dollar'), ('Cent', 'Cent')),
'CNY': (('Yuan', 'Yuan'), ('Fen', 'Fen')),
'JPY': (('Yen', 'Yen'), ('Sen', 'Sen')),
'INR': (('Rupie', 'Rupien'), ('Paisa', 'Paisa')),
'RUB': (('Rubel', 'Rubel'), ('Kopeke', 'Kopeken')),
'KRW': (('Won', 'Won'), ('Jeon', 'Jeon')),
'MXN': (('Peso', 'Pesos'), ('Centavo', 'Centavos')),
'DEM': (('Mark', 'Mark'), ('Pfennig', 'Pfennig')),
}

Expand Down
170 changes: 170 additions & 0 deletions tests/test_de.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,46 @@
(100.00, 'einhundert Dollar und null Cent'),
)

TEST_CASES_TO_CURRENCY_CAD = (
(1.00, 'ein Dollar und null Cent'),
(2.01, 'zwei Dollar und ein Cent'),
(8.10, 'acht Dollar und zehn Cent'),
(12.26, 'zwölf Dollar und sechsundzwanzig Cent'),
(21.29, 'einundzwanzig Dollar und neunundzwanzig Cent'),
(81.25, 'einundachtzig Dollar und fünfundzwanzig Cent'),
(100.00, 'einhundert Dollar und null Cent'),
)

TEST_CASES_TO_CURRENCY_AUD = (
(1.00, 'ein Dollar und null Cent'),
(2.01, 'zwei Dollar und ein Cent'),
(8.10, 'acht Dollar und zehn Cent'),
(12.26, 'zwölf Dollar und sechsundzwanzig Cent'),
(21.29, 'einundzwanzig Dollar und neunundzwanzig Cent'),
(81.25, 'einundachtzig Dollar und fünfundzwanzig Cent'),
(100.00, 'einhundert Dollar und null Cent'),
)

TEST_CASES_TO_CURRENCY_NZD = (
(1.00, 'ein Dollar und null Cent'),
(2.01, 'zwei Dollar und ein Cent'),
(8.10, 'acht Dollar und zehn Cent'),
(12.26, 'zwölf Dollar und sechsundzwanzig Cent'),
(21.29, 'einundzwanzig Dollar und neunundzwanzig Cent'),
(81.25, 'einundachtzig Dollar und fünfundzwanzig Cent'),
(100.00, 'einhundert Dollar und null Cent'),
)

TEST_CASES_TO_CURRENCY_HKD = (
(1.00, 'ein Dollar und null Cent'),
(2.01, 'zwei Dollar und ein Cent'),
(8.10, 'acht Dollar und zehn Cent'),
(12.26, 'zwölf Dollar und sechsundzwanzig Cent'),
(21.29, 'einundzwanzig Dollar und neunundzwanzig Cent'),
(81.25, 'einundachtzig Dollar und fünfundzwanzig Cent'),
(100.00, 'einhundert Dollar und null Cent'),
)

TEST_CASES_TO_CURRENCY_GBP = (
(1.00, 'ein Pfund und null Pence'),
(2.01, 'zwei Pfund und ein Penny'),
Expand All @@ -51,6 +91,66 @@
(100.00, 'einhundert Pfund und null Pence'),
)

TEST_CASES_TO_CURRENCY_CNY = (
(1.00, 'ein Yuan und null Fen'),
(2.01, 'zwei Yuan und ein Fen'),
(8.10, 'acht Yuan und zehn Fen'),
(12.26, 'zwölf Yuan und sechsundzwanzig Fen'),
(21.29, 'einundzwanzig Yuan und neunundzwanzig Fen'),
(81.25, 'einundachtzig Yuan und fünfundzwanzig Fen'),
(100.00, 'einhundert Yuan und null Fen'),
)

TEST_CASES_TO_CURRENCY_JPY = (
(1.00, 'ein Yen und null Sen'),
(2.01, 'zwei Yen und ein Sen'),
(8.10, 'acht Yen und zehn Sen'),
(12.26, 'zwölf Yen und sechsundzwanzig Sen'),
(21.29, 'einundzwanzig Yen und neunundzwanzig Sen'),
(81.25, 'einundachtzig Yen und fünfundzwanzig Sen'),
(100.00, 'einhundert Yen und null Sen'),
)

TEST_CASES_TO_CURRENCY_INR = (
(1.00, 'ein Rupie und null Paisa'),
(2.01, 'zwei Rupien und ein Paisa'),
(8.10, 'acht Rupien und zehn Paisa'),
(12.26, 'zwölf Rupien und sechsundzwanzig Paisa'),
(21.29, 'einundzwanzig Rupien und neunundzwanzig Paisa'),
(81.25, 'einundachtzig Rupien und fünfundzwanzig Paisa'),
(100.00, 'einhundert Rupien und null Paisa'),
)

TEST_CASES_TO_CURRENCY_RUB = (
(1.00, 'ein Rubel und null Kopeken'),
(2.01, 'zwei Rubel und ein Kopeke'),
(8.10, 'acht Rubel und zehn Kopeken'),
(12.26, 'zwölf Rubel und sechsundzwanzig Kopeken'),
(21.29, 'einundzwanzig Rubel und neunundzwanzig Kopeken'),
(81.25, 'einundachtzig Rubel und fünfundzwanzig Kopeken'),
(100.00, 'einhundert Rubel und null Kopeken'),
)

TEST_CASES_TO_CURRENCY_KRW = (
(1.00, 'ein Won und null Jeon'),
(2.01, 'zwei Won und ein Jeon'),
(8.10, 'acht Won und zehn Jeon'),
(12.26, 'zwölf Won und sechsundzwanzig Jeon'),
(21.29, 'einundzwanzig Won und neunundzwanzig Jeon'),
(81.25, 'einundachtzig Won und fünfundzwanzig Jeon'),
(100.00, 'einhundert Won und null Jeon'),
)

TEST_CASES_TO_CURRENCY_MXN = (
(1.00, 'ein Peso und null Centavos'),
(2.01, 'zwei Pesos und ein Centavo'),
(8.10, 'acht Pesos und zehn Centavos'),
(12.26, 'zwölf Pesos und sechsundzwanzig Centavos'),
(21.29, 'einundzwanzig Pesos und neunundzwanzig Centavos'),
(81.25, 'einundachtzig Pesos und fünfundzwanzig Centavos'),
(100.00, 'einhundert Pesos und null Centavos'),
)

TEST_CASES_TO_CURRENCY_DEM = (
(1.00, 'ein Mark und null Pfennig'),
(2.01, 'zwei Mark und ein Pfennig'),
Expand Down Expand Up @@ -147,6 +247,34 @@ def test_currency_usd(self):
test[1]
)

def test_currency_cad(self):
for test in TEST_CASES_TO_CURRENCY_CAD:
self.assertEqual(
num2words(test[0], lang='de', to='currency', currency='CAD'),
test[1]
)

def test_currency_aud(self):
for test in TEST_CASES_TO_CURRENCY_AUD:
self.assertEqual(
num2words(test[0], lang='de', to='currency', currency='AUD'),
test[1]
)

def test_currency_nzd(self):
for test in TEST_CASES_TO_CURRENCY_NZD:
self.assertEqual(
num2words(test[0], lang='de', to='currency', currency='NZD'),
test[1]
)

def test_currency_hkd(self):
for test in TEST_CASES_TO_CURRENCY_HKD:
self.assertEqual(
num2words(test[0], lang='de', to='currency', currency='HKD'),
test[1]
)

def test_currency_dem(self):
for test in TEST_CASES_TO_CURRENCY_DEM:
self.assertEqual(
Expand All @@ -161,6 +289,48 @@ def test_currency_gbp(self):
test[1]
)

def test_currency_cny(self):
for test in TEST_CASES_TO_CURRENCY_CNY:
self.assertEqual(
num2words(test[0], lang='de', to='currency', currency='CNY'),
test[1]
)

def test_currency_jpy(self):
for test in TEST_CASES_TO_CURRENCY_JPY:
self.assertEqual(
num2words(test[0], lang='de', to='currency', currency='JPY'),
test[1]
)

def test_currency_inr(self):
for test in TEST_CASES_TO_CURRENCY_INR:
self.assertEqual(
num2words(test[0], lang='de', to='currency', currency='INR'),
test[1]
)

def test_currency_rub(self):
for test in TEST_CASES_TO_CURRENCY_RUB:
self.assertEqual(
num2words(test[0], lang='de', to='currency', currency='RUB'),
test[1]
)

def test_currency_krw(self):
for test in TEST_CASES_TO_CURRENCY_KRW:
self.assertEqual(
num2words(test[0], lang='de', to='currency', currency='KRW'),
test[1]
)

def test_currency_mxn(self):
for test in TEST_CASES_TO_CURRENCY_MXN:
self.assertEqual(
num2words(test[0], lang='de', to='currency', currency='MXN'),
test[1]
)

def test_year(self):
self.assertEqual(num2words(2002, to='year', lang='de'),
'zweitausendzwei')
Expand Down

0 comments on commit c9ed2e4

Please sign in to comment.