| 46 | |
| 47 | |
| 48 | class ComposeHooksTests(unittest.TestCase): |
| 49 | def test_empty_returns_none(self) -> None: |
| 50 | self.assertIsNone(_compose_hooks([])) |
| 51 | |
| 52 | def test_single_returns_same_instance(self) -> None: |
| 53 | hook = _RecordingHooks("a", []) |
| 54 | self.assertIs(_compose_hooks([hook]), hook) |
| 55 | |
| 56 | def test_multiple_returns_composite(self) -> None: |
| 57 | a = _RecordingHooks("a", []) |
| 58 | b = _RecordingHooks("b", []) |
| 59 | composed = _compose_hooks([a, b]) |
| 60 | self.assertIsInstance(composed, _CompositeRunHooks) |
| 61 | |
| 62 | |
| 63 | class CompositeRunHooksTests(unittest.IsolatedAsyncioTestCase): |
nothing calls this directly
no outgoing calls
no test coverage detected