Esempio n. 1
0
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"])
Esempio n. 2
0
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"])