mirror of
https://github.com/python/cpython.git
synced 2025-07-30 14:44:10 +00:00
#7031: Add TestCase.assertIsInstance and negated method.
This commit is contained in:
parent
46cc46af07
commit
f895cf5d33
3 changed files with 41 additions and 0 deletions
|
@ -955,6 +955,22 @@ Test cases
|
||||||
.. versionadded:: 2.7
|
.. versionadded:: 2.7
|
||||||
|
|
||||||
|
|
||||||
|
.. method:: assertIsInstance(obj, cls[, msg])
|
||||||
|
|
||||||
|
This signals a test failure if *obj* is not an instance of *cls* (which
|
||||||
|
can be a class or a tuple of classes, as supported by :func:`isinstance`).
|
||||||
|
|
||||||
|
.. versionadded:: 2.7
|
||||||
|
|
||||||
|
|
||||||
|
.. method:: assertNotIsInstance(obj, cls[, msg])
|
||||||
|
|
||||||
|
The inverse of the :meth:`assertIsInstance` method. This signals a test
|
||||||
|
failure if *obj* is an instance of *cls*.
|
||||||
|
|
||||||
|
.. versionadded:: 2.7
|
||||||
|
|
||||||
|
|
||||||
.. method:: assertFalse(expr[, msg])
|
.. method:: assertFalse(expr[, msg])
|
||||||
failIf(expr[, msg])
|
failIf(expr[, msg])
|
||||||
|
|
||||||
|
|
|
@ -2500,6 +2500,18 @@ class Test_TestCase(TestCase, TestEquality, TestHashing):
|
||||||
self.assertIsNot(thing, object())
|
self.assertIsNot(thing, object())
|
||||||
self.assertRaises(self.failureException, self.assertIsNot, thing, thing)
|
self.assertRaises(self.failureException, self.assertIsNot, thing, thing)
|
||||||
|
|
||||||
|
def testAssertIsInstance(self):
|
||||||
|
thing = []
|
||||||
|
self.assertIsInstance(thing, list)
|
||||||
|
self.assertRaises(self.failureException, self.assertIsInstance,
|
||||||
|
thing, dict)
|
||||||
|
|
||||||
|
def testAssertNotIsInstance(self):
|
||||||
|
thing = []
|
||||||
|
self.assertNotIsInstance(thing, dict)
|
||||||
|
self.assertRaises(self.failureException, self.assertNotIsInstance,
|
||||||
|
thing, list)
|
||||||
|
|
||||||
def testAssertIn(self):
|
def testAssertIn(self):
|
||||||
animals = {'monkey': 'banana', 'cow': 'grass', 'seal': 'fish'}
|
animals = {'monkey': 'banana', 'cow': 'grass', 'seal': 'fish'}
|
||||||
|
|
||||||
|
|
|
@ -817,6 +817,19 @@ class TestCase(object):
|
||||||
standardMsg = 'unexpectedly None'
|
standardMsg = 'unexpectedly None'
|
||||||
self.fail(self._formatMessage(msg, standardMsg))
|
self.fail(self._formatMessage(msg, standardMsg))
|
||||||
|
|
||||||
|
def assertIsInstance(self, obj, cls, msg=None):
|
||||||
|
"""Same as self.assertTrue(isinstance(obj, cls)), with a nicer
|
||||||
|
default message."""
|
||||||
|
if not isinstance(obj, cls):
|
||||||
|
standardMsg = '%r is not an instance of %r' % (obj, cls)
|
||||||
|
self.fail(self._formatMessage(msg, standardMsg))
|
||||||
|
|
||||||
|
def assertNotIsInstance(self, obj, cls, msg=None):
|
||||||
|
"""Included for symmetry with assertIsInstance."""
|
||||||
|
if isinstance(obj, cls):
|
||||||
|
standardMsg = '%r is an instance of %r' % (obj, cls)
|
||||||
|
self.fail(self._formatMessage(msg, standardMsg))
|
||||||
|
|
||||||
def assertRaisesRegexp(self, expected_exception, expected_regexp,
|
def assertRaisesRegexp(self, expected_exception, expected_regexp,
|
||||||
callable_obj=None, *args, **kwargs):
|
callable_obj=None, *args, **kwargs):
|
||||||
"""Asserts that the message in a raised exception matches a regexp.
|
"""Asserts that the message in a raised exception matches a regexp.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue