'We should be able to call the same function with runWithPatches more
than once. All patches should apply for each call.'

def test_repeatedRunWithPatches(self):

    def f():
        return (self.testObject.foo, self.testObject.bar, self.testObject.baz)
    self.monkeyPatcher.addPatch(self.testObject, 'foo', 'haha')
    result = self.monkeyPatcher.runWithPatches(f)
    self.assertEqual(('haha', self.originalObject.bar, self.originalObject.baz), result)
    result = self.monkeyPatcher.runWithPatches(f)
    self.assertEqual(('haha', self.originalObject.bar, self.originalObject.baz), result)
