def test_get_next_move_boards_on_non_empty_game_not_over_square_board(self): """Test whether _get_next_move_boards function provides all next move boards for a non-empty game-not-over square board.""" # Create non-empty game-not-over tic-tac-toe game board board = TicTacToeBoard() board.matrix[0] = [2, 0, 0] board.matrix[1] = [1, 2, 0] board.matrix[2] = [1, 1, 2] next_boards = board._get_next_move_boards(1) # Initialize valid next boards valid_next_boards = [] # Add valid next board 1 to list valid_next_board = TicTacToeBoard() valid_next_board.matrix = copy.deepcopy(board.matrix) valid_next_board.matrix[0][1] = 1 valid_next_boards.append(valid_next_board) # Add valid next board 2 to list valid_next_board = TicTacToeBoard() valid_next_board.matrix = copy.deepcopy(board.matrix) valid_next_board.matrix[0][2] = 1 valid_next_boards.append(valid_next_board) # Add valid next board 3 to list valid_next_board = TicTacToeBoard() valid_next_board.matrix = copy.deepcopy(board.matrix) valid_next_board.matrix[1][2] = 1 valid_next_boards.append(valid_next_board) # Make sure there are the correct number of next boards for player 1 next_board_matrices = [next_board.matrix for next_board in next_boards] self.assertEqual(len(next_board_matrices), 3) # Make sure that each valid next board for player 1 was found for valid_next_board in valid_next_boards: self.assertTrue(valid_next_board.matrix in next_board_matrices)