| f | class Tester: | f | class Tester: |
| | | |
| def __init__(self, fun): | | def __init__(self, fun): |
| self.fun = fun | | self.fun = fun |
| | | |
| n | def __call__(self, suite, allowed=[]): | n | def __call__(self, suite, allowed=()): |
| exs = tuple(allowed) | | allowed_exceptions = tuple(allowed) |
| exAllowed = False | | has_allowed_exceptions = False |
| exNotAllowed = False | | has_unallowed_exceptions = False |
| for test_case in suite: | | for params in suite: |
| try: | | try: |
| n | self.fun(*test_case) | n | self.fun(*params) |
| except exs: | | except allowed_exceptions: |
| exAllowed = True | | has_allowed_exceptions = True |
| except Exception: | | except Exception: |
| n | exNotAllowed = True | n | has_unallowed_exceptions = True |
| if exNotAllowed: | | if has_unallowed_exceptions: |
| return 1 | | return 1 |
| n | if exAllowed: | n | elif has_allowed_exceptions: |
| return -1 | | return -1 |
| t | | t | else: |
| return 0 | | return 0 |