summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorEthan Furman <ethan@stoneleaf.us>2016-08-20 14:19:31 (GMT)
committerEthan Furman <ethan@stoneleaf.us>2016-08-20 14:19:31 (GMT)
commite8e61277ff31d7b5ae87ca21808c4a6fbdab4954 (patch)
treef44a362609960627ade0521c9b8de0c1dfbc2693 /Lib/test
parent3e458755782e8f63dd9eb29cb134c2b65657d17f (diff)
downloadcpython-e8e61277ff31d7b5ae87ca21808c4a6fbdab4954.zip
cpython-e8e61277ff31d7b5ae87ca21808c4a6fbdab4954.tar.gz
cpython-e8e61277ff31d7b5ae87ca21808c4a6fbdab4954.tar.bz2
issue26981: add _order_ compatibility shim to enum.Enum
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_enum.py62
1 files changed, 62 insertions, 0 deletions
diff --git a/Lib/test/test_enum.py b/Lib/test/test_enum.py
index 564c0e9..2d4519e 100644
--- a/Lib/test/test_enum.py
+++ b/Lib/test/test_enum.py
@@ -1571,6 +1571,68 @@ class TestEnum(unittest.TestCase):
self.assertEqual(LabelledList(1), LabelledList.unprocessed)
+class TestOrder(unittest.TestCase):
+
+ def test_same_members(self):
+ class Color(Enum):
+ _order_ = 'red green blue'
+ red = 1
+ green = 2
+ blue = 3
+
+ def test_same_members_with_aliases(self):
+ class Color(Enum):
+ _order_ = 'red green blue'
+ red = 1
+ green = 2
+ blue = 3
+ verde = green
+
+ def test_same_members_wrong_order(self):
+ with self.assertRaisesRegex(TypeError, 'member order does not match _order_'):
+ class Color(Enum):
+ _order_ = 'red green blue'
+ red = 1
+ blue = 3
+ green = 2
+
+ def test_order_has_extra_members(self):
+ with self.assertRaisesRegex(TypeError, 'member order does not match _order_'):
+ class Color(Enum):
+ _order_ = 'red green blue purple'
+ red = 1
+ green = 2
+ blue = 3
+
+ def test_order_has_extra_members_with_aliases(self):
+ with self.assertRaisesRegex(TypeError, 'member order does not match _order_'):
+ class Color(Enum):
+ _order_ = 'red green blue purple'
+ red = 1
+ green = 2
+ blue = 3
+ verde = green
+
+ def test_enum_has_extra_members(self):
+ with self.assertRaisesRegex(TypeError, 'member order does not match _order_'):
+ class Color(Enum):
+ _order_ = 'red green blue'
+ red = 1
+ green = 2
+ blue = 3
+ purple = 4
+
+ def test_enum_has_extra_members_with_aliases(self):
+ with self.assertRaisesRegex(TypeError, 'member order does not match _order_'):
+ class Color(Enum):
+ _order_ = 'red green blue'
+ red = 1
+ green = 2
+ blue = 3
+ purple = 4
+ verde = green
+
+
class TestUnique(unittest.TestCase):
def test_unique_clean(self):