File size: 1,870 Bytes
9d61c9b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 unittest

from training.preprocess.tokenizer_ipa import TokenizerIPA
from training.preprocess.tokenizer_ipa_espeak import TokenizerIpaEspeak


class TestTokenizerIPA(unittest.TestCase):
    def setUp(self):
        self.tokenizerIPA = TokenizerIPA()
        self.tokenizerIpaEspeak = TokenizerIpaEspeak()

    def test_init(self):
        self.assertEqual(self.tokenizerIPA.lang, "en_us")
        self.assertIsNotNone(self.tokenizerIPA.phonemizer)
        self.assertIsNotNone(self.tokenizerIPA.tokenizer)

    def test_call(self):
        text = "'DUDLEY! MR DURSLEY! COME AND LOOK AT THIS SNAKE! YOU WON'T BELIEVE WHAT IT'S DOING!'Dudley came waddling towards them as fast as he could."
        # phones_ipa, tokens = self.tokenizerIPA(text)
        phones_ipa_espeak, tokens_espeak = self.tokenizerIpaEspeak(text)

        self.assertIsInstance(phones_ipa_espeak, str)
        self.assertIsInstance(tokens_espeak, list)
        self.assertTrue(all(isinstance(token, int) for token in tokens_espeak))

    def test_case_sensitive(self):
        text = "WHAT IT'S DOING! Dudley came waddling towards them as fast as he could."
        # phones_ipa, tokens = self.tokenizerIPA(text)
        phones_ipa_espeak, tokens_espeak = self.tokenizerIpaEspeak(text)

        self.assertIsInstance(phones_ipa_espeak, str)
        self.assertIsInstance(tokens_espeak, list)
        self.assertTrue(all(isinstance(token, int) for token in tokens_espeak))

    def test_call_with_punctuation(self):
        text = "hello world"
        phones_ipa, tokens = self.tokenizerIpaEspeak(text)

        text2 = "Hello, world!"
        phones_ipa2, tokens2 = self.tokenizerIpaEspeak(text2)

        self.assertNotEqual(phones_ipa, phones_ipa2)
        self.assertNotEqual(tokens, tokens2)


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