def test_self_evaluation(self): self.assertEqual(visp.evaluate(visp.Exact(5), visp.Env()), visp.Exact(5)) self.assertEqual(visp.evaluate(visp.Inexact(6.0), visp.Env()), visp.Inexact(6.0)) self.assertEqual(visp.evaluate(visp.true, visp.Env()), visp.true) self.assertEqual(visp.evaluate(visp.false, visp.Env()), visp.false)
def setUp(self): self.base_env = visp.Env({'a': visp.Exact(2)})
def test_cons_repr(self): self.assertEqual( repr(visp.Cons(visp.Exact(1), visp.nil)), "Cons(Exact(1), Nil())")
def test_cdr_method(self): self.assertEqual( visp.Cons(visp.Exact(5), visp.Exact(6)).cdr, visp.Exact(6)) self.assertEqual(visp.nil.cdr, visp.nil)
def test_cons_str(self): self.assertEqual(str(visp.Cons(visp.Exact(1), visp.nil)), "(#e1)") self.assertEqual(str(visp.nil), "()")
def test_exact_repr(self): self.assertEqual(repr(visp.Exact(1)), "Exact(1)")
def test_exact_str(self): self.assertEqual(str(visp.Exact(1)), "#e1")
def test_exact_equality(self): self.assertEqual(visp.Exact(1), 1) self.assertEqual(visp.Exact(1), visp.Exact(1)) self.assertNotEqual(visp.Exact(1), visp.Symbol('1'))
def test_inexact_equality(self): self.assertEqual(visp.Inexact(1.0), 1.0) self.assertEqual(visp.Inexact(1.0), visp.Inexact(1.0)) self.assertNotEqual(visp.Inexact(1.0), visp.Exact(1))