diff options
author | Ethan Furman <ethan@stoneleaf.us> | 2016-08-20 14:19:31 (GMT) |
---|---|---|
committer | Ethan Furman <ethan@stoneleaf.us> | 2016-08-20 14:19:31 (GMT) |
commit | e8e61277ff31d7b5ae87ca21808c4a6fbdab4954 (patch) | |
tree | f44a362609960627ade0521c9b8de0c1dfbc2693 /Lib/test | |
parent | 3e458755782e8f63dd9eb29cb134c2b65657d17f (diff) | |
download | cpython-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.py | 62 |
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): |