diff options
author | Gustavo Niemeyer <gustavo@niemeyer.net> | 2007-12-04 23:37:47 -0200 |
---|---|---|
committer | Gustavo Niemeyer <gustavo@niemeyer.net> | 2007-12-04 23:37:47 -0200 |
commit | caeaec199b25c99e18ed13abc7ad89ff624ec44a (patch) | |
tree | af5112954ae4278dc54006f8fa1f08bf39cd1f88 /test.py | |
parent | 47587fc40380290700dd6f182c255397cd17e75f (diff) | |
download | mocker-caeaec199b25c99e18ed13abc7ad89ff624ec44a.tar.gz |
Implemented support for Deferred results as understood by
Twisted Trial's TestCase, so that coexistence by multiple
inheritance is possible and trivial.
Diffstat (limited to 'test.py')
-rwxr-xr-x | test.py | 41 |
1 files changed, 41 insertions, 0 deletions
@@ -371,6 +371,47 @@ class MockerTestCaseTest(TestCase): self.assertEquals(len(result.failures), 1) self.assertTrue("mock.x" in result.failures[0][1]) + def test_twisted_trial_deferred_support(self): + calls = [] + callbacks = [] + errbacks = [] + deferreds = [] + class Deferred(object): + def addCallback(self, callback): + callbacks.append(callback) + def addErrback(self, errback): + errbacks.append(errback) + class MyEvent(Event): + def verify(self): + calls.append("verify") + def restore(self): + calls.append("restore") + class MyTest(MockerTestCase): + def test_method(self): + self.mocker.add_event(MyEvent()) + self.mocker.replay() + deferred = Deferred() + deferreds.append(deferred) + return deferred + + result = unittest.TestResult() + test = MyTest("test_method") + deferred = test.test_method() + + self.assertEquals(deferred, deferreds[-1]) + self.assertEquals(calls, []) + self.assertEquals(len(callbacks), 1) + self.assertEquals(callbacks[-1]("foo"), "foo") + self.assertEquals(calls, ["restore", "verify"]) + + test.mocker.replay() + del calls[:] + + self.assertEquals(len(errbacks), 1) + self.assertEquals(errbacks[-1]("foo"), "foo") + self.assertEquals(calls, ["restore"]) + + def test_fail_unless_is_raises_on_mismatch(self): try: self.test.failUnlessIs([], []) |