| 416 | return tuple(occ for occ in self if occ == expectation) |
| 417 | |
| 418 | def expect_no_unobserved(self): |
| 419 | if not self: |
| 420 | return |
| 421 | |
| 422 | unobserved = [ |
| 423 | occ |
| 424 | for occ in self |
| 425 | if not occ.observed |
| 426 | and all(exp != occ for exp in self.timeline.ignore_unobserved) |
| 427 | ] |
| 428 | if not unobserved: |
| 429 | return |
| 430 | |
| 431 | raise log.error( |
| 432 | "Unobserved occurrences detected:\n\n{0}\n\nignoring unobserved:\n\n{1}", |
| 433 | "\n\n".join(repr(occ) for occ in unobserved), |
| 434 | "\n\n".join(repr(exp) for exp in self.timeline.ignore_unobserved), |
| 435 | ) |
| 436 | |
| 437 | |
| 438 | class Expectation(object): |