def test_infinity(self): self.assertEqual(pronounce_number(sys.float_info.max * 2, lang="it"), "infinito") self.assertEqual(pronounce_number(float("inf"), lang="it"), "infinito") self.assertEqual(pronounce_number(float("-inf"), lang="it"), "meno infinito")
def test_convert_hundreds(self): self.assertEqual(pronounce_number(100, lang="it"), "cento") self.assertEqual(pronounce_number(121, lang="it"), "cento ventuno") self.assertEqual(pronounce_number(121000, lang="it"), "cento ventunomila") self.assertEqual(pronounce_number(666, lang="it"), "seicento sessantasei") self.assertEqual(pronounce_number(1456, lang="it"), "mille, quattrocento cinquantasei") self.assertEqual(pronounce_number(103254654, lang="it"), "cento tremilioni, duecento " "cinquantaquattromila, seicento " "cinquantaquattro") self.assertEqual(pronounce_number(1512457, lang="it"), "un milione, cinquecento dodicimila, " "quattrocento cinquantasette") self.assertEqual(pronounce_number(209996, lang="it"), "duecento novemila, novecento novantasei") self.assertEqual(pronounce_number(95505896639631893, lang="it"), "novantacinquebiliardi, cinquecento cinquebilioni, " "ottocento novantaseimiliardi, " "seicento trentanovemilioni, seicento " "trentunomila, ottocento novantatre") self.assertEqual(pronounce_number(95505896639631893, short_scale=False, lang="it"), "novantacinquemila cinquecento cinque miliardi, " "ottocento novantaseimila seicento trentanove" " milioni, seicento trentunomila, ottocento" " novantatre")
def test_convert_hundreds(self): self.assertEqual(pronounce_number(100), "one hundred") self.assertEqual(pronounce_number(666), "six hundred and sixty six") self.assertEqual(pronounce_number(1456), "fourteen fifty six") self.assertEqual( pronounce_number(103254654), "one hundred and three " "million, two hundred " "and fifty four " "thousand, six hundred " "and fifty four") self.assertEqual( pronounce_number(1512457), "one million, five hundred" " and twelve thousand, " "four hundred and fifty " "seven") self.assertEqual( pronounce_number(209996), "two hundred and nine " "thousand, nine hundred " "and ninety six") self.assertEqual( pronounce_number(95505896639631893), "ninety five quadrillion, five hundred and five " "trillion, eight hundred and ninety six billion, six " "hundred and thirty nine million, six hundred and " "thirty one thousand, eight hundred and ninety three") self.assertEqual( pronounce_number(95505896639631893, short_scale=False), "ninety five thousand five hundred and five billion, " "eight hundred and ninety six thousand six hundred " "and thirty nine million, six hundred and thirty one " "thousand, eight hundred and ninety three")
def test_convert_scientific_notation(self): """ Test cases for italian text to scientific_notatio """ self.assertEqual(pronounce_number(0, scientific=True, lang="it"), "zero") self.assertEqual(pronounce_number(33, scientific=True, lang="it"), "tre virgola tre per dieci elevato alla uno") self.assertEqual(pronounce_number(299792458, scientific=True, lang="it"), "due virgola nove nove per dieci elevato alla otto") self.assertEqual(pronounce_number(299792458, places=6, scientific=True, lang="it"), "due virgola nove nove sette nove due cinque " "per dieci elevato alla otto") self.assertEqual(pronounce_number(1.672e-27, places=3, scientific=True, lang="it"), "uno virgola sei sette due per dieci elevato alla " "meno ventisette") self.assertEqual(pronounce_number(-33, scientific=True, lang="it"), "meno tre virgola tre per dieci elevato alla uno") self.assertEqual(pronounce_number(-299792458, scientific=True, lang="it"), "meno due virgola nove nove per dieci elevato" " alla otto") self.assertEqual(pronounce_number(-1.672e-27, places=3, scientific=True, lang="it"), "meno uno virgola sei sette due per dieci elevato" " alla meno ventisette")
def test_convert_scientific_notation(self): self.assertEqual(pronounce_number(0, scientific=True), "zero") self.assertEqual(pronounce_number(33, scientific=True), "three point three times ten to the power of one") self.assertEqual( pronounce_number(299792458, scientific=True), "two point nine nine times ten to the power of eight") self.assertEqual( pronounce_number(299792458, places=6, scientific=True), "two point nine nine seven nine two five times " "ten to the power of eight") self.assertEqual( pronounce_number(1.672e-27, places=3, scientific=True), "one point six seven two times ten to the power of " "negative twenty seven")
def test_convert_int(self): self.assertEqual(pronounce_number(0), "zero") self.assertEqual(pronounce_number(1), "one") self.assertEqual(pronounce_number(10), "ten") self.assertEqual(pronounce_number(15), "fifteen") self.assertEqual(pronounce_number(20), "twenty") self.assertEqual(pronounce_number(27), "twenty seven") self.assertEqual(pronounce_number(30), "thirty") self.assertEqual(pronounce_number(33), "thirty three")
def test_convert_int(self): self.assertEqual(pronounce_number(0, lang="it"), "zero") self.assertEqual(pronounce_number(1, lang="it"), "uno") self.assertEqual(pronounce_number(10, lang="it"), "dieci") self.assertEqual(pronounce_number(15, lang="it"), "quindici") self.assertEqual(pronounce_number(21, lang="it"), "ventuno") self.assertEqual(pronounce_number(27, lang="it"), "ventisette") self.assertEqual(pronounce_number(30, lang="it"), "trenta") self.assertEqual(pronounce_number(83, lang="it"), "ottantatre")
def test_large_numbers(self): self.assertEqual( pronounce_number(299792458, short_scale=True), "two hundred and ninety nine million, seven hundred " "and ninety two thousand, four hundred and fifty eight") self.assertEqual( pronounce_number(299792458, short_scale=False), "two hundred and ninety nine million, seven hundred " "and ninety two thousand, four hundred and fifty eight") self.assertEqual( pronounce_number(100034000000299792458, short_scale=True), "one hundred quintillion, thirty four quadrillion, " "two hundred and ninety nine million, seven hundred " "and ninety two thousand, four hundred and fifty eight") self.assertEqual( pronounce_number(100034000000299792458, short_scale=False), "one hundred trillion, thirty four thousand billion, " "two hundred and ninety nine million, seven hundred " "and ninety two thousand, four hundred and fifty eight") self.assertEqual(pronounce_number(10000000000, short_scale=True), "ten billion") self.assertEqual(pronounce_number(1000000000000, short_scale=True), "one trillion") # TODO maybe beautify this self.assertEqual(pronounce_number(1000001, short_scale=True), "one million, one")
def test_convert_negative_int(self): self.assertEqual(pronounce_number(-1), "minus one") self.assertEqual(pronounce_number(-10), "minus ten") self.assertEqual(pronounce_number(-15), "minus fifteen") self.assertEqual(pronounce_number(-20), "minus twenty") self.assertEqual(pronounce_number(-27), "minus twenty seven") self.assertEqual(pronounce_number(-30), "minus thirty") self.assertEqual(pronounce_number(-33), "minus thirty three")
def test_convert_negative_int(self): self.assertEqual(pronounce_number(-1, lang="it"), "meno uno") self.assertEqual(pronounce_number(-10, lang="it"), "meno dieci") self.assertEqual(pronounce_number(-15, lang="it"), "meno quindici") self.assertEqual(pronounce_number(-21, lang="it"), "meno ventuno") self.assertEqual(pronounce_number(-27, lang="it"), "meno ventisette") self.assertEqual(pronounce_number(-30, lang="it"), "meno trenta") self.assertEqual(pronounce_number(-83, lang="it"), "meno ottantatre")
def test_convert_negative_int_de(self): self.assertEqual(pronounce_number(-1), "minus eins") self.assertEqual(pronounce_number(-10), "minus zehn") self.assertEqual(pronounce_number(-15), u"minus fünfzehn") self.assertEqual(pronounce_number(-20), "minus zwanzig") self.assertEqual(pronounce_number(-27), "minus siebenundzwanzig") self.assertEqual(pronounce_number(-30), u"minus dreißig") self.assertEqual(pronounce_number(-33), u"minus dreiunddreißig")
def test_convert_negative_int_fr(self): self.assertEqual(pronounce_number(-1, lang="fr-fr"), "moins un") self.assertEqual(pronounce_number(-10, lang="fr-fr"), "moins dix") self.assertEqual(pronounce_number(-15, lang="fr-fr"), "moins quinze") self.assertEqual(pronounce_number(-20, lang="fr-fr"), "moins vingt") self.assertEqual(pronounce_number(-27, lang="fr-fr"), "moins vingt-sept") self.assertEqual(pronounce_number(-30, lang="fr-fr"), "moins trente") self.assertEqual(pronounce_number(-33, lang="fr-fr"), "moins trente-trois")
def test_convert_negative_int_nl(self): self.assertEqual(pronounce_number(-1, lang="nl-nl"), u"min één") self.assertEqual(pronounce_number(-10, lang="nl-nl"), "min tien") self.assertEqual(pronounce_number(-15, lang="nl-nl"), "min vijftien") self.assertEqual(pronounce_number(-20, lang="nl-nl"), "min twintig") self.assertEqual(pronounce_number(-27, lang="nl-nl"), "min zevenentwintig") self.assertEqual(pronounce_number(-30, lang="nl-nl"), u"min dertig") self.assertEqual(pronounce_number(-33, lang="nl-nl"), u"min drieendertig")
def test_convert_negative_int_hu(self): self.assertEqual(pronounce_number(-1, lang="hu-hu"), "mínusz egy") self.assertEqual(pronounce_number(-10, lang="hu-hu"), "mínusz tíz") self.assertEqual(pronounce_number(-15, lang="hu-hu"), "mínusz tizenöt") self.assertEqual(pronounce_number(-20, lang="hu-hu"), "mínusz húsz") self.assertEqual(pronounce_number(-27, lang="hu-hu"), "mínusz huszonhét") self.assertEqual(pronounce_number(-30, lang="hu-hu"), "mínusz harminc") self.assertEqual(pronounce_number(-33, lang="hu-hu"), "mínusz harminchárom")
def test_convert_negative_int_da(self): self.assertEqual(pronounce_number(-1, lang="da-dk"), "minus en") self.assertEqual(pronounce_number(-10, lang="da-dk"), "minus ti") self.assertEqual(pronounce_number(-15, lang="da-dk"), "minus femten") self.assertEqual(pronounce_number(-20, lang="da-dk"), "minus tyve") self.assertEqual(pronounce_number(-27, lang="da-dk"), "minus syvogtyve") self.assertEqual(pronounce_number(-30, lang="da-dk"), "minus tredive") self.assertEqual(pronounce_number(-33, lang="da-dk"), "minus treogtredive")
def test_convert_dacimals_da(self): self.assertEqual(pronounce_number(1.234, lang="da-dk"), "en komma to tre") self.assertEqual(pronounce_number(21.234, lang="da-dk"), "enogtyve komma to tre") self.assertEqual(pronounce_number(21.234, lang="da-dk", places=1), "enogtyve komma to") self.assertEqual(pronounce_number(21.234, lang="da-dk", places=0), "enogtyve") self.assertEqual(pronounce_number(21.234, lang="da-dk", places=3), "enogtyve komma to tre fire") self.assertEqual(pronounce_number(21.234, lang="da-dk", places=4), "enogtyve komma to tre fire nul") self.assertEqual(pronounce_number(21.234, lang="da-dk", places=5), "enogtyve komma to tre fire nul nul") self.assertEqual(pronounce_number(-1.234, lang="da-dk"), "minus en komma to tre") self.assertEqual(pronounce_number(-21.234, lang="da-dk"), "minus enogtyve komma to tre") self.assertEqual(pronounce_number(-21.234, lang="da-dk", places=1), "minus enogtyve komma to") self.assertEqual(pronounce_number(-21.234, lang="da-dk", places=0), "minus enogtyve") self.assertEqual(pronounce_number(-21.234, lang="da-dk", places=3), "minus enogtyve komma to tre fire") self.assertEqual(pronounce_number(-21.234, lang="da-dk", places=4), "minus enogtyve komma to tre fire nul") self.assertEqual(pronounce_number(-21.234, lang="da-dk", places=5), "minus enogtyve komma to tre fire nul nul")
def test_convert_int_da(self): # self.assertEqual(pronounce_number(123456789123456789, lang="da-dk"), # "ethundredetreogtyvebilliarder" # "firehundredeseksoghalvtresbillioner" # "syvhundredeogfirsmiliarder" # "ethundredetreogtyvemillioner" # "firehundredeseksoghalvtrestusindesyvhundredeniog \ # firs") self.assertEqual(pronounce_number(1, lang="da-dk"), "en") self.assertEqual(pronounce_number(10, lang="da-dk"), "ti") self.assertEqual(pronounce_number(15, lang="da-dk"), "femten") self.assertEqual(pronounce_number(20, lang="da-dk"), "tyve") self.assertEqual(pronounce_number(27, lang="da-dk"), "syvogtyve") self.assertEqual(pronounce_number(30, lang="da-dk"), "tredive") self.assertEqual(pronounce_number(33, lang="da-dk"), "treogtredive") self.assertEqual(pronounce_number(71, lang="da-dk"), "enoghalvfjers") self.assertEqual(pronounce_number(80, lang="da-dk"), "firs") self.assertEqual(pronounce_number(74, lang="da-dk"), "fireoghalvfjers") self.assertEqual(pronounce_number(79, lang="da-dk"), "nioghalvfjers") self.assertEqual(pronounce_number(91, lang="da-dk"), "enoghalvfems") self.assertEqual(pronounce_number(97, lang="da-dk"), "syvoghalvfems") self.assertEqual(pronounce_number(300, lang="da-dk"), "trehundrede")
def test_convert_decimals_nl(self): self.assertEqual(pronounce_number(1.234, lang="nl-nl"), u"één komma twee drie") self.assertEqual(pronounce_number(21.234, lang="nl-nl"), u"éénentwintig komma twee drie") self.assertEqual(pronounce_number(21.234, lang="nl-nl", places=1), u"éénentwintig komma twee") self.assertEqual(pronounce_number(21.234, lang="nl-nl", places=0), u"éénentwintig") self.assertEqual(pronounce_number(21.234, lang="nl-nl", places=3), u"éénentwintig komma twee drie vier") self.assertEqual(pronounce_number(21.234, lang="nl-nl", places=4), u"éénentwintig komma twee drie vier nul") self.assertEqual(pronounce_number(21.234, lang="nl-nl", places=5), u"éénentwintig komma twee drie vier nul nul") self.assertEqual(pronounce_number(-1.234, lang="nl-nl"), u"min één komma twee drie") self.assertEqual(pronounce_number(-21.234, lang="nl-nl"), u"min éénentwintig komma twee drie") self.assertEqual(pronounce_number(-21.234, lang="nl-nl", places=1), u"min éénentwintig komma twee") self.assertEqual(pronounce_number(-21.234, lang="nl-nl", places=0), u"min éénentwintig") self.assertEqual(pronounce_number(-21.234, lang="nl-nl", places=3), u"min éénentwintig komma twee drie vier") self.assertEqual(pronounce_number(-21.234, lang="nl-nl", places=4), u"min éénentwintig komma twee drie vier nul") self.assertEqual(pronounce_number(-21.234, lang="nl-nl", places=5), u"min éénentwintig komma twee drie vier nul nul")
def test_convert_decimals_de(self): self.assertEqual(pronounce_number(1.234), "eins Komma zwei drei") self.assertEqual(pronounce_number(21.234), "einundzwanzig Komma zwei drei") self.assertEqual(pronounce_number(21.234, places=1), "einundzwanzig Komma zwei") self.assertEqual(pronounce_number(21.234, places=0), "einundzwanzig") self.assertEqual(pronounce_number(21.234, places=3), "einundzwanzig Komma zwei drei vier") self.assertEqual(pronounce_number(21.234, places=4), "einundzwanzig Komma zwei drei vier null") self.assertEqual(pronounce_number(21.234, places=5), "einundzwanzig Komma zwei drei vier null null") self.assertEqual(pronounce_number(-1.234), "minus eins Komma zwei drei") self.assertEqual(pronounce_number(-21.234), "minus einundzwanzig Komma zwei drei") self.assertEqual(pronounce_number(-21.234, places=1), "minus einundzwanzig Komma zwei") self.assertEqual(pronounce_number(-21.234, places=0), "minus einundzwanzig") self.assertEqual(pronounce_number(-21.234, places=3), "minus einundzwanzig Komma zwei drei vier") self.assertEqual(pronounce_number(-21.234, places=4), "minus einundzwanzig Komma zwei drei vier null") self.assertEqual(pronounce_number(-21.234, places=5), "minus einundzwanzig Komma zwei drei vier null null")
def test_convert_int(self): self.assertEqual(pronounce_number(0, lang="es"), "cero") self.assertEqual(pronounce_number(1, lang="es"), "uno") self.assertEqual(pronounce_number(10, lang="es"), "diez") self.assertEqual(pronounce_number(15, lang="es"), "quince") self.assertEqual(pronounce_number(21, lang="es"), "veintiuno") self.assertEqual(pronounce_number(27, lang="es"), "veintisiete") self.assertEqual(pronounce_number(30, lang="es"), "treinta") self.assertEqual(pronounce_number(19, lang="es"), "diecinueve") self.assertEqual(pronounce_number(88, lang="es"), "ochenta y ocho") self.assertEqual(pronounce_number(46, lang="es"), "cuarenta y seis") self.assertEqual(pronounce_number(99, lang="es"), "noventa y nueve")
def test_convert_int_de(self): self.assertEqual( pronounce_number(123456789123456789), "einhundertdreiundzwanzig Billiarden " "vierhundertsechsundfünfzig Billionen " "siebenhundertneunundachtzig Milliarden " "einhundertdreiundzwanzig Millionen " "vierhundertsechsundfünfzigtausendsiebenhundert" "neunundachtzig") self.assertEqual(pronounce_number(1), "eins") self.assertEqual(pronounce_number(10), "zehn") self.assertEqual(pronounce_number(15), u"fünfzehn") self.assertEqual(pronounce_number(20), "zwanzig") self.assertEqual(pronounce_number(27), "siebenundzwanzig") self.assertEqual(pronounce_number(30), u"dreißig") self.assertEqual(pronounce_number(33), u"dreiunddreißig") self.assertEqual(pronounce_number(71), "einundsiebzig") self.assertEqual(pronounce_number(80), "achtzig") self.assertEqual(pronounce_number(74), "vierundsiebzig") self.assertEqual(pronounce_number(79), "neunundsiebzig") self.assertEqual(pronounce_number(91), "einundneunzig") self.assertEqual(pronounce_number(97), "siebenundneunzig") self.assertEqual(pronounce_number(300), "dreihundert")
def test_convert_negative_int(self): self.assertEqual(pronounce_number(-1, lang="es"), "menos uno") self.assertEqual(pronounce_number(-10, lang="es"), "menos diez") self.assertEqual(pronounce_number(-15, lang="es"), "menos quince") self.assertEqual(pronounce_number(-21, lang="es"), "menos veintiuno") self.assertEqual(pronounce_number(-27, lang="es"), "menos veintisiete") self.assertEqual(pronounce_number(-30, lang="es"), "menos treinta") self.assertEqual(pronounce_number(-35, lang="es"), "menos treinta y cinco") self.assertEqual(pronounce_number(-83, lang="es"), "menos ochenta y tres") self.assertEqual(pronounce_number(-19, lang="es"), "menos diecinueve") self.assertEqual(pronounce_number(-88, lang="es"), "menos ochenta y ocho") self.assertEqual(pronounce_number(-46, lang="es"), "menos cuarenta y seis") self.assertEqual(pronounce_number(-99, lang="es"), "menos noventa y nueve")
def test_convert_decimals(self): self.assertEqual(pronounce_number(1.234, lang="es"), "uno coma dos tres") self.assertEqual(pronounce_number(21.234, lang="es"), "veintiuno coma dos tres") self.assertEqual(pronounce_number(21.234, lang="es", places=1), "veintiuno coma dos") self.assertEqual(pronounce_number(21.234, lang="es", places=0), "veintiuno") self.assertEqual(pronounce_number(21.234, lang="es", places=3), "veintiuno coma dos tres cuatro") self.assertEqual(pronounce_number(21.234, lang="es", places=4), "veintiuno coma dos tres cuatro") self.assertEqual(pronounce_number(21.234, lang="es", places=5), "veintiuno coma dos tres cuatro") self.assertEqual(pronounce_number(-21.234, lang="es"), "menos veintiuno coma dos tres") self.assertEqual(pronounce_number(-21.234, lang="es", places=1), "menos veintiuno coma dos") self.assertEqual(pronounce_number(-21.234, lang="es", places=0), "menos veintiuno") self.assertEqual(pronounce_number(-21.234, lang="es", places=3), "menos veintiuno coma dos tres cuatro") self.assertEqual(pronounce_number(-21.234, lang="es", places=4), "menos veintiuno coma dos tres cuatro") self.assertEqual(pronounce_number(-21.234, lang="es", places=5), "menos veintiuno coma dos tres cuatro")
def test_convert_decimals_fr(self): self.assertEqual(pronounce_number(1.234, lang="fr-fr"), "un virgule deux trois") self.assertEqual(pronounce_number(21.234, lang="fr-fr"), "vingt-et-un virgule deux trois") self.assertEqual(pronounce_number(21.234, lang="fr-fr", places=1), "vingt-et-un virgule deux") self.assertEqual(pronounce_number(21.234, lang="fr-fr", places=0), "vingt-et-un") self.assertEqual(pronounce_number(21.234, lang="fr-fr", places=3), "vingt-et-un virgule deux trois quatre") self.assertEqual(pronounce_number(21.234, lang="fr-fr", places=4), "vingt-et-un virgule deux trois quatre") self.assertEqual(pronounce_number(21.234, lang="fr-fr", places=5), "vingt-et-un virgule deux trois quatre") self.assertEqual(pronounce_number(-1.234, lang="fr-fr"), "moins un virgule deux trois") self.assertEqual(pronounce_number(-21.234, lang="fr-fr"), "moins vingt-et-un virgule deux trois") self.assertEqual(pronounce_number(-21.234, lang="fr-fr", places=1), "moins vingt-et-un virgule deux") self.assertEqual(pronounce_number(-21.234, lang="fr-fr", places=0), "moins vingt-et-un") self.assertEqual(pronounce_number(-21.234, lang="fr-fr", places=3), "moins vingt-et-un virgule deux trois quatre") self.assertEqual(pronounce_number(-21.234, lang="fr-fr", places=4), "moins vingt-et-un virgule deux trois quatre") self.assertEqual(pronounce_number(-21.234, lang="fr-fr", places=5), "moins vingt-et-un virgule deux trois quatre")
from mycroft_lang_utils.format import nice_duration, nice_date, nice_date_time, \ nice_number, nice_time, pronounce_number # pronounce numbers assert nice_number(25 / 6) == "4 and a sixth" assert nice_number(201) == "201" assert nice_number(3.14159269) == "3 and a seventh" assert pronounce_number(3.14159269) == "three point one four" assert pronounce_number(0) == "zero" assert pronounce_number(10) == "ten" assert pronounce_number(201) == "two hundred and one" assert pronounce_number(102.3) == "one hundred and two point three" assert pronounce_number( 4092949192 ) == "four billion, ninety two million, nine hundred and forty nine thousand, one hundred and ninety two" assert pronounce_number(100034000000299792458, short_scale=True) == \ "one hundred quintillion, thirty four quadrillion, " \ "two hundred and ninety nine million, seven hundred and ninety " \ "two thousand, four hundred and fifty eight" assert pronounce_number(100034000000299792458, short_scale=False) == \ "one hundred trillion, thirty four thousand billion, " \ "two hundred and ninety nine million, seven hundred and ninety " \ "two thousand, four hundred and fifty eight" # pronounce datetime objects import datetime dt = datetime.datetime(2017, 1, 31, 13, 22, 3)
def test_convert_int_fr(self): self.assertEqual(pronounce_number(0, lang="fr-fr"), "zéro") self.assertEqual(pronounce_number(1, lang="fr-fr"), "un") self.assertEqual(pronounce_number(10, lang="fr-fr"), "dix") self.assertEqual(pronounce_number(15, lang="fr-fr"), "quinze") self.assertEqual(pronounce_number(20, lang="fr-fr"), "vingt") self.assertEqual(pronounce_number(27, lang="fr-fr"), "vingt-sept") self.assertEqual(pronounce_number(30, lang="fr-fr"), "trente") self.assertEqual(pronounce_number(33, lang="fr-fr"), "trente-trois") self.assertEqual(pronounce_number(71, lang="fr-fr"), "soixante-et-onze") self.assertEqual(pronounce_number(80, lang="fr-fr"), "quatre-vingts") self.assertEqual(pronounce_number(74, lang="fr-fr"), "soixante-quatorze") self.assertEqual(pronounce_number(79, lang="fr-fr"), "soixante-dix-neuf") self.assertEqual(pronounce_number(91, lang="fr-fr"), "quatre-vingt-onze") self.assertEqual(pronounce_number(97, lang="fr-fr"), "quatre-vingt-dix-sept") self.assertEqual(pronounce_number(300, lang="fr-fr"), "300")
def test_convert_decimals(self): self.assertEqual(pronounce_number(1.234), "one point two three") self.assertEqual(pronounce_number(21.234), "twenty one point two three") self.assertEqual(pronounce_number(21.234, places=1), "twenty one point two") self.assertEqual(pronounce_number(21.234, places=0), "twenty one") self.assertEqual(pronounce_number(21.234, places=3), "twenty one point two three four") self.assertEqual(pronounce_number(21.234, places=4), "twenty one point two three four") self.assertEqual(pronounce_number(21.234, places=5), "twenty one point two three four") self.assertEqual(pronounce_number(-1.234), "minus one point two three") self.assertEqual(pronounce_number(-21.234), "minus twenty one point two three") self.assertEqual(pronounce_number(-21.234, places=1), "minus twenty one point two") self.assertEqual(pronounce_number(-21.234, places=0), "minus twenty one") self.assertEqual(pronounce_number(-21.234, places=3), "minus twenty one point two three four") self.assertEqual(pronounce_number(-21.234, places=4), "minus twenty one point two three four") self.assertEqual(pronounce_number(-21.234, places=5), "minus twenty one point two three four")
def test_large_numbers(self): self.assertEqual( pronounce_number(299792458, short_scale=True, lang="it"), "duecento novantanovemilioni, settecento " "novantaduemila, quattrocento cinquantotto") self.assertEqual( pronounce_number(299792458, short_scale=False, lang="it"), "duecento novantanove milioni, settecento " "novantaduemila, quattrocento cinquantotto") self.assertEqual( pronounce_number(100034000000299792458, short_scale=True, lang="it"), "centotrilioni, trentaquattrobiliardi, " "duecento novantanovemilioni, settecento " "novantaduemila, quattrocento cinquantotto") self.assertEqual( pronounce_number(100034000000299792458, short_scale=False, lang="it"), "cento bilioni, trentaquattromila miliardi, " "duecento novantanove milioni, settecento " "novantaduemila, quattrocento cinquantotto") self.assertEqual( pronounce_number(10000000000, short_scale=True, lang="it"), "diecimiliardi") self.assertEqual( pronounce_number(1000000000000, short_scale=True, lang="it"), "bilioni") self.assertEqual( pronounce_number(1000001, short_scale=True, lang="it"), "un milione, uno") self.assertEqual( pronounce_number(1000000000, short_scale=False, lang="it"), "un miliardo") self.assertEqual( pronounce_number(1000000, short_scale=False, lang="it"), "un milione") self.assertEqual( pronounce_number(1000, short_scale=False, lang="it"), "mille") self.assertEqual( pronounce_number(1000900, short_scale=False, lang="it"), "uno milioni, novecento")
def test_convert_int_nl(self): self.assertEqual(pronounce_number(123456789123456789, lang="nl-nl"), u"éénhonderddrieentwintig biljard " "vierhonderdzesenvijftig biljoen " "zevenhonderdnegenentachtig miljard " "éénhonderddrieentwintig miljoen " "vierhonderdzesenvijftigduizend" "zevenhonderdnegenentachtig") self.assertEqual(pronounce_number(1, lang="nl-nl"), u"één") self.assertEqual(pronounce_number(10, lang="nl-nl"), "tien") self.assertEqual(pronounce_number(15, lang="nl-nl"), "vijftien") self.assertEqual(pronounce_number(20, lang="nl-nl"), "twintig") self.assertEqual(pronounce_number(27, lang="nl-nl"), "zevenentwintig") self.assertEqual(pronounce_number(30, lang="nl-nl"), "dertig") self.assertEqual(pronounce_number(33, lang="nl-nl"), u"drieendertig") self.assertEqual(pronounce_number(71, lang="nl-nl"), u"éénenzeventig") self.assertEqual(pronounce_number(80, lang="nl-nl"), "tachtig") self.assertEqual(pronounce_number(74, lang="nl-nl"), "vierenzeventig") self.assertEqual(pronounce_number(79, lang="nl-nl"), "negenenzeventig") self.assertEqual(pronounce_number(91, lang="nl-nl"), u"éénennegentig") self.assertEqual(pronounce_number(97, lang="nl-nl"), "zevenennegentig") self.assertEqual(pronounce_number(300, lang="nl-nl"), "driehonderd")
def test_convert_decimals(self): self.assertEqual(pronounce_number(1.234, lang="it"), "uno virgola due tre") self.assertEqual(pronounce_number(21.234, lang="it"), "ventuno virgola due tre") self.assertEqual(pronounce_number(21.234, lang="it", places=1), "ventuno virgola due") self.assertEqual(pronounce_number(21.234, lang="it", places=0), "ventuno") self.assertEqual(pronounce_number(21.234, lang="it", places=3), "ventuno virgola due tre quattro") self.assertEqual(pronounce_number(21.234, lang="it", places=4), "ventuno virgola due tre quattro") self.assertEqual(pronounce_number(21.234, lang="it", places=5), "ventuno virgola due tre quattro") self.assertEqual(pronounce_number(-21.234, lang="it"), "meno ventuno virgola due tre") self.assertEqual(pronounce_number(-21.234, lang="it", places=1), "meno ventuno virgola due") self.assertEqual(pronounce_number(-21.234, lang="it", places=0), "meno ventuno") self.assertEqual(pronounce_number(-21.234, lang="it", places=3), "meno ventuno virgola due tre quattro") self.assertEqual(pronounce_number(-21.234, lang="it", places=4), "meno ventuno virgola due tre quattro") self.assertEqual(pronounce_number(-21.234, lang="it", places=5), "meno ventuno virgola due tre quattro")