f | class Tester: | f | class Tester: |
| | | |
| def __init__(self, fun): | | def __init__(self, fun): |
| self.fun = fun | | self.fun = fun |
| | | |
| def __call__(self, suite, allowed=[]): | | def __call__(self, suite, allowed=[]): |
n | res = 0 | n | err = 0 |
| for i in suite: | | for s in suite: |
| try: | | try: |
n | self.fun(*i) | n | self.fun(*s) |
| except tuple(allowed): | | except tuple(allowed): |
n | res = -1 | n | err = -1 |
| except: | | except: |
n | res = 1 | n | err = 1 |
| break | | break |
t | return res | t | return err |
| '\nТестирование произвольного кода,\nпри ктором в тесте лежит тестирующая программа.\nНапример, классов.\n\nДанный кусок приписывается в конец программы.\n' | | |
| import sys | | import sys |
| exec(sys.stdin.read(), globals()) | | exec(sys.stdin.read(), globals()) |