def test_stub_unbound_method_acts_as_no_instance(self): stub(SampleBase, 'bound_method') obj1 = SampleBase() obj2 = SampleBase() assert_raises(UnexpectedCall, obj2.bound_method) assert_raises(UnexpectedCall, obj1.bound_method)
def test_stub_unbound_method_acts_as_no_instance(self): stub( SampleBase.bound_method ) obj1 = SampleBase() obj2 = SampleBase() assert_raises(UnexpectedCall, obj2.bound_method) assert_raises(UnexpectedCall, obj1.bound_method)
def test_context_manager_interface_when_stubbed(self): m = Mock() exc = Exception('fail') def cm_noraise(): with m: pass def cm_raise(): with m: raise exc stub( m.__enter__ ).expect().times(2) stub( m.__exit__ ).expect().args( None, None, None ) stub( m.__exit__ ).expect().args( Is(Exception), exc, types.TracebackType ) cm_noraise() self.assertRaises( Exception, cm_raise )
def test_context_manager_interface_when_stubbed(self): m = Mock() exc = Exception('fail') def cm_noraise(): with m: pass def cm_raise(): with m: raise exc stub(m.__enter__).expect().times(2) stub(m.__exit__).expect().args(None, None, None) stub(m.__exit__).expect().args(Is(Exception), exc, types.TracebackType) cm_noraise() self.assertRaises(Exception, cm_raise)
def test_stub_base_class_expect_child_classmethod(self): stub(SampleBase.a_classmethod) expect(SampleChild.a_classmethod) SampleChild.a_classmethod()
def test_stub_class_method(self): stub(SampleBase.a_classmethod) assert_raises(UnexpectedCall, SampleBase.a_classmethod) obj = SampleBase() assert_raises(UnexpectedCall, obj.a_classmethod)
def test_get_attribute_auto_method_not_raises_unexpectedcall_when_stubbed(self): m = Mock() stub(m.foo).expect().returns('success') self.assertEquals( 'success', m.foo() )
def test_stub_bound_method_raises_unexpectedcall(self): obj = SampleBase() stub(obj.bound_method) assert_raises(UnexpectedCall, obj.bound_method)
def test_container_interface_when_stubbed(self): m = Mock() i = iter([1, 2, 3]) stub(m.__len__).expect().returns(42) stub(m.__getitem__).expect().args('foo').returns('getitem') stub(m.__setitem__).expect().args('foo', 'bar') stub(m.__delitem__).expect().args('foo') stub(m.__iter__).expect().returns(i) stub(m.__reversed__).expect().returns('backwards') stub(m.__contains__).expect().args('foo').returns(True) self.assertEqual(42, len(m)) self.assertEqual('getitem', m['foo']) m['foo'] = 'bar' del m['foo'] self.assertEqual(i, iter(m)) self.assertEqual('backwards', reversed(m)) self.assertEqual(True, 'foo' in m)
def test_nonzero_when_stubbed(self): m = Mock() stub(m.__nonzero__).expect().returns(False) self.assertFalse(m.__nonzero__())
def test_call_not_raises_unexpectedcall_when_stubbed(self): m = Mock() stub(m).expect().returns('success') self.assertEquals( 'success', m() )
def test_get_attribute_auto_method_not_raises_unexpectedcall_when_stubbed( self): m = Mock() stub(m.foo).expect().returns('success') self.assertEqual('success', m.foo())
def test_get_attribute_auto_method_raises_unexpectedcall_when_stubbed( self): m = Mock() stub(m.foo) self.assertRaises(UnexpectedCall, m.foo)
def test_container_interface_when_stubbed(self): m = Mock() i = iter([1,2,3]) stub( m.__len__ ).expect().returns( 42 ) stub( m.__getitem__ ).expect().args('foo').returns('getitem') stub( m.__setitem__ ).expect().args('foo', 'bar') stub( m.__delitem__ ).expect().args('foo') stub( m.__iter__ ).expect().returns( i ) stub( m.__reversed__ ).expect().returns( 'backwards' ) stub( m.__contains__ ).expect().args('foo').returns( True ) self.assertEquals( 42, len(m) ) self.assertEquals( 'getitem', m['foo'] ) m['foo']='bar' del m['foo'] self.assertEquals( i, iter(m) ) self.assertEquals( 'backwards', reversed(m) ) self.assertEquals( True, 'foo' in m )
def test_nonzero_when_stubbed(self): m = Mock() stub(m.__nonzero__).expect().returns(False) self.assertFalse( m.__nonzero__() )
def test_get_attribute_auto_method_raises_unexpectedcall_when_stubbed(self): m = Mock() stub( m.foo ) self.assertRaises( UnexpectedCall, m.foo )
def test_get_attribute_auto_method_not_raises_unexpectedcall_multiple_depths( self): m = Mock() stub(m.foo.bar).expect().returns('success') self.assertEqual('success', m.foo.bar())
def test_get_attribute_auto_method_not_raises_unexpectedcall_multiple_depths(self): m = Mock() stub(m.foo.bar).expect().returns('success') self.assertEquals( 'success', m.foo.bar() )
def test_call_not_raises_unexpectedcall_when_stubbed(self): m = Mock() stub(m).expect().returns('success') self.assertEqual('success', m())