예제 #1
0
 def test_records_calls_made_to_it(self):
     self.stub.set_default_response('set so it can be called with any args')
     self.stub('some', 'args')
     self.stub('more args and kwargs', kwarg=1)
     self.assertEqual([Args.make('some', 'args'),
                       Args.make('more args and kwargs', kwarg=1)],
                     self.stub.was_called_with)
예제 #2
0
    def test_can_have_separate_return_values_for_specific_and_any_args(self):
        args = Args.make(1, 2, a='a', b='b')
        self.stub.add_response(args, self.return_value)

        other_return_value = Mock(name='other_return_value')
        self.stub.set_default_response(other_return_value)

        self.assertEqual(self.return_value, self.stub(*args.args,
                                                      **args.kwargs))
        self.assertEqual(other_return_value, self.stub('any', 'args'))
예제 #3
0
 def test_can_have_a_return_value_for_specific_arguments(self):
     args = Args.make(1, 2, a='a', b='b')
     self.stub.add_response(args, self.return_value)
     self.assertEqual(self.return_value, self.stub(*args.args,
                                                   **args.kwargs))
     self.assertRaises(UnknownArgumentsError, self.stub, 'other', 'args')