diff options
author | smiddlek <smiddlek@b1010a0a-674b-0410-b734-77272b80c875> | 2008-10-24 00:51:29 +0000 |
---|---|---|
committer | smiddlek <smiddlek@b1010a0a-674b-0410-b734-77272b80c875> | 2008-10-24 00:51:29 +0000 |
commit | df7286a016ea565496bd8f2a7e56fb816588404e (patch) | |
tree | 9b196f23984a15e84a443b992b89c42f0e27871f /mox_test.py | |
parent | bf5da76c74f18061f9ed9d7db25949c733c3b0d5 (diff) | |
download | pymox-df7286a016ea565496bd8f2a7e56fb816588404e.tar.gz |
Added support for __contains__, thanks to Adam Lowry.
Diffstat (limited to 'mox_test.py')
-rwxr-xr-x | mox_test.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/mox_test.py b/mox_test.py index 2d8e435..b626889 100755 --- a/mox_test.py +++ b/mox_test.py @@ -748,6 +748,46 @@ class MockObjectTest(unittest.TestCase): dummy._Verify() + def testMockContains_ExpectedContains_Success(self): + """Test that __contains__ gets mocked in Dummy. + + In this test, _Verify() succeeds. + """ + dummy = mox.MockObject(TestClass) + dummy.__contains__('X').AndReturn(True) + + dummy._Replay() + + self.failUnless('X' in dummy) + + dummy._Verify() + + def testMockContains_ExpectedContains_NoSuccess(self): + """Test that __contains__() gets mocked in Dummy. + + In this test, _Verify() fails. + """ + dummy = mox.MockObject(TestClass) + dummy.__contains__('X').AndReturn('True') + + dummy._Replay() + + # NOT doing 'X' in dummy + + self.assertRaises(mox.ExpectedMethodCallsError, dummy._Verify) + + def testMockContains_ExpectedContains_NonmatchingParameter(self): + """Test that __contains__ fails if other parameters are expected.""" + dummy = mox.MockObject(TestClass) + dummy.__contains__('X').AndReturn(True) + + dummy._Replay() + + def call(): return 'Y' in dummy + + self.assertRaises(mox.UnexpectedMethodCallError, call) + + dummy._Verify() class MoxTest(unittest.TestCase): """Verify Mox works correctly.""" @@ -1338,6 +1378,10 @@ class TestClass: """Set the value for key to value.""" self.d[key] = value + def __contains__(self, key): + """Returns True if d contains the key.""" + return key in self.d + class ChildClass(TestClass): """This inherits from TestClass.""" |