summaryrefslogtreecommitdiff
path: root/service/test/support
diff options
context:
space:
mode:
authorFolker Bernitt <fbernitt@thoughtworks.com>2015-08-03 11:17:32 +0200
committerFolker Bernitt <fbernitt@thoughtworks.com>2015-08-11 17:00:31 +0200
commit07df4eb5751d78189e60654a1b593bc8c7637521 (patch)
tree778f9ee32c855123abea1cddd78b06695f3ae32a /service/test/support
parent38d810d338ce671b6389cd47d665b87798bcd65c (diff)
Added move message in new data model.
Diffstat (limited to 'service/test/support')
-rw-r--r--service/test/support/mockito/__init__.py40
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