def test_richcompare(self): self.assertIs(Complex.__eq__(1 + 1j, 1 << 10000), False) self.assertIs(Complex.__lt__(1 + 1j, None), NotImplemented) self.assertIs(Complex.__eq__(1 + 1j, 1 + 1j), True) self.assertIs(Complex.__eq__(1 + 1j, 2 + 2j), False) self.assertIs(Complex.__ne__(1 + 1j, 1 + 1j), False) self.assertIs(Complex.__ne__(1 + 1j, 2 + 2j), True) for i in range(1, 100): f = i / 100.0 self.assertIs(Complex.__eq__(f + 0j, f), True) self.assertIs(Complex.__ne__(f + 0j, f), False) self.assertIs(Complex.__eq__(Complex(f, f), f), False) self.assertIs(Complex.__ne__(Complex(f, f), f), True) self.assertIs(Complex.__lt__(1 + 1j, 2 + 2j), NotImplemented) self.assertIs(Complex.__le__(1 + 1j, 2 + 2j), NotImplemented) self.assertIs(Complex.__gt__(1 + 1j, 2 + 2j), NotImplemented) self.assertIs(Complex.__ge__(1 + 1j, 2 + 2j), NotImplemented) self.assertRaises(TypeError, operator.lt, 1 + 1j, 2 + 2j) self.assertRaises(TypeError, operator.le, 1 + 1j, 2 + 2j) self.assertRaises(TypeError, operator.gt, 1 + 1j, 2 + 2j) self.assertRaises(TypeError, operator.ge, 1 + 1j, 2 + 2j) self.assertIs(operator.eq(1 + 1j, 1 + 1j), True) self.assertIs(operator.eq(1 + 1j, 2 + 2j), False) self.assertIs(operator.ne(1 + 1j, 1 + 1j), False) self.assertIs(operator.ne(1 + 1j, 2 + 2j), True)
def check(n, deltas, is_equal, imag=0.0): for delta in deltas: i = n + delta z = Complex(i, imag) self.assertIs(Complex.__eq__(z, i), is_equal(delta)) self.assertIs(Complex.__ne__(z, i), not is_equal(delta))