Beispiel #1
0
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
Beispiel #2
0
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
Beispiel #3
0
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
Beispiel #4
0
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)