Activate flake8, isort and coveralls in the configuration of tox (#105)

* Activate flake8, isort and coveralls in the configuration of tox

* Update code to respect PEP8

* Fix bug in the lang_IT for python 3

* Update the README to include the new converters.
This commit is contained in:
Ernesto Rodriguez Ortiz
2017-10-30 14:06:46 -04:00
committed by GitHub
parent c6015db8b4
commit 3da0c54f3b
52 changed files with 1393 additions and 572 deletions

View File

@@ -15,9 +15,12 @@
# MA 02110-1301 USA
from __future__ import unicode_literals
from unittest import TestCase
from num2words import num2words
class Num2WordsITTest(TestCase):
maxDiff = None
@@ -32,14 +35,29 @@ class Num2WordsITTest(TestCase):
self.assertEqual("meno " + pos_ord, neg_ord)
def test_float_to_cardinal(self):
self.assertTrue("tre virgola uno quattro uno" in num2words(3.1415, lang="it"))
self.assertTrue("meno cinque virgola uno" in num2words(-5.15, lang="it"))
self.assertTrue("meno zero virgola uno" in num2words(-0.15, lang="it"))
self.assertEqual(
num2words(3.1415, lang="it"), "tre virgola uno quattro uno cinque"
)
self.assertEqual(
num2words(-5.15, lang="it"), "meno cinque virgola uno cinque"
)
self.assertEqual(
num2words(-0.15, lang="it"), "meno zero virgola uno cinque"
)
def test_float_to_ordinal(self):
self.assertTrue("terzo virgola uno quattro uno" in num2words(3.1415, lang="it", ordinal=True))
self.assertTrue("meno quinto virgola uno" in num2words(-5.15, lang="it", ordinal=True))
self.assertTrue("meno zero virgola uno" in num2words(-0.15, lang="it", ordinal=True))
self.assertEqual(
num2words(3.1415, lang="it", ordinal=True),
"terzo virgola uno quattro uno cinque"
)
self.assertEqual(
num2words(-5.15, lang="it", ordinal=True),
"meno quinto virgola uno cinque"
)
self.assertEqual(
num2words(-0.15, lang="it", ordinal=True),
"meno zero virgola uno cinque"
)
def test_0(self):
self.assertEqual(num2words(0, lang="it"), "zero")
@@ -80,56 +98,130 @@ class Num2WordsITTest(TestCase):
self.assertEqual(num2words(1000, lang="it"), "mille")
self.assertEqual(num2words(1001, lang="it"), "milleuno")
self.assertEqual(num2words(1500, lang="it"), "millecinquecento")
self.assertEqual(num2words(7378, lang="it"), "settemilatrecentosettantotto")
self.assertEqual(
num2words(7378, lang="it"), "settemilatrecentosettantotto"
)
self.assertEqual(num2words(2000, lang="it"), "duemila")
self.assertEqual(num2words(2100, lang="it"), "duemilacento")
self.assertEqual(num2words(6870, lang="it"), "seimilaottocentosettanta")
self.assertEqual(
num2words(6870, lang="it"), "seimilaottocentosettanta"
)
self.assertEqual(num2words(10000, lang="it"), "diecimila")
self.assertEqual(num2words(98765, lang="it"), "novantottomilasettecentosessantacinque")
self.assertEqual(
num2words(98765, lang="it"),
"novantottomilasettecentosessantacinque"
)
self.assertEqual(num2words(100000, lang="it"), "centomila")
self.assertEqual(num2words(523456, lang="it"), "cinquecentoventitremilaquattrocentocinquantasei")
self.assertEqual(
num2words(523456, lang="it"),
"cinquecentoventitremilaquattrocentocinquantasei"
)
def test_big(self):
self.assertEqual(num2words(1000000, lang="it"), "un milione")
self.assertEqual(num2words(1000007, lang="it"), "un milione e sette")
self.assertEqual(num2words(1200000, lang="it"), "un milione e duecentomila")
self.assertEqual(
num2words(1200000, lang="it"), "un milione e duecentomila"
)
self.assertEqual(num2words(3000000, lang="it"), "tre milioni")
self.assertEqual(num2words(3000005, lang="it"), "tre milioni e cinque")
self.assertEqual(num2words(3800000, lang="it"), "tre milioni e ottocentomila")
self.assertEqual(
num2words(3800000, lang="it"), "tre milioni e ottocentomila"
)
self.assertEqual(num2words(1000000000, lang="it"), "un miliardo")
self.assertEqual(num2words(1000000017, lang="it"), "un miliardo e diciassette")
self.assertEqual(
num2words(1000000017, lang="it"), "un miliardo e diciassette"
)
self.assertEqual(num2words(2000000000, lang="it"), "due miliardi")
self.assertEqual(num2words(2000001000, lang="it"), "due miliardi e mille")
self.assertEqual(num2words(1234567890, lang="it"), "un miliardo, duecentotrentaquattro milioni e cinquecentosessantasettemilaottocentonovanta")
self.assertEqual(
num2words(2000001000, lang="it"), "due miliardi e mille"
)
self.assertEqual(
num2words(1234567890, lang="it"),
"un miliardo, duecentotrentaquattro milioni e "
"cinquecentosessantasettemilaottocentonovanta"
)
self.assertEqual(num2words(1000000000000, lang="it"), "un bilione")
self.assertEqual(num2words(123456789012345678901234567890, lang="it"), "centoventitré quadriliardi, quattrocentocinquantasei quadrilioni, settecentottantanove triliardi, dodici trilioni, trecentoquarantacinque biliardi, seicentosettantotto bilioni, novecentouno miliardi, duecentotrentaquattro milioni e cinquecentosessantasettemilaottocentonovanta")
self.assertEqual(
num2words(123456789012345678901234567890, lang="it"),
"centoventitré quadriliardi, quattrocentocinquantasei "
"quadrilioni, settecentottantanove triliardi, dodici trilioni, "
"trecentoquarantacinque biliardi, seicentosettantotto bilioni, "
"novecentouno miliardi, duecentotrentaquattro milioni e "
"cinquecentosessantasettemilaottocentonovanta"
)
def test_nth_1_to_99(self):
self.assertEqual(num2words(1, lang="it", ordinal=True), "primo")
self.assertEqual(num2words(8, lang="it", ordinal=True), "ottavo")
self.assertEqual(num2words(23, lang="it", ordinal=True), "ventitreesimo")
self.assertEqual(num2words(47, lang="it", ordinal=True), "quarantasettesimo")
self.assertEqual(num2words(99, lang="it", ordinal=True), "novantanovesimo")
self.assertEqual(
num2words(23, lang="it", ordinal=True), "ventitreesimo"
)
self.assertEqual(
num2words(47, lang="it", ordinal=True), "quarantasettesimo"
)
self.assertEqual(
num2words(99, lang="it", ordinal=True), "novantanovesimo"
)
def test_nth_100_to_999(self):
self.assertEqual(num2words(100, lang="it", ordinal=True), "centesimo")
self.assertEqual(num2words(112, lang="it", ordinal=True), "centododicesimo")
self.assertEqual(num2words(120, lang="it", ordinal=True), "centoventesimo")
self.assertEqual(num2words(316, lang="it", ordinal=True), "trecentosedicesimo")
self.assertEqual(num2words(700, lang="it", ordinal=True), "settecentesimo")
self.assertEqual(num2words(803, lang="it", ordinal=True), "ottocentotreesimo")
self.assertEqual(num2words(923, lang="it", ordinal=True), "novecentoventitreesimo")
self.assertEqual(
num2words(112, lang="it", ordinal=True), "centododicesimo"
)
self.assertEqual(
num2words(120, lang="it", ordinal=True), "centoventesimo"
)
self.assertEqual(
num2words(316, lang="it", ordinal=True), "trecentosedicesimo"
)
self.assertEqual(
num2words(700, lang="it", ordinal=True), "settecentesimo"
)
self.assertEqual(
num2words(803, lang="it", ordinal=True), "ottocentotreesimo"
)
self.assertEqual(
num2words(923, lang="it", ordinal=True), "novecentoventitreesimo"
)
def test_nth_1000_to_999999(self):
self.assertEqual(num2words(1000, lang="it", ordinal=True), "millesimo")
self.assertEqual(num2words(1001, lang="it", ordinal=True), "milleunesimo")
self.assertEqual(num2words(1003, lang="it", ordinal=True), "milletreesimo")
self.assertEqual(num2words(1200, lang="it", ordinal=True), "milleduecentesimo")
self.assertEqual(num2words(8640, lang="it", ordinal=True), "ottomilaseicentoquarantesimo")
self.assertEqual(num2words(14000, lang="it", ordinal=True), "quattordicimillesimo")
self.assertEqual(num2words(123456, lang="it", ordinal=True), "centoventitremilaquattrocentocinquantaseiesimo")
self.assertEqual(num2words(987654, lang="it", ordinal=True), "novecentottantasettemilaseicentocinquantaquattresimo")
self.assertEqual(
num2words(1001, lang="it", ordinal=True), "milleunesimo"
)
self.assertEqual(
num2words(1003, lang="it", ordinal=True), "milletreesimo"
)
self.assertEqual(
num2words(1200, lang="it", ordinal=True), "milleduecentesimo"
)
self.assertEqual(
num2words(8640, lang="it", ordinal=True),
"ottomilaseicentoquarantesimo"
)
self.assertEqual(
num2words(14000, lang="it", ordinal=True), "quattordicimillesimo"
)
self.assertEqual(
num2words(123456, lang="it", ordinal=True),
"centoventitremilaquattrocentocinquantaseiesimo"
)
self.assertEqual(
num2words(987654, lang="it", ordinal=True),
"novecentottantasettemilaseicentocinquantaquattresimo"
)
def test_nth_big(self):
self.assertEqual(num2words(1000000001, lang="it", ordinal=True), "un miliardo e unesimo")
self.assertEqual(num2words(123456789012345678901234567890, lang="it", ordinal=True), "centoventitré quadriliardi, quattrocentocinquantasei quadrilioni, settecentottantanove triliardi, dodici trilioni, trecentoquarantacinque biliardi, seicentosettantotto bilioni, novecentouno miliardi, duecentotrentaquattro milioni e cinquecentosessantasettemilaottocentonovantesimo")
self.assertEqual(
num2words(1000000001, lang="it", ordinal=True),
"un miliardo e unesimo"
)
self.assertEqual(
num2words(123456789012345678901234567890, lang="it", ordinal=True),
"centoventitré quadriliardi, quattrocentocinquantasei "
"quadrilioni, settecentottantanove triliardi, dodici trilioni, "
"trecentoquarantacinque biliardi, seicentosettantotto bilioni, "
"novecentouno miliardi, duecentotrentaquattro milioni e "
"cinquecentosessantasettemilaottocentonovantesimo"
)