def test_if_level_is_moderate_then_a_moderate_level_sudoku_puzzle_should_be_generated(self): settings_manager = SettingsManager("mySettings.xml") settings_manager.load() game = Game() game.set_settings_manager(settings_manager) game.start_game_timer() cmd = GenerateGameCommand(None) cmd.set_game(game) cmd.execute() self.assertIsNotNone(game.initial_sudoku)
def test_a_game_should_be_imported(self): settings_manager = SettingsManager('mySettings.xml') settings_manager.load() game = Game() game.set_settings_manager(settings_manager) game.start_game_timer() import_command = ImportCommand(self.valid_params) import_command.set_game(game) import_command.execute() self.assertEqual((game.initial_sudoku.to_dictionary())['A1'], '.')
def test_sudoku_puzzle_should_be_solved_when_solving_algorithm_is_specified(self): settings_manager = SettingsManager('mySettings.xml') settings_manager.load() game = Game() game.set_settings_manager(settings_manager) game.initial_sudoku = SudokuBoard() game.initial_sudoku.from_dictionary(self.puzzle, True) game.start_game_timer() cmd = SolveGameCommand(self.valid_params) cmd.set_game(game) cmd.execute() solving_algorithm = Recursive() expected_results = solving_algorithm.solve(self.puzzle) self.assertEqual(expected_results, game.solved_sudoku.to_dictionary())
def test_a_game_should_be_saved(self): settings_manager = SettingsManager('mySettings.xml') settings_manager.load() game = Game() game.set_settings_manager(settings_manager) game.initial_sudoku = SudokuBoard() game.initial_sudoku.from_dictionary(self.puzzle, True) game.start_game_timer() save_game_command = SaveGameCommand(self.valid_params) save_game_command.set_game(game) save_game_command.execute() game_file = open('game.sgf', 'rb') read_game = pickle.load(game_file) self.assertEqual(game.initial_sudoku.to_dictionary(), read_game.initial_sudoku.to_dictionary())
def test_a_game_should_be_opened(self): settings_manager = SettingsManager('mySettings.xml') settings_manager.load() game = Game() game.set_settings_manager(settings_manager) game.initial_sudoku = SudokuBoard() game.initial_sudoku.from_dictionary(self.puzzle, True) game.start_game_timer() save_game_command = SaveGameCommand(self.valid_params) save_game_command.set_game(game) save_game_command.execute() other_game = Game() other_game.set_settings_manager(settings_manager) other_game.start_game_timer() open_game_command = OpenGameCommand(self.valid_params) open_game_command.set_game(other_game) open_game_command.execute() self.assertEqual(game.initial_sudoku.to_dictionary(), other_game.initial_sudoku.to_dictionary())