Exemplo n.º 1
0
 def testLongExpression(self):
     data1 = [
         "-", ["+", ["x", [], []], ["y", [], []]],
         ["/", ["*", ["z", [], []], ["a", [], []]], ["b", [], []]]
     ]  #x=30, y=20, z=100, a=10, b=5; x+y-z*a/b
     data2 = [["x", 30], ["y", 20], ["z", 100], ["a", 10], ["b", 5]]
     result = evalTree(data1, data2)
     self.assertEqual(-150, result)
Exemplo n.º 2
0
 def testDivisionByZero(self):
     data1 = ["/", ["x", [], []], ["0", [], []]]  #x=1; x/0
     data2 = [["x", 1]]
     result = evalTree(data1, data2)
     self.assertEqual(None, result)
Exemplo n.º 3
0
 def testBasicExpression(self):
     data1 = ["+", ["x", [], []], ["y", [], []]]  #x=1, y=2; x+y
     data2 = [["x", 1], ["y", 2]]
     result = evalTree(data1, data2)
     self.assertEqual(3, result)
Exemplo n.º 4
0
 def testAddition(self):
     result = evalTree(["+", ["a", [], []], ["b", [], []]],
                       [["a", 10], ["b", 20]])
     self.assertEqual(result, 30)
Exemplo n.º 5
0
 def testEnvironment(self):
     data1 = ["y", [], []]  #y=30, y
     data2 = [["a", 10], ["y", 30]]
     result = evalTree(data1, data2)
     self.assertEqual(30, result)
Exemplo n.º 6
0
 def test_3(self):
     test3Tree=["+",["a",[],[]],["*",["b",[],[]],["c",[],[]]]]
     test3Environment=[["a",10],["b",20],["c",30]]
     self.assertEqual(evalTree(test3Tree,test3Environment),610)
Exemplo n.º 7
0
 def testOne(self):
     result = evalTree(["1", [], []], [])
     self.assertEqual(result, 1)
Exemplo n.º 8
0
 def testChildMulti(self):
     result = evalTree([
         "+", ["a", [], []],
         ["*", ["+", ["a", [], []], ["a", [], []]], ["c", [], []]]
     ], [["a", 10], ["b", 20], ["c", 30]])
     self.assertEqual(result, 610)
Exemplo n.º 9
0
 def testEmpty(self):
     result = evalTree([[], [], []], [])
     self.assertEqual(result, None)
Exemplo n.º 10
0
 def testMultiplication(self):
     result = evalTree(["*", ["a", [], []], ["b", [], []]],
                       [["a", 10], ["b", 20]])
     self.assertEqual(result, 200)
Exemplo n.º 11
0
 def testDivision(self):
     result = evalTree(["/", ["a", [], []], ["b", [], []]],
                       [["a", 10], ["b", 20]])
     self.assertEqual(result, 0.5)
Exemplo n.º 12
0
 def testSubtraction(self):
     result = evalTree(["-", ["b", [], []], ["a", [], []]],
                       [["a", 10], ["b", 20]])
     self.assertEqual(result, 10)
Exemplo n.º 13
0
 def test_1(self):
     test1Tree=["10",[],[]]
     test1Environment=[["a",10],["b",20],["c",30]]
     self.assertEqual(evalTree(test1Tree,test1Environment),'10')
Exemplo n.º 14
0
 def test_4(self):
     test4Tree=["*",["b",[],[]],["c",[],[]]]
     test4Environment=[["a",10],["b",20],["c",30]]
     self.assertEqual(evalTree(test4Tree,test4Environment),600)
Exemplo n.º 15
0
 def testMissingVariable(self):
     data1 = ["+", ["x", [], []], ["y", [], []]]  #x=1; x/y
     data2 = [["x", 1]]
     result = evalTree(data1, data2)
     self.assertEqual(None, result)
Exemplo n.º 16
0
 def testZeroDivision(self):
     result = evalTree(["/", ["a", [], []], ["0", [], []]], [["a", 10]])
     self.assertEqual(result, None)
Exemplo n.º 17
0
 def testRoot(self):
     data1 = ["30", [], []]  #x=125,y=250,z=300; 30
     data2 = [["x", 125], ["y", 250], ["z", 300]]
     result = evalTree(data1, data2)
     self.assertEqual(30, result)
Exemplo n.º 18
0
 def test_2(self):
     test2Tree=["x1",[],[]]
     test2Environment=[["a",10],["x1",30]]
  
     self.assertEqual(evalTree(test2Tree,test2Environment),30)