Exemplo n.º 1
0
class TestSudocubeDecoder(unittest.TestCase):
    def setUp(self):
        self._image = "AN IMAGE"
        self._sudocube_mock = MagicMock(name="sudocube")
        self._sudocube_factory_mock = MagicMock(name="sudocube_factory")

        self._sudocube_factory_mock.create_sudocube_from_image.return_value = self._sudocube_mock

        self._sudocube_decoder = SudocubeDecoder()
        self._sudocube_decoder._init_dependencies = self._fake_init_dependencies(self._sudocube_decoder,
                                                                                 self._sudocube_factory_mock)
        self._solved_sudocube = self._sudocube_decoder.compute_solved_sudocube_and_digit_to_draw(self._image)

    def test_should_create_sudocube_with_factory(self):
        self._sudocube_factory_mock.create_sudocube_from_image.assert_called_once_with(self._image)

    def test_should_tell_sudocube_to_solve_itself(self):
        self._sudocube_mock.solve.assert_called_once_with()

    def test_should_return_solved_sudocube(self):
        self.assertEqual(self._sudocube_mock, self._solved_sudocube)

    #Monkey patch to mock dependencies
    def _fake_init_dependencies(self, sudocube_decoder, sudocube_factory):
        sudocube_decoder._sudocube_factory = sudocube_factory
Exemplo n.º 2
0
    def setUp(self):
        self._image = "AN IMAGE"
        self._sudocube_mock = MagicMock(name="sudocube")
        self._sudocube_factory_mock = MagicMock(name="sudocube_factory")

        self._sudocube_factory_mock.create_sudocube_from_image.return_value = self._sudocube_mock

        self._sudocube_decoder = SudocubeDecoder()
        self._sudocube_decoder._init_dependencies = self._fake_init_dependencies(self._sudocube_decoder,
                                                                                 self._sudocube_factory_mock)
        self._solved_sudocube = self._sudocube_decoder.compute_solved_sudocube_and_digit_to_draw(self._image)