def test_issue_6_a(): fsa = FSA.make_empty(allow_overlap=True) (fsa .add_state("start") .add_transition("a", "s1") .add_state("s1") .add_transition("b", "s2") .add_transition("b", "s3", silent=True) .add_state("s2", max_noise=1) .add_transition("c", "finish") .add_state("s3", max_noise=1) .add_transition("d", "finish") .add_state("finish", terminal=True) .check_structure() ) assert_matches(fsa, "abcd", ["abc", "ad"])
def test_issue_7(): fsa = FSA.from_dict({ "allow_overlap": True, "states": { "start": { "default_transition": { "target": "s1" } }, "s1": { "default_transition": { "target": "s2" } }, "s2": { "terminal": True } } }) assert_matches(fsa, "ab", ["ab"])