Esempio n. 1
0
 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")
Esempio n. 2
0
 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")
Esempio n. 3
0
 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")
Esempio n. 4
0
    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")
Esempio n. 5
0
 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")
Esempio n. 6
0
 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")
Esempio n. 7
0
 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")
Esempio n. 8
0
 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")
Esempio n. 9
0
 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")
Esempio n. 10
0
 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")
Esempio n. 11
0
 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")
Esempio n. 12
0
 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")
Esempio n. 13
0
 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")
Esempio n. 14
0
 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")
Esempio n. 15
0
 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")
Esempio n. 16
0
 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")
Esempio n. 17
0
 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")
Esempio n. 18
0
 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")
Esempio n. 19
0
 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")
Esempio n. 20
0
 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")
Esempio n. 21
0
    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")
Esempio n. 22
0
 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")
Esempio n. 23
0
 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")
Esempio n. 24
0
 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")
Esempio n. 25
0
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)
Esempio n. 26
0
 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")
Esempio n. 27
0
 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")
Esempio n. 28
0
 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")
Esempio n. 29
0
 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")
Esempio n. 30
0
 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")