Spaces:
Running
Running
Yurii Paniv
commited on
Commit
•
8c4bd28
1
Parent(s):
513889f
Add tests for converter
Browse files- converter.py +6 -0
- requirements-dev.txt +3 -0
- requirements-test.txt +1 -0
- requirements.txt +0 -0
- tests/__init__.py +0 -0
- tests/rosetta.csv +23 -43
- tests/test_converter.py +115 -0
converter.py
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
def to_cyrillic(text):
|
2 |
+
pass
|
3 |
+
|
4 |
+
|
5 |
+
def to_latin(text):
|
6 |
+
pass
|
requirements-dev.txt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
-r requirements.txt
|
2 |
+
-r requirements-test.txt
|
3 |
+
black
|
requirements-test.txt
ADDED
@@ -0,0 +1 @@
|
|
|
|
|
1 |
+
pytest==7.1.3
|
requirements.txt
ADDED
File without changes
|
tests/__init__.py
ADDED
File without changes
|
tests/rosetta.csv
CHANGED
@@ -1,43 +1,23 @@
|
|
1 |
-
Vasiyet
|
2 |
-
Ölsem, meni kömüñiz
|
3 |
-
Ukraynamnıñ bağrına, Mezarımnı qazıñız
|
4 |
-
Qulan çöl toprağına
|
5 |
-
Bileyim men
|
6 |
-
Köksünde yatqanımn
|
7 |
-
Diñleyim
|
8 |
-
Quturıp aqqanın
|
9 |
-
Ne vaqıt o duşman qanın
|
10 |
-
Ukrayna üzerinden
|
11 |
-
Yuvıp keter… tek o zaman
|
12 |
-
Turarım men qabrimden
|
13 |
-
Dua etip tek o zaman
|
14 |
-
Çıqarım arş-alâğa, Oña qadar mende yoqtır
|
15 |
-
İşanç Alla-Taalâğa
|
16 |
-
Meni cıyıp, qalqıñız ve
|
17 |
-
Üzüñiz buğavlarn
|
18 |
-
Zalım duşman qanı ile
|
19 |
-
Yuvuñız diyarlarn
|
20 |
-
Ulu, ür bir ailege
|
21 |
-
Birleşilgen künlerde
|
22 |
-
Unutmayıp — eyi söznen
|
23 |
-
Hatırlañız meni de
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
|
|
1 |
+
Vasiyet|Васиет
|
2 |
+
Ölsem, meni kömüñiz|Ольсем, мени комюнъиз
|
3 |
+
Ukraynamnıñ bağrına, Mezarımnı qazıñız|Украйнамнынъ багърына, Мезарымны къазынъыз
|
4 |
+
Qulan çöl toprağına.|Къулан чёль топрагъына.
|
5 |
+
Bileyim men qurğannıñ|Билейим мен къургъаннынъ
|
6 |
+
Köksünde yatqanımnı,|Коксюнде яткъанымны,
|
7 |
+
Diñleyim Dneprniñ|Динълейим Днепрнинъ
|
8 |
+
Quturıp aqqanını.|Къутурып акъкъаныны.
|
9 |
+
Ne vaqıt o duşman qanın|Не вакъыт о душман къанын
|
10 |
+
Ukrayna üzerinden|Украйна узеринден
|
11 |
+
Yuvıp keter… tek o zaman|Ювып кетер… тек о заман
|
12 |
+
Turarım men qabrimden —|Турарым мен къабримден —
|
13 |
+
Dua etip tek o zaman|Дуа этип тек о заман
|
14 |
+
Çıqarım arş-alâğa, Oña qadar mende yoqtır|Чыкъарым арш-алягъа, Онъа къадар менде ёкътыр
|
15 |
+
İşanç Alla-Taalâğa.|Ишанч Алла-Таалягъа.
|
16 |
+
Meni cıyıp, qalqıñız ve|Мени джыйып, къалкъынъыз ве
|
17 |
+
Üzüñiz buğavlarnı,|Узюнъиз бугъавларны
|
18 |
+
Zalım duşman qanı ile|Залым душман къаны иле
|
19 |
+
Yuvuñız diyarlarnı,|Ювунъыз диярларны,
|
20 |
+
Ulu, ür bir ailege|Улу, урь бир аилеге
|
21 |
+
Birleşilgen künlerde.|Бирлешильген куньлерде.
|
22 |
+
Unutmayıp — eyi söznen|Унутмайып — эйи сёзнен
|
23 |
+
Hatırlañız meni de.|Хатырланъыз мени де.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tests/test_converter.py
ADDED
@@ -0,0 +1,115 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import converter
|
2 |
+
|
3 |
+
|
4 |
+
def test_cyrillic_converter():
|
5 |
+
cases = _read_test_cases()
|
6 |
+
for case in cases:
|
7 |
+
assert converter.to_cyrillic(case[0]) == case[1]
|
8 |
+
|
9 |
+
|
10 |
+
def test_latin_converter():
|
11 |
+
cases = _read_test_cases()
|
12 |
+
print(cases)
|
13 |
+
for case in cases:
|
14 |
+
assert converter.to_latin(case[1]) == case[0]
|
15 |
+
|
16 |
+
|
17 |
+
def test_letter_coverage():
|
18 |
+
"""
|
19 |
+
Check if all letters are present in a test set.
|
20 |
+
"""
|
21 |
+
latin_alphabet = [
|
22 |
+
"a",
|
23 |
+
"â",
|
24 |
+
"b",
|
25 |
+
"c",
|
26 |
+
"ç",
|
27 |
+
"d",
|
28 |
+
"e",
|
29 |
+
"f",
|
30 |
+
"g",
|
31 |
+
"ğ",
|
32 |
+
"h",
|
33 |
+
"ı",
|
34 |
+
"i",
|
35 |
+
"j",
|
36 |
+
"k",
|
37 |
+
"l",
|
38 |
+
"m",
|
39 |
+
"n",
|
40 |
+
"ñ",
|
41 |
+
"o",
|
42 |
+
"ö",
|
43 |
+
"p",
|
44 |
+
"q",
|
45 |
+
"r",
|
46 |
+
"s",
|
47 |
+
"ş",
|
48 |
+
"t",
|
49 |
+
"u",
|
50 |
+
"ü",
|
51 |
+
"v",
|
52 |
+
"y",
|
53 |
+
"z",
|
54 |
+
]
|
55 |
+
cyrillic_alphabet = [
|
56 |
+
"а",
|
57 |
+
"б",
|
58 |
+
"в",
|
59 |
+
"г",
|
60 |
+
"гъ",
|
61 |
+
"д",
|
62 |
+
"е",
|
63 |
+
"ё",
|
64 |
+
"ж",
|
65 |
+
"з",
|
66 |
+
"и",
|
67 |
+
"й",
|
68 |
+
"к",
|
69 |
+
"къ",
|
70 |
+
"л",
|
71 |
+
"м",
|
72 |
+
"н",
|
73 |
+
"нъ",
|
74 |
+
"о",
|
75 |
+
"п",
|
76 |
+
"р",
|
77 |
+
"с",
|
78 |
+
"т",
|
79 |
+
"у",
|
80 |
+
"ф",
|
81 |
+
"х",
|
82 |
+
"ц",
|
83 |
+
"ч",
|
84 |
+
"дж",
|
85 |
+
"ш",
|
86 |
+
"щ",
|
87 |
+
"ъ",
|
88 |
+
"ы",
|
89 |
+
"ь",
|
90 |
+
"э",
|
91 |
+
"ю",
|
92 |
+
"я",
|
93 |
+
]
|
94 |
+
cases = _read_test_cases()
|
95 |
+
missing_letters = []
|
96 |
+
latin_cases = " ".join([case[0] for case in cases]).lower()
|
97 |
+
for letter in latin_alphabet:
|
98 |
+
if letter not in latin_cases:
|
99 |
+
missing_letters.append(letter)
|
100 |
+
cyrillic_cases = " ".join([case[1] for case in cases]).lower()
|
101 |
+
for letter in cyrillic_alphabet:
|
102 |
+
if letter not in cyrillic_cases:
|
103 |
+
missing_letters.append(letter)
|
104 |
+
if len(missing_letters) > 0:
|
105 |
+
raise Exception(f"'{missing_letters}' not found in test dataset!")
|
106 |
+
|
107 |
+
|
108 |
+
def _read_test_cases():
|
109 |
+
with open("tests/rosetta.csv") as file:
|
110 |
+
text = file.read()
|
111 |
+
|
112 |
+
rows = text.split("\n")
|
113 |
+
for i in range(0, len(rows)):
|
114 |
+
rows[i] = rows[i].split("|")
|
115 |
+
return rows
|