def test_latin_parse_diacritics(self): """Test the Transcriber class's `_parse_diacritics` in Latin.""" inputs = ["a", "ū", "ï"] transcriber = lat.Transcriber("Classical", "Allen") outputs = [transcriber._parse_diacritics(char) for char in inputs] target = [unicodedata.normalize('NFC', c) for c in ["a///", "u/" + lat.chars.LONG + "//", "i//" + lat.chars.DIAERESIS + "/"]] self.assertEqual(outputs, target)
def test_transcriber_allen_with_macronizer(self): """Test Classical Latin IPA transcription via Allen reconstruction,\ with automatic macronization.""" transcriber = lat.Transcriber("Classical", "Allen").transcribe transcription = transcriber( "Quo usque tandem, O Catilina, abutere nostra patientia?", macronize=True) target = ("['kʷoː 'ʊs.kʷɛ 't̪an̪.d̪ẽː 'oː ka.t̪ɪ.'liː.n̪aː a.buː.'t̪eː.rɛ" + " 'n̪ɔs.t̪raː pa.t̪ɪ̣.'jɛn̪.t̪ɪ̣.ja]") self.assertEqual(transcription, target)
def test_latin_prep_text(self): """Test the Transcriber class's `_prep_text` in Latin.""" inputs = ["ūnam", "qui", "Belgae"] transcriber = lat.Transcriber("Classical", "Allen") outputs = [transcriber._prep_text(w) for w in inputs] target = [[('u', '̄', ''), ('n', '', ''), ('a', '', ''), ('m', '', '')], [('qu', '', ''), ('i', '', '')], [('b', '', ''), ('e', '', ''), ('l', '', ''), ('g', '', ''), ("ae", '', '')]] self.assertEqual(outputs, target)
def test_transcriber_allen_without_macronizer(self): """Test Classical Latin IPA transcription via Allen reconstruction,\ input pre-macronized.""" transcriber = lat.Transcriber("Classical", "Allen").transcribe transcription = [transcriber(x, macronize=False) for x in [unicodedata.normalize('NFC', y) for y in ["Trōiae", "Gallia", "dīuīsa", "ūnam", "incolunt", "Belgae"]]] target = [unicodedata.normalize('NFC', y) for y in ["['t̪roːj.jaj]", "['gaɫ.lɪ̣.ja]", "[d̪iː.'wiː.sa]", "['uː.n̪ãː]", "['ɪŋ.kɔ.lʊn̪t̪]", "['bɛɫ.gaj]"]] self.assertEqual(transcription, target)
def setUpClass(self): self.greek_transcriber = grc.Transcriber("Attic", "Probert") self.latin_transcriber = lat.Transcriber("Classical", "Allen")
def setUpClass(cls): cls.greek_transcriber = grc.Transcriber("Attic", "Probert") cls.latin_transcriber = lat.Transcriber("Classical", "Allen")