-
Notifications
You must be signed in to change notification settings - Fork 2
/
test_as_ikea.py
47 lines (39 loc) · 1.5 KB
/
test_as_ikea.py
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import as_ikea
import unittest
class TestAsIkeaMethods(unittest.TestCase):
def setUp(self):
self.ikea_name = as_ikea.as_ikea('Abelev')
self.replacement_occurrence = 1
def test_is_latin(self):
# latin string
self.assertTrue(as_ikea.is_latin('Abelev'))
# non-latin string
self.assertFalse(as_ikea.is_latin('Абелев'))
# mixed string
self.assertFalse(as_ikea.is_latin('Абеlev'))
def test_is_tanslit(self):
# latin string
self.assertFalse(as_ikea.is_translit('Abelev'))
# russian string
self.assertTrue(as_ikea.is_translit('Абелев'))
# mixed string
self.assertTrue(as_ikea.is_translit('Абеlev'))
def test_convert_to_latin(self):
# russian string
s = as_ikea.to_latin('Абелев')
self.assertTrue(as_ikea.is_latin(s))
# mixed string
s1 = as_ikea.to_latin('Абеlev')
self.assertTrue(as_ikea.is_latin(s1))
# mixed string 2
s2 = as_ikea.to_latin('Abeлев')
self.assertTrue(as_ikea.is_latin(s2))
def test_abelev_reverse(self):
self.assertTrue(self.ikea_name.startswith("V"))
self.assertTrue(self.ikea_name[2] == "l")
def test_replacement_occurrence(self):
occurrence = 0
for letter in self.ikea_name:
if letter in [x for v in as_ikea.mapper.values() for x in v]:
occurrence += 1
self.assertEqual(self.replacement_occurrence, occurrence)