def test_numeric_operators(self): t1 = foo.Tupl() t1.x = 4 t1.y = 6 t2 = foo.Tupl() t2.x = 2 t2.y = 3 r = t1 + t2 self.assertEqual(r.x, t1.x + t2.x) self.assertEqual(r.y, t1.y + t2.y) r = t1 - t2 self.assertEqual(r.x, t1.x - t2.x) self.assertEqual(r.y, t1.y - t2.y) r = t1 * t2 self.assertEqual(r.x, t1.x * t2.x) self.assertEqual(r.y, t1.y * t2.y) r = t1 / t2 self.assertEqual(r.x, t1.x / t2.x) self.assertEqual(r.y, t1.y / t2.y)
def test_inplace_numeric_operators(self): t1 = foo.Tupl() t1.x = 4 t1.y = 6 t2 = foo.Tupl() t2.x = 2 t2.y = 3 t1 += t2 self.assertEqual(t1.x, 6) self.assertEqual(t1.y, 9) t1 -= t2 self.assertEqual(t1.x, 4) self.assertEqual(t1.y, 6) t1 *= t2 self.assertEqual(t1.x, 8) self.assertEqual(t1.y, 18) t1 /= t2 self.assertEqual(t1.x, 4) self.assertEqual(t1.y, 6) t1 += 3 self.assertEqual(t1.x, 7) self.assertEqual(t1.y, 9)
def test_unary_numeric_operators(self): t1 = foo.Tupl() t1.x = 4 t1.y = 6 t2 = -t1 self.assertEqual(t2.x, -4) self.assertEqual(t2.y, -6)
def test_richcompare(self): t1 = foo.Tupl() t1.x = 1 t1.y = 1 t2 = foo.Tupl() t2.x = 1 t2.y = 1 t3 = foo.Tupl() t3.x = 1 t3.y = 2 self.assertTrue(t1 == t2) self.assertTrue(not (t1 != t2)) self.assertTrue(t1 <= t2) self.assertTrue(t1 >= t2) self.assertTrue(t3 >= t2) self.assertTrue(t3 > t2) self.assertTrue(t2 <= t3) self.assertTrue(t2 < t3) self.assertTrue(t2 != t3) self.assertTrue(not (t2 == t3))