Пример #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)
Пример #2
0
 def testDivisionByZero(self):
     data1 = ["/", ["x", [], []], ["0", [], []]]  #x=1; x/0
     data2 = [["x", 1]]
     result = evalTree(data1, data2)
     self.assertEqual(None, result)
Пример #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)
Пример #4
0
 def testAddition(self):
     result = evalTree(["+", ["a", [], []], ["b", [], []]],
                       [["a", 10], ["b", 20]])
     self.assertEqual(result, 30)
Пример #5
0
 def testEnvironment(self):
     data1 = ["y", [], []]  #y=30, y
     data2 = [["a", 10], ["y", 30]]
     result = evalTree(data1, data2)
     self.assertEqual(30, result)
Пример #6
0
 def test_3(self):
     test3Tree=["+",["a",[],[]],["*",["b",[],[]],["c",[],[]]]]
     test3Environment=[["a",10],["b",20],["c",30]]
     self.assertEqual(evalTree(test3Tree,test3Environment),610)
Пример #7
0
 def testOne(self):
     result = evalTree(["1", [], []], [])
     self.assertEqual(result, 1)
Пример #8
0
 def testChildMulti(self):
     result = evalTree([
         "+", ["a", [], []],
         ["*", ["+", ["a", [], []], ["a", [], []]], ["c", [], []]]
     ], [["a", 10], ["b", 20], ["c", 30]])
     self.assertEqual(result, 610)
Пример #9
0
 def testEmpty(self):
     result = evalTree([[], [], []], [])
     self.assertEqual(result, None)
Пример #10
0
 def testMultiplication(self):
     result = evalTree(["*", ["a", [], []], ["b", [], []]],
                       [["a", 10], ["b", 20]])
     self.assertEqual(result, 200)
Пример #11
0
 def testDivision(self):
     result = evalTree(["/", ["a", [], []], ["b", [], []]],
                       [["a", 10], ["b", 20]])
     self.assertEqual(result, 0.5)
Пример #12
0
 def testSubtraction(self):
     result = evalTree(["-", ["b", [], []], ["a", [], []]],
                       [["a", 10], ["b", 20]])
     self.assertEqual(result, 10)
Пример #13
0
 def test_1(self):
     test1Tree=["10",[],[]]
     test1Environment=[["a",10],["b",20],["c",30]]
     self.assertEqual(evalTree(test1Tree,test1Environment),'10')
Пример #14
0
 def test_4(self):
     test4Tree=["*",["b",[],[]],["c",[],[]]]
     test4Environment=[["a",10],["b",20],["c",30]]
     self.assertEqual(evalTree(test4Tree,test4Environment),600)
Пример #15
0
 def testMissingVariable(self):
     data1 = ["+", ["x", [], []], ["y", [], []]]  #x=1; x/y
     data2 = [["x", 1]]
     result = evalTree(data1, data2)
     self.assertEqual(None, result)
Пример #16
0
 def testZeroDivision(self):
     result = evalTree(["/", ["a", [], []], ["0", [], []]], [["a", 10]])
     self.assertEqual(result, None)
Пример #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)
Пример #18
0
 def test_2(self):
     test2Tree=["x1",[],[]]
     test2Environment=[["a",10],["x1",30]]
  
     self.assertEqual(evalTree(test2Tree,test2Environment),30)