def test_get_solver(docopt, _get_grid, _get_words, _get_word_lengths, _check_word_lengths, _print_solution, Solver): """Ensure that `main` tries to get the all of the resources specified on the command-line. """ args = mock.Mock() docopt.return_value = args solver = mock.Mock() Solver.return_value = solver grid = mock.Mock() _get_grid.return_value = grid words = mock.Mock() _get_words.return_value = words word_lengths = mock.Mock() _get_word_lengths.return_value = word_lengths main() _get_grid.assert_called_once_with(args) _get_words.assert_called_once_with(args) _get_word_lengths.assert_called_once_with(args) _check_word_lengths.assert_called_once_with(grid, word_lengths) Solver.assert_called_once_with(words, grid, word_lengths=word_lengths) _print_solution.assert_called_once_with(solver)
def test_main_return_value(docopt, _get_solver, _print_solution, print_solution_return_value, return_code): args = mock.Mock() docopt.return_value = args solver = mock.Mock() _get_solver.return_value = solver _print_solution.return_value = print_solution_return_value assert main() == return_code docopt.assert_called_once_with(__doc__) _get_solver.assert_called_once_with(args) _print_solution.assert_called_once_with(solver)