Skip to content

Commit be3c2fe

Browse files
committed
removed Enum.__eq__ as it added nothing
1 parent 82e9f32 commit be3c2fe

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

Lib/enum.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -447,11 +447,6 @@ def __dir__(self):
447447
return (['__class__', '__doc__', '__module__', 'name', 'value'] +
448448
added_behavior)
449449

450-
def __eq__(self, other):
451-
if type(other) is self.__class__:
452-
return self is other
453-
return NotImplemented
454-
455450
def __format__(self, format_spec):
456451
# mixed-in Enums should use the mixed-in type's __format__, otherwise
457452
# we can get strange results with the Enum name showing up instead of

Lib/test/test_enum.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1030,6 +1030,15 @@ class Color(AutoNumber):
10301030
self.assertEqual(list(Color), [Color.red, Color.green, Color.blue])
10311031
self.assertEqual(list(map(int, Color)), [1, 2, 3])
10321032

1033+
def test_equality(self):
1034+
class AlwaysEqual:
1035+
def __eq__(self, other):
1036+
return True
1037+
class OrdinaryEnum(Enum):
1038+
a = 1
1039+
self.assertEqual(AlwaysEqual(), OrdinaryEnum.a)
1040+
self.assertEqual(OrdinaryEnum.a, AlwaysEqual())
1041+
10331042
def test_ordered_mixin(self):
10341043
class OrderedEnum(Enum):
10351044
def __ge__(self, other):
@@ -1058,6 +1067,8 @@ class Grade(OrderedEnum):
10581067
self.assertLessEqual(Grade.F, Grade.C)
10591068
self.assertLess(Grade.D, Grade.A)
10601069
self.assertGreaterEqual(Grade.B, Grade.B)
1070+
self.assertEqual(Grade.B, Grade.B)
1071+
self.assertNotEqual(Grade.C, Grade.D)
10611072

10621073
def test_extending2(self):
10631074
class Shade(Enum):

0 commit comments

Comments
 (0)