def test_eval(): interpreter = pylambda.UntypedLambda(expression=STRING) assert interpreter.eval(expression=STRING.split()) == [ 'λ', 'y', '.', '[', 'λ', 'z', '.', '[', 'z', ']', ']' ] assert interpreter.eval(expression=STRING) == [ 'λ', 'y', '.', '[', 'λ', 'z', '.', '[', 'z', ']', ']' ]
def test_ill_formed_error_5(): with pytest.raises(ValueError) as error: interpreter = pylambda.UntypedLambda() interpreter.wffchecker(expression=[])
def test_write(): with open(FILENAME, "w") as f: f.write(STRING) interpreter = pylambda.UntypedLambda(FILENAME) assert interpreter.check() == True os.remove(FILENAME)
def test_ill_formed_error_3(): with pytest.raises(IndexError) as error: interpreter = pylambda.UntypedLambda() interpreter.eval(expression=["λ", "x"])
def test_ill_formed_error_1(): with pytest.raises(ValueError) as error: interpreter = pylambda.UntypedLambda(expression=["]", ")"]) interpreter.check()
def test_find_paren(): interpreter = pylambda.UntypedLambda(expression=STRING) assert interpreter.find_parens() == (OrderedDict([ (3, 5), (14, 16), (10, 17), (6, 18) ]), [3, 14, 10, 6])
def test_expression_str(): interpreter = pylambda.UntypedLambda(expression=STRING.split()) assert interpreter.check() == True
def test_tokenize_ignore(): interpreter = pylambda.UntypedLambda(expression="λx") assert interpreter.tokenize(expression=["λ", "x"]) == ["λ", "x"]