def test_recorder_for_unassigned_variables(self): foo = fake() foo.asdf() foo.attr foo.hjkl() assertEqual( [{'name': 'asdf', 'kargs': (), 'kwargs': {}, 'returned': foo}, {'name': 'attr', 'returned': foo}, {'name': 'hjkl', 'kargs': (), 'kwargs': {}, 'returned': foo}], foo.__calls__)
def test_recorder_for_assigned_variables(self): foo = fake(asdf=lambda: 'blah', attr=23) foo.asdf() foo.attr foo.hjkl() assertEqual( [{'name': 'asdf', 'kargs': (), 'kwargs': {}, 'returned': 'blah'}, {'name': 'attr', 'returned': 23}, {'name': 'hjkl', 'kargs': (), 'kwargs': {}, 'returned': foo}], foo.__calls__)
def test_builtin_open(self): if sys.version_info < (3, 0): mock = flex(sys.modules['__builtin__']) else: mock = flex(sys.modules['builtins']) fake_fd = fake(read=lambda: 'some data') mock.open('file_name').returns(fake_fd).times(1) with open('file_name') as f: data = f.read() self.assertEqual('some data', data)
def test_fake_object_takes_any_attribute(self): foo = fake() assertEqual(foo, foo.bar)
def test_flex_should_accept_shortcuts_for_creating_fake_object(self): mock = fake(attr1='value 1', attr2=lambda: 'returning 2') assertEqual('value 1', mock.attr1) assertEqual('returning 2', mock.attr2())
def test_flex_should_create_mock_object_from_dict(self): mock = fake(foo='foo', bar='bar') assertEqual('foo', mock.foo) assertEqual('bar', mock.bar)
def test_flex_should_support_with(self): foo = fake(foo='bar') with foo as mock: assert mock.bar() == 'baz'