def test_atom_false(self): res = lispr.eval(self.atom_false_ast, self.environment) self.assertFalse(res)
def test_evaluate_cdr_list(self): res = lispr.eval(self.cdr_list_ast, self.environment) self.assertEqual([2, 3], res)
def test_atom_true(self): res = lispr.eval(self.atom_true_ast, self.environment) self.assertTrue(res)
def test_evaluate_cons(self): res = lispr.eval(self.cons_ast, self.environment) self.assertEqual([1, 2], res)
def test_evaluate_cdr(self): res = lispr.eval(self.cdr_ast, self.environment) self.assertEqual(2, res)
def test_evaluate_false_ast_eq(self): res = lispr.eval(self.eq_false_ast, self.environment) self.assertFalse(res)
def test_evaluate_nested_true_ast(self): res = lispr.eval(self.eq_nested_true_ast, self.environment) self.assertTrue(res)
def test_lambda_default(self): lispr.eval(self.lambda_exp, self.environment) res = lispr.eval(self.default_lambda, self.environment) self.assertEqual(25, res)
def test_eval_define(self): lispr.eval(self.define_ast, self.environment) self.assertIn("a", self.environment)
def test_cond_list_exp(self): res = lispr.eval(self.cond_list_exp, self.environment) self.assertEqual("(1 1)", res)
def test_cond_else(self): res = lispr.eval(self.cond_else, self.environment) self.assertEqual("three", res)
def test_cond(self): res = lispr.eval(self.cond, self.environment) self.assertEqual("two", res)
def test_define_mul(self): lispr.eval(self.define_ast, self.environment) res = lispr.eval(["a", 2, "*"], self.environment) self.assertEqual(2, res)
def test_eq_mul_div(self): res = lispr.eval([[5, [5, 5, "/"], "*"], 5, "eq?"], self.environment) self.assertTrue(res)