Exemplo n.º 1
0
def test_display_board(capsys: Any) -> None:
    """Ensure display method prints ascii board correctly"""
    board_string = ('483921657967345821251876493548132976729564138136798245'
                    '372689514814253769695417382')
    # display stdout for printing sudoku board
    with capsys.disabled():
        print('\n')
        SB.display(SB.grid_values(board_string))
        print('\n')
Exemplo n.º 2
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
Exemplo n.º 3
0
def test_sorted_box_possibilities() -> None:
    """Ensure order of sorted box possibilities with given reduced board"""
    board_string = ('4.....8.5.3..........7......2.....6.....8.4......1.......'
                    '6.3.7.5..2.....1.4......')
    expected_sort = ['G2', 'H7', 'A4', 'A6', 'E4', 'F4', 'G1', 'G3', 'G5',
                     'H5', 'H8', 'I4', 'I5', 'A2', 'A5', 'A8', 'B8', 'C1',
                     'D1', 'D4', 'D6', 'E1', 'G7', 'H2', 'H9', 'I2', 'I6',
                     'A3', 'B1', 'B4', 'B5', 'B7', 'C2', 'C7', 'C8', 'D3',
                     'D5', 'D7', 'D9', 'E2', 'E3', 'E6', 'E8', 'E9', 'F1',
                     'F3', 'F6', 'F7', 'F8', 'F9', 'G9', 'I7', 'I8', 'I9',
                     'B6', 'B9', 'C3', 'C5', 'C6', 'C9', 'B3']
    board = SB.grid_values(board_string)
    sbrd = SB()
    reduced = sbrd.reduce_puzzle(board)
    SB.display(reduced)
    sorted_boxes = SB.sorted_box_possibilities(reduced)
    assert sorted_boxes == expected_sort