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