def testISub(self): tmp = copy.deepcopy(self.var1) tmp -= self.var2 self.assertEqual(tmp, Var({'x': -3, 'y': 1, 'z': -5}, -7)) tmp = copy.deepcopy(self.var1) tmp -= 20 self.assertEqual(tmp, Var({'x':2, 'y': 1}, -17))
def test_initialized(self): tests = [ ("var x = 1;", Var("x", one)), ("var x = 1 + 2;", Var("x", Binary(one, op("+"), two))), ] for (source, exp) in tests: var = Parser(scan(source)).parse()[0] assert var == exp
def test_uninitialized(self): tests = [ ("var x;", Var("x", None)), ] for (source, exp) in tests: var = Parser(scan(source)).parse()[0] assert var == exp
def setUp(self): self.var1 = Var({'x': 2, 'y': 1}, 3) self.var2 = Var({'x': 5, 'y': 0, 'z': 5}, 10)
def testMul(self): self.assertEqual(self.var2 * -5, Var({'x': -25, 'y': 0, 'z': -25}, -50))
def testIMul(self): tmp = copy.deepcopy(self.var1) tmp *= 10 self.assertEqual(tmp, Var({'x': 20, 'y': 10}, 30))
def testRMul(self): self.assertEqual(10 * self.var1, Var({'x': 20, 'y': 10}, 30))
def testRSub(self): self.assertEqual(-20 - self.var1, Var({'x': -2, 'y': -1}, -23))
def testSub(self): self.assertEqual(self.var1 - self.var2, Var({'x': -3, 'y': 1, 'z': -5}, -7)) self.assertEqual(self.var1 - (-2), Var({'x': 2, 'y': 1}, 5))
def testRAdd(self): self.assertEqual(-10 + self.var1, Var({'x': 2, 'y': 1}, -7))
def testIAdd(self): tmp = copy.deepcopy(self.var1) tmp += self.var2 self.assertEqual(tmp, Var({'x': 7, 'y': 1, 'z': 5}, 13))
def testAdd(self): self.assertEqual(self.var1 + self.var2, Var({'x': 7, 'y': 1, 'z': 5}, 13)) self.assertEqual(self.var1 + 10, Var({'x': 2, 'y': 1}, 13))