diff --git a/num2words/lang_SV.py b/num2words/lang_SV.py index 12ba9ae..34a8827 100644 --- a/num2words/lang_SV.py +++ b/num2words/lang_SV.py @@ -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") diff --git a/tests/test_sv.py b/tests/test_sv.py index e4ce466..fffbd0e 100644 --- a/tests/test_sv.py +++ b/tests/test_sv.py @@ -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)) \ No newline at end of file