def test_reset_mock(self): parent = Mock() spec = ['something'] mock = Mock(name='child', parent=parent, spec=spec) mock(sentinel.Something, something=sentinel.SomethingElse) something = mock.something mock.something() mock.side_effect = sentinel.SideEffect return_value = mock.return_value return_value() mock.reset_mock() self.assertEqual(mock._mock_name, 'child', 'name incorrectly reset') self.assertEqual(mock._mock_parent, parent, 'parent incorrectly reset') self.assertEqual(mock._mock_methods, spec, 'methods incorrectly reset') self.assertFalse(mock.called, 'called not reset') self.assertEqual(mock.call_count, 0, 'call_count not reset') self.assertEqual(mock.call_args, None, 'call_args not reset') self.assertEqual(mock.call_args_list, [], 'call_args_list not reset') self.assertEqual(mock.method_calls, [], 'method_calls not initialised correctly: %r != %r' % (mock. method_calls, [])) self.assertEqual(mock.mock_calls, []) self.assertEqual(mock.side_effect, sentinel.SideEffect, 'side_effect incorrectly reset') self.assertEqual(mock.return_value, return_value, 'return_value incorrectly reset') self.assertFalse(return_value.called, 'return value mock not reset') self.assertEqual(mock._mock_children, {'something': something}, 'children reset incorrectly') self.assertEqual(mock.something, something, 'children incorrectly cleared') self.assertFalse(mock.something.called, 'child not reset')
def test_reset_mock(self): parent = Mock() spec = ["something"] mock = Mock(name="child", parent=parent, spec=spec) mock(sentinel.Something, something=sentinel.SomethingElse) something = mock.something mock.something() mock.side_effect = sentinel.SideEffect return_value = mock.return_value return_value() mock.reset_mock() self.assertEqual(mock._mock_name, "child", "name incorrectly reset") self.assertEqual(mock._mock_parent, parent, "parent incorrectly reset") self.assertEqual(mock._mock_methods, spec, "methods incorrectly reset") self.assertFalse(mock.called, "called not reset") self.assertEqual(mock.call_count, 0, "call_count not reset") self.assertEqual(mock.call_args, None, "call_args not reset") self.assertEqual(mock.call_args_list, [], "call_args_list not reset") self.assertEqual( mock.method_calls, [], "method_calls not initialised correctly: %r != %r" % (mock.method_calls, []) ) self.assertEqual(mock.mock_calls, []) self.assertEqual(mock.side_effect, sentinel.SideEffect, "side_effect incorrectly reset") self.assertEqual(mock.return_value, return_value, "return_value incorrectly reset") self.assertFalse(return_value.called, "return value mock not reset") self.assertEqual(mock._mock_children, {"something": something}, "children reset incorrectly") self.assertEqual(mock.something, something, "children incorrectly cleared") self.assertFalse(mock.something.called, "child not reset")
def test_reset_mock(self): parent = Mock() spec = ['something'] mock = Mock(name='child', parent=parent, spec=spec) mock(sentinel.Something, something=sentinel.SomethingElse) something = mock.something mock.something() mock.side_effect = sentinel.SideEffect return_value = mock.return_value return_value() mock.reset_mock() self.assertEqual(mock._mock_name, 'child', 'name incorrectly reset') self.assertEqual(mock._mock_parent, parent, 'parent incorrectly reset') self.assertEqual(mock._mock_methods, spec, 'methods incorrectly reset') self.assertFalse(mock.called, 'called not reset') self.assertEqual(mock.call_count, 0, 'call_count not reset') self.assertEqual(mock.call_args, None, 'call_args not reset') self.assertEqual(mock.call_args_list, [], 'call_args_list not reset') self.assertEqual(mock.method_calls, [], 'method_calls not initialised correctly: %r != %r' % (mock.method_calls, [])) self.assertEqual(mock.mock_calls, []) self.assertEqual(mock.side_effect, sentinel.SideEffect, 'side_effect incorrectly reset') self.assertEqual(mock.return_value, return_value, 'return_value incorrectly reset') self.assertFalse(return_value.called, 'return value mock not reset') self.assertEqual(mock._mock_children, {'something': something}, 'children reset incorrectly') self.assertEqual(mock.something, something, 'children incorrectly cleared') self.assertFalse(mock.something.called, 'child not reset')
def test_method_calls_recorded(self): mock = Mock() mock.something(3, fish=None) mock.something_else.something(6, cake=sentinel.Cake) self.assertEqual(mock.something_else.method_calls, [('something', ( 6,), {'cake': sentinel.Cake})], 'method calls not recorded correctly') self.assertEqual(mock.method_calls, [('something', (3,), {'fish': None}), ('something_else.something', (6,), {'cake': sentinel. Cake})], 'method calls not recorded correctly')
def test_method_calls_recorded(self): mock = Mock() mock.something(3, fish=None) mock.something_else.something(6, cake=sentinel.Cake) self.assertEqual(mock.something_else.method_calls, [("something", (6,), {'cake': sentinel.Cake})], "method calls not recorded correctly") self.assertEqual(mock.method_calls, [ ("something", (3,), {'fish': None}), ("something_else.something", (6,), {'cake': sentinel.Cake}) ], "method calls not recorded correctly")
def test_attribute_access_returns_mocks(self): mock = Mock() something = mock.something self.assertTrue(is_instance(something, Mock), "attribute isn't a mock") self.assertEqual(mock.something, something, 'different attributes returned for same name') mock = Mock() mock.something.return_value = 3 self.assertEqual(mock.something(), 3, 'method returned wrong value') self.assertTrue(mock.something.called, "method didn't record being called")
def test_reset_mock(self): parent = Mock() spec = ["something"] mock = Mock(name="child", parent=parent, spec=spec) mock(sentinel.Something, something=sentinel.SomethingElse) something = mock.something mock.something() mock.side_effect = sentinel.SideEffect return_value = mock.return_value return_value() mock.reset_mock() self.assertEqual(mock._mock_name, "child", "name incorrectly reset") self.assertEqual(mock._mock_parent, parent, "parent incorrectly reset") self.assertEqual(mock._mock_methods, spec, "methods incorrectly reset") self.assertFalse(mock.called, "called not reset") self.assertEqual(mock.call_count, 0, "call_count not reset") self.assertEqual(mock.call_args, None, "call_args not reset") self.assertEqual(mock.call_args_list, [], "call_args_list not reset") self.assertEqual(mock.method_calls, [], "method_calls not initialised correctly: %r != %r" % (mock.method_calls, [])) self.assertEqual(mock.mock_calls, []) self.assertEqual(mock.side_effect, sentinel.SideEffect, "side_effect incorrectly reset") self.assertEqual(mock.return_value, return_value, "return_value incorrectly reset") self.assertFalse(return_value.called, "return value mock not reset") self.assertEqual(mock._mock_children, {'something': something}, "children reset incorrectly") self.assertEqual(mock.something, something, "children incorrectly cleared") self.assertFalse(mock.something.called, "child not reset")
def test_method_calls_compare_easily(self): mock = Mock() mock.something() self.assertEqual(mock.method_calls, [('something',)]) self.assertEqual(mock.method_calls, [('something', (), {})]) mock = Mock() mock.something('different') self.assertEqual(mock.method_calls, [('something', ('different',))]) self.assertEqual(mock.method_calls, [('something', ('different',), {})]) mock = Mock() mock.something(x=1) self.assertEqual(mock.method_calls, [('something', {'x': 1})]) self.assertEqual(mock.method_calls, [('something', (), {'x': 1})]) mock = Mock() mock.something('different', some='more') self.assertEqual(mock.method_calls, [('something', ('different',), {'some': 'more'})])
def test_method_calls_compare_easily(self): mock = Mock() mock.something() self.assertEqual(mock.method_calls, [("something",)]) self.assertEqual(mock.method_calls, [("something", (), {})]) mock = Mock() mock.something("different") self.assertEqual(mock.method_calls, [("something", ("different",))]) self.assertEqual(mock.method_calls, [("something", ("different",), {})]) mock = Mock() mock.something(x=1) self.assertEqual(mock.method_calls, [("something", {"x": 1})]) self.assertEqual(mock.method_calls, [("something", (), {"x": 1})]) mock = Mock() mock.something("different", some="more") self.assertEqual(mock.method_calls, [("something", ("different",), {"some": "more"})])