Ejemplo n.º 1
0
Archivo: test.py Proyecto: winkar/lisp
 def testCons(self):
     self.assertEqual(interpret('(cons (quote (a b)) (quote (a b)))'),
                      '((a b) a b)')
     self.assertEqual(interpret('(cons (quote a) (quote (a b)))'),
                      '(a a b)')
Ejemplo n.º 2
0
Archivo: test.py Proyecto: winkar/lisp
 def testCdr(self):
     self.assertEqual(interpret('(cdr (quote (a b c)))'), '(b c)')
     self.assertEqual(interpret('(cdr (quote((a b) (b c) c)))'),
                      '((b c) c)')
Ejemplo n.º 3
0
Archivo: test.py Proyecto: winkar/lisp
 def testCar(self):
     self.assertEqual(interpret('(car (quote(a b c)))'), 'a')
     self.assertEqual(interpret('(car (quote((a b) b c)))'), '(a b)')
     with self.assertRaises(SyntaxError):
         interpret('(car (a b c))')
Ejemplo n.º 4
0
Archivo: test.py Proyecto: winkar/lisp
 def testEq(self):
     self.assertEqual(interpret('(eq (atom ()) (atom ()))'), 't')
     self.assertEqual(interpret('(eq (quote (a b)) (quote (a b)))'), 't')
     self.assertEqual(interpret('(eq (atom a ) (atom ()))'), 'nil')
     self.assertEqual(interpret('(eq (quote (a c)) (quote (a b)))'), 'nil')
Ejemplo n.º 5
0
Archivo: test.py Proyecto: winkar/lisp
 def testAtom(self):
     self.assertEqual(interpret('(atom ())'), 'nil')
     self.assertEqual(interpret('(atom (a (b c)))'), 'nil')
     self.assertEqual(interpret('(atom 1)'), 't')
     self.assertEqual(interpret('(atom a)'), 't')
Ejemplo n.º 6
0
Archivo: test.py Proyecto: winkar/lisp
 def testQuote(self):
     self.assertEqual(interpret('(quote (a b (c d)))'), '(a b (c d))')
     self.assertEqual(interpret('(quote (1 (2 3)))'), '(1 (2 3))')
     self.assertEqual(interpret('(quote a)'), 'a')