| 1348 | self.fail(self._formatMessage(msg, standardMsg)) |
| 1349 | |
| 1350 | def assertIsSubclass(self, cls, superclass, msg=None): |
| 1351 | try: |
| 1352 | if issubclass(cls, superclass): |
| 1353 | return |
| 1354 | except TypeError: |
| 1355 | if not isinstance(cls, type): |
| 1356 | self.fail(self._formatMessage(msg, f'{cls!r} is not a class')) |
| 1357 | raise |
| 1358 | if isinstance(superclass, tuple): |
| 1359 | standardMsg = f'{cls!r} is not a subclass of any of {superclass!r}' |
| 1360 | else: |
| 1361 | standardMsg = f'{cls!r} is not a subclass of {superclass!r}' |
| 1362 | self.fail(self._formatMessage(msg, standardMsg)) |
| 1363 | |
| 1364 | def assertNotIsSubclass(self, cls, superclass, msg=None): |
| 1365 | try: |