diff options
author | Folker Bernitt <fbernitt@thoughtworks.com> | 2015-08-03 11:17:32 +0200 |
---|---|---|
committer | Folker Bernitt <fbernitt@thoughtworks.com> | 2015-08-11 17:00:31 +0200 |
commit | 07df4eb5751d78189e60654a1b593bc8c7637521 (patch) | |
tree | 778f9ee32c855123abea1cddd78b06695f3ae32a /service/test/support/mockito | |
parent | 38d810d338ce671b6389cd47d665b87798bcd65c (diff) |
Added move message in new data model.
Diffstat (limited to 'service/test/support/mockito')
-rw-r--r-- | service/test/support/mockito/__init__.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/service/test/support/mockito/__init__.py b/service/test/support/mockito/__init__.py new file mode 100644 index 00000000..c8ffc55e --- /dev/null +++ b/service/test/support/mockito/__init__.py @@ -0,0 +1,40 @@ +# +# Copyright (c) 2015 ThoughtWorks, Inc. +# +# Pixelated is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Pixelated is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with Pixelated. If not, see <http://www.gnu.org/licenses/>. +from mockito.invocation import AnswerSelector, CompositeAnswer + + +class FunctionReturn(object): + """ + Instead of returning a constant value a function is called + """ + def __init__(self, function_answer): + self.function_answer = function_answer + + def answer(self): + return self.function_answer() + + +def thenAnswer(self, answer_function): + """mockito does not support the thenAnswer style. This method monkey patches it into the library""" + if not self.answer: + self.answer = CompositeAnswer(FunctionReturn(answer_function)) + self.invocation.stub_with(self.answer) + else: + self.answer.add(FunctionReturn(answer_function)) + + return self + +AnswerSelector.thenAnswer = thenAnswer |