def test_generate_form_outside_of_alphabet(eat_fst: FST): """ Generating forms with characters outside of the upper alphabet should reject instantly. """ assert set(eat_fst.generate('wug' '+N' '+Pl')) == set()
def test_flag_fst(surface_form: str, analysis, english_flags_fst: FST): """ Analyze and generate on an FST **WITH** simple flag diacritics. """ assert set(english_flags_fst.analyze(surface_form)) == {analysis} assert set(english_flags_fst.generate(''.join(analysis))) == {surface_form}
def test_cree_hfstol_generation(cree_hfstol_generator: FST, word, analysis): """ Test that cree hfstol work """ assert set(cree_hfstol_generator.generate(''.join(analysis))) == set(word)
def test_generate_eat_fst(analysis: str, surface_form: set, eat_fst: FST): """ Apply down (generate) on an FST **WITHOUT** flag diacritics. """ actual, = eat_fst.generate(analysis) assert actual == surface_form
def test_cree_foma_generation(cree_foma_generator: FST, word, analysis): """ Test that cree fomabin work """ assert set(cree_foma_generator.generate(''.join(analysis))) == set(word)