Issue #1393: object_richcompare() returns NotImplemented instead of
False if the objects aren't equal, to give the other side a chance.
diff --git a/Lib/test/test_compare.py b/Lib/test/test_compare.py
index c660837..15fe3c2 100644
--- a/Lib/test/test_compare.py
+++ b/Lib/test/test_compare.py
@@ -16,6 +16,13 @@
def __eq__(self, other):
return self.arg == other
+class Anything:
+ def __eq__(self, other):
+ return True
+
+ def __ne__(self, other):
+ return False
+
class ComparisonTest(unittest.TestCase):
set1 = [2, 2.0, 2, 2+0j, Cmp(2.0)]
set2 = [[1], (3,), None, Empty()]
@@ -45,6 +52,15 @@
self.assertTrue(a == b)
self.assertFalse(a != b)
+ def test_issue_1393(self):
+ x = lambda: None
+ self.assertEqual(x, Anything())
+ self.assertEqual(Anything(), x)
+ y = object()
+ self.assertEqual(y, Anything())
+ self.assertEqual(Anything(), y)
+
+
def test_main():
test_support.run_unittest(ComparisonTest)