Add tests and update README

This commit is contained in:
Michael Hansen 2021-08-25 17:17:46 -04:00
commit 072ca8b0ed
8 changed files with 202 additions and 23 deletions

0
tests/__init__.py Normal file
View file

53
tests/test_phonemizer.py Normal file
View file

@ -0,0 +1,53 @@
#!/usr/bin/env python3
"""Tests for Phonemizer class"""
import unittest
from espeak_phonemizer import Phonemizer
class PhonemizerTestCase(unittest.TestCase):
"""Test cases for Phonemizer"""
def test_en(self):
"""Test basic English"""
phonemizer = Phonemizer(default_voice="en-us")
phonemes = phonemizer.phonemize("test")
self.assertEqual(phonemes, "tˈɛst")
def test_no_stress(self):
"""Test stress removal"""
phonemizer = Phonemizer(default_voice="en-us")
phonemes = phonemizer.phonemize("test", no_stress=True)
self.assertEqual(phonemes, "tɛst")
def test_phoneme_separator(self):
"""Test with phoneme separator"""
phonemizer = Phonemizer(default_voice="en-us")
phonemes = phonemizer.phonemize("test", phoneme_separator="_")
self.assertEqual(phonemes, "t_ˈɛ_s_t")
def test_word_phoneme_separators(self):
"""Test with word and phoneme separators"""
phonemizer = Phonemizer(default_voice="en-us")
phonemes = phonemizer.phonemize(
"test 1", phoneme_separator="_", word_separator="#"
)
self.assertEqual(phonemes, "t_ˈɛ_s_t#w_ˈʌ_n")
def test_keep_clause_breakers(self):
"""Test keeping punctuation characters that break apart clauses"""
phonemizer = Phonemizer(default_voice="en-us")
phonemes = phonemizer.phonemize("test: 1, 2, 3!", keep_clause_breakers=True)
self.assertEqual(phonemes, "tˈɛst: wˈʌn, tˈuː, θɹˈiː!")
def test_keep_language_flags(self):
"""Test keeping language-switching flags"""
phonemizer = Phonemizer(default_voice="fr")
# Without language flags
phonemes = phonemizer.phonemize("library")
self.assertEqual(phonemes, "lˈaɪbɹəɹi")
# With language flags
phonemes = phonemizer.phonemize("library", keep_language_flags=True)
self.assertEqual(phonemes, "(en)lˈaɪbɹəɹi(fr)")