def test_verify_solution_easy_sudoku_empty_values_with_zero(self): raw_sudoku = ("""000000680 000073009 309000045 490000000 803050902 000000036 960000308 700680000 028000000""") sudoku_test_solve = BacktrakingAlgorithm(raw_sudoku, "0") square_result = [['1', '7', '2', '5', '4', '9', '6', '8', '3'], ['6', '4', '5', '8', '7', '3', '2', '1', '9'], ['3', '8', '9', '2', '6', '1', '7', '4', '5'], ['4', '9', '6', '3', '2', '7', '8', '5', '1'], ['8', '1', '3', '4', '5', '6', '9', '7', '2'], ['2', '5', '7', '1', '9', '8', '4', '3', '6'], ['9', '6', '4', '7', '1', '5', '3', '2', '8'], ['7', '3', '1', '6', '8', '2', '5', '9', '4'], ['5', '2', '8', '9', '3', '4', '1', '6', '7']] self.assertEquals(square_result, sudoku_test_solve.solve_sudoku())
def test_verify_solution_easy_sudoku_empty_values_with_zero(self): raw_sudoku = ("000000680\n" + \ "000073009\n" + \ "309000045\n" + \ "490000000\n" + \ "803050902\n" + \ "000000036\n" + \ "960000308\n" + \ "700680000\n" + \ "028000000\n") sudoku_test_solve = BacktrakingAlgorithm(raw_sudoku, "0") square_result = [['1', '7', '2', '5', '4', '9', '6', '8', '3'], ['6', '4', '5', '8', '7', '3', '2', '1', '9'], ['3', '8', '9', '2', '6', '1', '7', '4', '5'], ['4', '9', '6', '3', '2', '7', '8', '5', '1'], ['8', '1', '3', '4', '5', '6', '9', '7', '2'], ['2', '5', '7', '1', '9', '8', '4', '3', '6'], ['9', '6', '4', '7', '1', '5', '3', '2', '8'], ['7', '3', '1', '6', '8', '2', '5', '9', '4'], ['5', '2', '8', '9', '3', '4', '1', '6', '7']] self.assertEquals(square_result, sudoku_test_solve.solve_sudoku())
def test_verify_solution_easy_sudoku_empty_values_with_dot(self): raw_sudoku = ("""3.65.84.. 52....... .87....31 ..3.1..8. 9..863..5 .5..9.6.. 13....25. .......74 ..52.63..""") sudoku_test_solve = BacktrakingAlgorithm(raw_sudoku, ".") square_result = [['3', '1', '6', '5', '7', '8', '4', '9', '2'], ['5', '2', '9', '1', '3', '4', '7', '6', '8'], ['4', '8', '7', '6', '2', '9', '5', '3', '1'], ['2', '6', '3', '4', '1', '5', '9', '8', '7'], ['9', '7', '4', '8', '6', '3', '1', '2', '5'], ['8', '5', '1', '7', '9', '2', '6', '4', '3'], ['1', '3', '8', '9', '4', '7', '2', '5', '6'], ['6', '9', '2', '3', '5', '1', '8', '7', '4'], ['7', '4', '5', '2', '8', '6', '3', '1', '9']] self.assertEquals(square_result, sudoku_test_solve.solve_sudoku())
def test_verify_solution_easy_sudoku_empty_values_with_dot(self): raw_sudoku = ("3.65.84..\n" + \ "52.......\n" + \ ".87....31\n" + \ "..3.1..8.\n" + \ "9..863..5\n" + \ ".5..9.6..\n" + \ "13....25.\n" + \ ".......74\n" + \ "..52.63..\n") sudoku_test_solve = BacktrakingAlgorithm(raw_sudoku, ".") square_result = [['3', '1', '6', '5', '7', '8', '4', '9', '2'], ['5', '2', '9', '1', '3', '4', '7', '6', '8'], ['4', '8', '7', '6', '2', '9', '5', '3', '1'], ['2', '6', '3', '4', '1', '5', '9', '8', '7'], ['9', '7', '4', '8', '6', '3', '1', '2', '5'], ['8', '5', '1', '7', '9', '2', '6', '4', '3'], ['1', '3', '8', '9', '4', '7', '2', '5', '6'], ['6', '9', '2', '3', '5', '1', '8', '7', '4'], ['7', '4', '5', '2', '8', '6', '3', '1', '9']]; self.assertEquals(square_result, sudoku_test_solve.solve_sudoku())
def test_generate_sudoku_pattern_by_complexity_returns_solvable_sudoku_hard(self): self.test_generator.generate_sudoku_pattern_by_complexity(40, 50, '.') raw_sudoku_string = self.test_generator.get_board_format_to_string(self.test_generator.sudoku_pattern) sudoku_test_solve = BacktrakingAlgorithm(raw_sudoku_string, ".") self.assertTrue(sudoku_test_solve.solve_sudoku())