From 777258d38db0f8bf8565034a4e95182be0ac380b Mon Sep 17 00:00:00 2001 From: Gustavo Niemeyer Date: Sun, 4 Nov 2007 21:56:07 -0500 Subject: Implemented Mocker.generate(). --- mocker.py | 6 ++++++ test.py | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/mocker.py b/mocker.py index 1c05f92..b8582ec 100644 --- a/mocker.py +++ b/mocker.py @@ -460,6 +460,12 @@ class MockerBase(object): """ self.call(lambda *args, **kwargs: value) + def generate(self, sequence): + def generate(*args, **kwargs): + for value in sequence: + yield value + self.call(generate) + def throw(self, exception): """Make the last recorded event raise the given exception on replay. diff --git a/test.py b/test.py index fe259a0..f768668 100755 --- a/test.py +++ b/test.py @@ -127,6 +127,16 @@ class IntegrationTest(unittest.TestCase): self.assertEquals(obj.x(24), 42) self.assertEquals(calls, [24]) + def test_generate(self): + obj = self.mocker.mock() + obj.x(24) + self.mocker.generate([1, 2, 3]) + self.mocker.replay() + result = obj.x(24) + def g(): yield None + self.assertEquals(type(result), type(g())) + self.assertEquals(list(result), [1, 2, 3]) + def test_proxy(self): class C(object): def sum(self, *args): -- cgit v1.2.1