summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorEthan Furman <ethan@stoneleaf.us>2016-01-15 23:03:12 (GMT)
committerEthan Furman <ethan@stoneleaf.us>2016-01-15 23:03:12 (GMT)
commitccf44b04458522e96d2cb451d2c4874bc118b4cc (patch)
tree363f03e37a96c591e6d81019bc851d1a07f9f721 /Lib
parent63b8505281f9c26f7304b3e00d658b429b862d5b (diff)
parent60255b67b986d4c448153bef16755599afbfdaa2 (diff)
downloadcpython-ccf44b04458522e96d2cb451d2c4874bc118b4cc.zip
cpython-ccf44b04458522e96d2cb451d2c4874bc118b4cc.tar.gz
cpython-ccf44b04458522e96d2cb451d2c4874bc118b4cc.tar.bz2
branch merge
Diffstat (limited to 'Lib')
-rw-r--r--Lib/enum.py3
-rw-r--r--Lib/test/test_enum.py17
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