| Viewing file:  test_mock.py (2.19 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
from testfixtures.mock import Mock, call, ANY
 from .test_compare import CompareHelper
 
 class TestCall(CompareHelper):
 
 def test_non_root_call_not_equal(self):
 self.check_raises(
 call.foo().bar(),
 call.baz().bar(),
 '\n'
 "'call.foo().bar()'\n"
 '!=\n'
 "'call.baz().bar()'"
 )
 
 def test_non_root_attr_not_equal(self):
 self.check_raises(
 call.foo.bar(),
 call.baz.bar(),
 '\n'
 "'call.foo.bar()'\n"
 '!=\n'
 "'call.baz.bar()'"
 )
 
 def test_non_root_params_not_equal(self):
 self.check_raises(
 call.foo(x=1).bar(),
 call.foo(x=2).bar(),
 '\n'
 "'call.foo(x=1)'\n"
 '!=\n'
 "'call.foo(x=2)'"
 )
 
 def test_any(self):
 assert call == ANY
 
 def test_no_len(self):
 assert not call == object()
 
 def test_two_elements(self):
 m = Mock()
 m(x=1)
 assert m.call_args == ((), {'x': 1})
 
 def test_other_empty(self):
 assert call == ()
 
 def test_other_single(self):
 assert call == ((),)
 assert call == ({},)
 assert call == ('',)
 
 def test_other_double(self):
 assert call == ('', (),)
 assert call == ('', {},)
 
 def test_other_quad(self):
 assert not call == (1, 2, 3, 4)
 
 
 class TestMock(CompareHelper):
 
 def test_non_root_call_not_equal(self):
 m = Mock()
 m.foo().bar()
 self.check_raises(
 m.mock_calls[-1],
 call.baz().bar(),
 '\n'
 "'call.foo().bar()'\n"
 '!=\n'
 "'call.baz().bar()'"
 )
 
 def test_non_root_attr_not_equal(self):
 m = Mock()
 m.foo.bar()
 self.check_raises(
 m.mock_calls[-1],
 call.baz.bar(),
 '\n'
 "'call.foo.bar()'\n"
 '!=\n'
 "'call.baz.bar()'"
 )
 
 def test_non_root_params_not_equal(self):
 m = Mock()
 m.foo(x=1).bar()
 # surprising and annoying (and practically unsolvable :-/):
 assert m.mock_calls[-1] == call.foo(y=2).bar()
 
 |