diff options
author | Ethan Furman <ethan@stoneleaf.us> | 2016-01-15 23:03:12 (GMT) |
---|---|---|
committer | Ethan Furman <ethan@stoneleaf.us> | 2016-01-15 23:03:12 (GMT) |
commit | ccf44b04458522e96d2cb451d2c4874bc118b4cc (patch) | |
tree | 363f03e37a96c591e6d81019bc851d1a07f9f721 /Lib | |
parent | 63b8505281f9c26f7304b3e00d658b429b862d5b (diff) | |
parent | 60255b67b986d4c448153bef16755599afbfdaa2 (diff) | |
download | cpython-ccf44b04458522e96d2cb451d2c4874bc118b4cc.zip cpython-ccf44b04458522e96d2cb451d2c4874bc118b4cc.tar.gz cpython-ccf44b04458522e96d2cb451d2c4874bc118b4cc.tar.bz2 |
branch merge
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/enum.py | 3 | ||||
-rw-r--r-- | Lib/test/test_enum.py | 17 |
2 files changed, 16 insertions, 4 deletions
diff --git a/Lib/enum.py b/Lib/enum.py index 35a9c77..ac89d6b 100644 --- a/Lib/enum.py +++ b/Lib/enum.py @@ -482,9 +482,6 @@ class Enum(metaclass=EnumMeta): def __str__(self): return "%s.%s" % (self.__class__.__name__, self._name_) - def __bool__(self): - return bool(self._value_) - def __dir__(self): added_behavior = [ m diff --git a/Lib/test/test_enum.py b/Lib/test/test_enum.py index e4e6c2b..7985948 100644 --- a/Lib/test/test_enum.py +++ b/Lib/test/test_enum.py @@ -272,11 +272,26 @@ class TestEnum(unittest.TestCase): _any_name_ = 9 def test_bool(self): + # plain Enum members are always True class Logic(Enum): true = True false = False self.assertTrue(Logic.true) - self.assertFalse(Logic.false) + self.assertTrue(Logic.false) + # unless overridden + class RealLogic(Enum): + true = True + false = False + def __bool__(self): + return bool(self._value_) + self.assertTrue(RealLogic.true) + self.assertFalse(RealLogic.false) + # mixed Enums depend on mixed-in type + class IntLogic(int, Enum): + true = 1 + false = 0 + self.assertTrue(IntLogic.true) + self.assertFalse(IntLogic.false) def test_contains(self): Season = self.Season |