(self)
| 370 | |
| 371 | class OperationOrderTests(unittest.TestCase): |
| 372 | def test_comparison_orders(self): |
| 373 | self.assertEqual(op_sequence(eq, A, A), ['A.__eq__', 'A.__eq__']) |
| 374 | self.assertEqual(op_sequence(eq, A, B), ['A.__eq__', 'B.__eq__']) |
| 375 | self.assertEqual(op_sequence(eq, B, A), ['B.__eq__', 'A.__eq__']) |
| 376 | # C is a subclass of B, so C.__eq__ is called first |
| 377 | self.assertEqual(op_sequence(eq, B, C), ['C.__eq__', 'B.__eq__']) |
| 378 | self.assertEqual(op_sequence(eq, C, B), ['C.__eq__', 'B.__eq__']) |
| 379 | |
| 380 | self.assertEqual(op_sequence(le, A, A), ['A.__le__', 'A.__ge__']) |
| 381 | self.assertEqual(op_sequence(le, A, B), ['A.__le__', 'B.__ge__']) |
| 382 | self.assertEqual(op_sequence(le, B, A), ['B.__le__', 'A.__ge__']) |
| 383 | self.assertEqual(op_sequence(le, B, C), ['C.__ge__', 'B.__le__']) |
| 384 | self.assertEqual(op_sequence(le, C, B), ['C.__le__', 'B.__ge__']) |
| 385 | |
| 386 | self.assertIsSubclass(V, B) |
| 387 | self.assertEqual(op_sequence(eq, B, V), ['B.__eq__', 'V.__eq__']) |
| 388 | self.assertEqual(op_sequence(le, B, V), ['B.__le__', 'V.__ge__']) |
| 389 | |
| 390 | class SupEq(object): |
| 391 | """Class that can test equality""" |
nothing calls this directly
no test coverage detected