예제 #1
0
def test_glob_question():
    nfa = glob.glob_automaton("?")
    assert not nfa.accept("")
    assert nfa.accept("a")
    assert not nfa.accept("aa")

    nfa = glob.glob_automaton("a?c")
    assert not nfa.accept("a")
    assert not nfa.accept("ac")
    assert nfa.accept("abc")
    assert not nfa.accept("aba")
예제 #2
0
def test_glob_question():
    nfa = glob.glob_automaton("?")
    assert not nfa.accept("")
    assert nfa.accept("a")
    assert not nfa.accept("aa")

    nfa = glob.glob_automaton("a?c")
    assert not nfa.accept("a")
    assert not nfa.accept("ac")
    assert nfa.accept("abc")
    assert not nfa.accept("aba")
예제 #3
0
def test_glob_range():
    nfa = glob.glob_automaton("[ab][cd]")
    assert not nfa.accept("")
    assert not nfa.accept("a")
    assert not nfa.accept("c")
    assert nfa.accept("ac")
    assert nfa.accept("bc")
    assert nfa.accept("ad")
    assert nfa.accept("bd")
    assert not nfa.accept("acc")
예제 #4
0
def test_glob_range():
    nfa = glob.glob_automaton("[ab][cd]")
    assert not nfa.accept("")
    assert not nfa.accept("a")
    assert not nfa.accept("c")
    assert nfa.accept("ac")
    assert nfa.accept("bc")
    assert nfa.accept("ad")
    assert nfa.accept("bd")
    assert not nfa.accept("acc")
예제 #5
0
def test_glob_star():
    nfa = glob.glob_automaton("a*c")
    assert not nfa.accept("a")
    assert not nfa.accept("c")
    assert nfa.accept("ac")
    assert nfa.accept("abc")
    assert nfa.accept("abcc")
    assert nfa.accept("abcac")
    assert nfa.accept("aaaaaaaaaac")
    assert not nfa.accept("abb")

    dfa = nfa.to_dfa()
    assert not dfa.accept("a")
    assert not dfa.accept("c")
    assert dfa.accept("ac")
    assert dfa.accept("abc")
    assert dfa.accept("abcc")
    assert dfa.accept("abcac")
    assert not dfa.accept("abb")
예제 #6
0
def test_glob_star():
    nfa = glob.glob_automaton("a*c")
    assert not nfa.accept("a")
    assert not nfa.accept("c")
    assert nfa.accept("ac")
    assert nfa.accept("abc")
    assert nfa.accept("abcc")
    assert nfa.accept("abcac")
    assert nfa.accept("aaaaaaaaaac")
    assert not nfa.accept("abb")

    dfa = nfa.to_dfa()
    assert not dfa.accept("a")
    assert not dfa.accept("c")
    assert dfa.accept("ac")
    assert dfa.accept("abc")
    assert dfa.accept("abcc")
    assert dfa.accept("abcac")
    assert not dfa.accept("abb")