def test_choice(): n = fsa.choice_nfa(fsa.basic_nfa("a"), fsa.choice_nfa(fsa.basic_nfa("b"), fsa.basic_nfa("c"))) assert not n.accept("") assert n.accept("a") assert n.accept("b") assert n.accept("c") assert not n.accept("d") assert not n.accept("aa") assert not n.accept("ab") assert not n.accept("abc")
def test_regular(): ex = fsa.star_nfa(fsa.choice_nfa(fsa.basic_nfa("a"), fsa.basic_nfa("b"))) assert ex.accept("") assert ex.accept("a") assert ex.accept("aaaa") assert ex.accept("b") assert ex.accept("bbbb") assert ex.accept("abab") assert ex.accept("babb") ex = fsa.concat_nfa( fsa.basic_nfa("a"), fsa.concat_nfa(fsa.optional_nfa(fsa.basic_nfa("b")), fsa.basic_nfa("c"))) assert ex.accept("ac") assert ex.accept("abc") assert not ex.accept("ab") assert not ex.accept("bc")
def test_regular(): ex = fsa.star_nfa(fsa.choice_nfa(fsa.basic_nfa("a"), fsa.basic_nfa("b"))) assert ex.accept("") assert ex.accept("a") assert ex.accept("aaaa") assert ex.accept("b") assert ex.accept("bbbb") assert ex.accept("abab") assert ex.accept("babb") ex = fsa.concat_nfa( fsa.basic_nfa("a"), fsa.concat_nfa( fsa.optional_nfa(fsa.basic_nfa("b")), fsa.basic_nfa("c") ) ) assert ex.accept("ac") assert ex.accept("abc") assert not ex.accept("ab") assert not ex.accept("bc")