def test_check_column(state, expected): board = Board.create_empty_board([[], [], []], [[], [2], []]) for i, s in enumerate(state): board[i, 1] = s assert board.check_column(1) == expected
def test_check_line(state, expected): board = Board.create_empty_board([[2], [], []], [[], [], []]) for i, s in enumerate(state): board[0, i] = s assert board.check_line(0) == expected
def test_check_line_complex(state, expected): board = Board.create_empty_board([[], [], [2, 1, 2]], [[]] * 10) for i, s in enumerate(state): board[2, i] = s assert board.check_line(2) == expected
def test_solve_simple(): board = Board.create_empty_board([[1], [1], [1]], [[1], [1], [1]]) board[0,0] = B board.solve(depth=5) expected = [[B, W, W], [W, B, W], [W, W, B]] assert board_to_list(board._board) == expected
def test_change_board(): board = Board.create_empty_board([[], [], []], [[], [], [], []]) board[1,1] = W board[2,2] = B for i in range(3): for j in range(3): if (i,j) not in [(1,1), (2,2)]: assert board[i,j] == E assert board[1,1] == W assert board[2,2] == B