Python: Exercise: memoize decorator

Write a function that gets a functions as attribute and returns a new functions while memoizing (caching) the input/output pairs.
Then write a unit test that checks it.
You probably will need to create a subroutine to be memoized.

write tests for the fibonacci functions

implement the memoize decorator for a function with a single parameter