Я пытаюсь написать модульные тесты, чтобы убедиться в правильности написанных мной различных декораторов.Вот начало кода, который я пытаюсь написать:
import unittest
from memoizer import Memoizer
from strategies.mru import MRU
@Memoizer(strategy=MRU(maxsize=10))
def fib(x):
if x < 2:
return 1
else:
return fib(x-1) + fib(x-2)
class TestMemoizer(unittest.TestCase):
def test_simple(self):
self.assertEqual(fib(0), 1)
self.assertEqual(fib(1), 1)
self.assertEqual(fib(10), 89)
if __name__ == '__main__':
unittest.main()
Хотя это работает прилично для стратегии MRU, описанной выше, я планирую написать дополнительные стратегии, и в этом случае мне нужно будет украситьс функцией FIB по-разному.(Вспомните, что, поскольку fib вызывает fib, установка fib2 = memoize (fib) не запоминает промежуточные значения, поэтому они не будут работать.) Как правильно проверить другие декораторы?