with self.assertRaises(self.failureException) as cm:
self.assertHasAttr(a, 'y')
self.assertEqual(str(cm.exception),
- "List instance has no attribute 'y'")
+ "'List' object has no attribute 'y'")
+ with self.assertRaises(self.failureException) as cm:
+ self.assertHasAttr(List, 'spam')
+ self.assertEqual(str(cm.exception),
+ "type object 'List' has no attribute 'spam'")
+ with self.assertRaises(self.failureException) as cm:
+ self.assertHasAttr(sys, 'spam')
+ self.assertEqual(str(cm.exception),
+ "module 'sys' has no attribute 'spam'")
with self.assertRaises(self.failureException) as cm:
self.assertHasAttr(a, 'y', 'ababahalamaha')
with self.assertRaises(self.failureException) as cm:
self.assertNotHasAttr(a, 'x')
self.assertEqual(str(cm.exception),
- "List instance has unexpected attribute 'x'")
+ "'List' object has unexpected attribute 'x'")
+ with self.assertRaises(self.failureException) as cm:
+ self.assertNotHasAttr(List, 'append')
+ self.assertEqual(str(cm.exception),
+ "type object 'List' has unexpected attribute 'append'")
+ with self.assertRaises(self.failureException) as cm:
+ self.assertNotHasAttr(sys, 'modules')
+ self.assertEqual(str(cm.exception),
+ "module 'sys' has unexpected attribute 'modules'")
with self.assertRaises(self.failureException) as cm:
self.assertNotHasAttr(a, 'x', 'ababahalamaha')
if not hasattr(obj, name):
if isinstance(obj, types.ModuleType):
standardMsg = f'module {obj.__name__!r} has no attribute {name!r}'
+ elif isinstance(obj, type):
+ standardMsg = f'type object {obj.__name__!r} has no attribute {name!r}'
else:
- standardMsg = f'{type(obj).__name__} instance has no attribute {name!r}'
+ standardMsg = f'{type(obj).__name__!r} object has no attribute {name!r}'
self.fail(self._formatMessage(msg, standardMsg))
def assertNotHasAttr(self, obj, name, msg=None):
if hasattr(obj, name):
if isinstance(obj, types.ModuleType):
standardMsg = f'module {obj.__name__!r} has unexpected attribute {name!r}'
+ elif isinstance(obj, type):
+ standardMsg = f'type object {obj.__name__!r} has unexpected attribute {name!r}'
else:
- standardMsg = f'{type(obj).__name__} instance has unexpected attribute {name!r}'
+ standardMsg = f'{type(obj).__name__!r} object has unexpected attribute {name!r}'
self.fail(self._formatMessage(msg, standardMsg))
def assertRaisesRegex(self, expected_exception, expected_regex,