'runWithPatches should run the given callable, passing in all arguments
and keyword arguments, and return the return value of the callable.'

def test_runWithPatchesDecoration(self):

    log = []
    def f(a, b, c=None):
        log.append((a, b, c))
        return 'foo'
    result = self.monkeyPatcher.runWithPatches(f, 1, 2, c=10)
    self.assertEqual('foo', result)
    self.assertEqual([(1, 2, 10)], log)
