tests
This commit is contained in:
parent
6da93ed87f
commit
a901694ba2
1 changed files with 17 additions and 3 deletions
14
chapter7.py
14
chapter7.py
|
|
@ -1046,6 +1046,20 @@ class TestEvaluator(unittest.TestCase):
|
||||||
''')
|
''')
|
||||||
self.assertEqual(e.evaluate('foo(1, 2, 3)'), 1500)
|
self.assertEqual(e.evaluate('foo(1, 2, 3)'), 1500)
|
||||||
|
|
||||||
|
def test_assignments(self):
|
||||||
|
e = KaleidoscopeEvaluator()
|
||||||
|
e.evaluate('def binary : 1 (x y) y')
|
||||||
|
e.evaluate('''
|
||||||
|
def foo(a b)
|
||||||
|
var s, p, r in
|
||||||
|
s = a + b :
|
||||||
|
p = a * b :
|
||||||
|
r = s + 100 * p :
|
||||||
|
r
|
||||||
|
''')
|
||||||
|
self.assertEqual(e.evaluate('foo(2, 3)'), 605)
|
||||||
|
self.assertEqual(e.evaluate('foo(10, 20)'), 20030)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
kalei = KaleidoscopeEvaluator()
|
kalei = KaleidoscopeEvaluator()
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue