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