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")
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")
def test_new_nonterm(): c = CFG() assert (c.new_nonterm("asdf").__name__ == "asdf") assert (c.new_nonterm("adsf").__qualname__ == "CFG.new_nonterm.<locals>.Nonterm")