def test_diagonal() -> None: diagonal_grid = ('2.............62....1....7...6..8...3...9...7...6..4...4' '....8....52.............3') sbrd = SB(diagonal_mode=True) board = sbrd.grid_values(diagonal_grid) result = sbrd.search(board) assert result == solved_diag_sudoku
def test_diagonal() -> None: """Solve problem with diagonal constraint enabled""" diagonal_grid = ('2.............62....1....7...6..8...3...9...7...6..4...4' '....8....52.............3') sbrd = SB(diagonal_mode=True) board = sbrd.grid_values(diagonal_grid) result = sbrd.search(board) assert result == solved_diag_sudoku
def test_search() -> None: """Ensure recursive search succeeds on supplied problem""" board_string = ('4.....8.5.3..........7......2.....6.....8.4......1.......' '6.3.7.5..2.....1.4......') expected_string = ('4,1,7,3,6,9,8,2,5,6,3,2,1,5,8,9,4,7,9,5,8,7,2,4,3,1,6,' '8,2,5,4,3,7,1,6,9,7,9,1,5,8,6,4,3,2,3,4,6,9,1,2,7,5,8,' '2,8,9,6,4,3,5,7,1,5,7,3,2,9,1,6,8,4,1,6,4,8,7,5,2,9,3') board = SB.grid_values(board_string) sbrd = SB() solution = sbrd.search(board) SB.display(solution) solution_string = SB.board_to_str(solution) assert solution_string == expected_string
def solve(board_string: str) -> BoardState: """Call search with diagonal_mode True in board.py""" sbrd = SB(diagonal_mode=True) board = sbrd.grid_values(board_string) return sbrd.search(board)