File size: 988 Bytes
018434c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import unittest

from uztts.normalize import canonicalize_apostrophes, normalize


class NormalizeTests(unittest.TestCase):
    def test_apostrophes_are_canonicalized(self):
        self.assertEqual(canonicalize_apostrophes("oʻzbek o‘g‘li"), "o'zbek o'g'li")

    def test_cyrillic_is_transliterated(self):
        self.assertEqual(normalize("Бухоро шаҳри", mode="train"), "Buxoro shahri")

    def test_date_and_time_are_expanded(self):
        result = normalize("16.07.2026 soat 14:30")
        self.assertEqual(
            result,
            "o'n olti iyul ikki ming yigirma olti soat o'n to'rt o'ttiz",
        )

    def test_decimal_and_unit_are_expanded(self):
        self.assertEqual(normalize("5.5 km"), "besh butun besh kilometr")

    def test_train_mode_preserves_written_words(self):
        self.assertEqual(normalize("Yigirma besh kishi", mode="train"), "Yigirma besh kishi")


if __name__ == "__main__":
    unittest.main()