Exemplo n.º 1
0
def test_term_to_string():
    c = CFG()
    nonterm = c.new_nonterm("zxcv")
    nonterm1 = c.new_nonterm("zxcvs")
    assert (c.term_to_string(EPS) == "eps")
    assert (c.term_to_string("asdf") == "asdf")
    assert (c.term_to_string(nonterm) == "T0")
    c.symb["T0"] = ""
    assert (c.term_to_string(nonterm1) == "T1")
Exemplo n.º 2
0
def test_new_rule():
    c = CFG()
    rule = c.new_rule(c.new_nonterm("adsf"), "asdf")
    assert (rule.__name__ == "adsf")
    assert (rule.__qualname__ == "CFG.new_rule.<locals>.MyRule")
    assert (rule.rule[0][0].__name__ == "adsf")
    assert (rule.rule[0][0].__qualname__ == "CFG.new_nonterm.<locals>.Nonterm")
    assert (rule.rule[1] == "asdf")
Exemplo n.º 3
0
def test_new_nonterm():
    c = CFG()
    assert (c.new_nonterm("asdf").__name__ == "asdf")
    assert (c.new_nonterm("adsf").__qualname__
            ==
            "CFG.new_nonterm.<locals>.Nonterm")