def test_app_equal(lhs, rhs): truth_value = try_decide_equal(lhs, rhs) assert truth_value in (True, False, None) if truth_value is True: expected = true elif truth_value is False: expected = false else: expected = APP(APP(QEQUAL, QUOTE(lhs)), QUOTE(rhs)) assert app(app(QEQUAL, QUOTE(lhs)), QUOTE(rhs)) is expected
def test_try_decide_equal_reflexive(term): assert try_decide_equal(term, term) is True
def test_try_decide_equal_incomparable(lhs, rhs): assert try_decide_equal(lhs, rhs) is False assert try_decide_equal(rhs, lhs) is False
def test_try_decide_equal_reflexive(code): assert try_decide_equal(code, code) is True