File size: 2,587 Bytes
acee69e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
48
import os
import sys
import unittest

sys.path.append(os.path.dirname(os.path.dirname(__file__)))
from ukrainian_accentor_transformer import Accentor


class TestAccentor(unittest.TestCase):

    @classmethod
    def setUpClass(TestAccentor):
        TestAccentor.accentor = Accentor()

    def test_simple_accent(self):
        text = "Привіт хлопче, як справи."
        accented = self.accentor(text)
        self.assertEqual(text, accented.replace("\u0301", ""))

    def test_batch_accent(self):
        text1 = "Привіт хлопче, як справи."
        text2 = "в мене все добре, дякую."
        accented1, accented2 = self.accentor([text1, text2])
        self.assertEqual(text1, accented1.replace("\u0301", ""))
        self.assertEqual(text2, accented2.replace("\u0301", ""))

    def test_long_sentence(self):
        text = "Адже як би не оцінював галичан один страшно інтелігентний виходець з радянсько єврейських середовищ київського Подолу самі галичани вважають свою культуру і традицію політичну і релігійну побутову й господарську на голову вищою від усього що за Збручем"
        accented = self.accentor(text)
        self.assertEqual(text, accented.replace("\u0301", ""))

    def test_long_sentence(self):
        text = "Веселка також райдуга атмосферне оптичне явище що являє собою одну дві чи декілька спектральних дуг або кіл якщо дивитися з повітря що спостерігаються на тлі хмари якщо вона розташована проти Сонця Червоний колір спектру ми бачимо з зовнішнього боку первинної веселки а фіолетовий із внутрішнього"
        accented = self.accentor(text)
        self.assertEqual(text, accented.replace("\u0301", ""))

    def test_corpus(self):
        with open("tests/sentences.txt") as sentences_file:
            sentences = sentences_file.readlines()
        accented = self.accentor(sentences)
        clean_sentences = self.accentor._clean_accents(accented)
        for sentence, clean_sentence in zip(sentences, clean_sentences):
            self.assertEqual(sentence, clean_sentence)


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