diff options
author | Benjamin Peterson <benjamin@python.org> | 2009-10-15 03:06:55 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2009-10-15 03:06:55 (GMT) |
commit | c63457b18e986ae74a13e5b6601bdbd58e909c84 (patch) | |
tree | 906f6ead74945d99c97f1082b231908b2ecb8600 /Lib/test | |
parent | ca2d2529cee492ea0ac2b88ba0fdeb75fff0781a (diff) | |
download | cpython-c63457b18e986ae74a13e5b6601bdbd58e909c84.zip cpython-c63457b18e986ae74a13e5b6601bdbd58e909c84.tar.gz cpython-c63457b18e986ae74a13e5b6601bdbd58e909c84.tar.bz2 |
make inspect.isabstract() always return a boolean; add a test for it, too #7069
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_inspect.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py index e4c4ee8..f20b26c 100644 --- a/Lib/test/test_inspect.py +++ b/Lib/test/test_inspect.py @@ -115,6 +115,29 @@ class TestPredicates(IsTestBase): self.assertTrue('a' in members) self.assertTrue('b' not in members) + def test_isabstract(self): + from abc import ABCMeta, abstractmethod + + class AbstractClassExample(object): + __metaclass__ = ABCMeta + + @abstractmethod + def foo(self): + pass + + class ClassExample(AbstractClassExample): + def foo(self): + pass + + a = ClassExample() + + # Test general behaviour. + self.assertTrue(inspect.isabstract(AbstractClassExample)) + self.assertFalse(inspect.isabstract(ClassExample)) + self.assertFalse(inspect.isabstract(a)) + self.assertFalse(inspect.isabstract(int)) + self.assertFalse(inspect.isabstract(5)) + class TestInterpreterStack(IsTestBase): def __init__(self, *args, **kwargs): |