def test_rand_player_get_move(): test_board = board.Board("X", "O") test_board.board_list = [" ", "X", "X", "X", "X", " ", "X", " ", "X"] test_player = player.Player("X") test_rand_player = rand_player.RandomPlayer(test_player) assert test_rand_player.get_move( test_board) in test_board.get_possible_moves()
def calculate_score_dumb(self, board): if board.check_win_for_player(self): return 1 elif board.check_win_for_player(player.Player(self.opp_player())): return -1 else: return 0
def test_board_apply_move_positive(): test_board = board.Board("X", "O") test_move = 5 test_player = player.Player("X") test_board.current_player = test_player assert test_board.apply_move(test_move) assert test_board.board_list[test_move] == test_player.marker assert str(test_move) in test_board.moves_made
def test_board_apply_move_negative(): test_board = board.Board("X", "O") test_move = 4 test_board.moves_made += str(test_move) test_player = player.Player("X") test_board.current_player = test_player assert test_board.apply_move(test_move) == False assert test_board.board_list[test_move] == " " assert str(test_move) in test_board.moves_made
def construct_player_for(marker): choice = base_player.Player.get_choice(marker) if choice == "human": player = base_player.Player(marker) if choice == "CPU": depth = AI_player.AIPlayer.get_depth() player = AI_player.AIPlayer(marker, depth) if choice == "random": player = rand_player.RandomPlayer(marker) return player
def __init__(self, player_o_agent, player_x_agent, context): self.board = board.Board() self.player_o = player.Player(player_o_agent, 1) self.player_x = player.Player(player_x_agent, -1) self.turn = 1 # Initialized to 1, then -1, 1, -1, 1... self.context_gui = context # GUI context for sending messages.
def test_player_initialization(): test_player = player.Player("X") assert test_player.marker == "X"
def test_player_validate_choice_negative(): test_player = player.Player("X") choice = "ahsdbasjkd" assert not test_player.validate_choice(choice=choice)
def test_player_validate_choice_positive(): test_player = player.Player("X") choice = "human" assert test_player.validate_choice(choice=choice)
def test_player_get_choice(): test_player = player.Player('X') with mock.patch('builtins.input', return_value='human'): assert test_player.get_choice("X") == 'human'
def test_player_get_move_negative(): test_player = player.Player('X') test_board = board.Board(test_player, "O") with mock.patch('builtins.input', return_value='3'): assert not test_player.get_move(test_board) == 1
def test_player_is_valid_move_negative(): test_board = board.Board("X", "O") test_player = player.Player("X") move = 20 assert not test_player.is_valid_move(move=move, board=test_board)
def test_player_is_valid_move_positive(): test_board = board.Board("X", "O") test_player = player.Player("X") move = 3 assert test_player.is_valid_move(move=move, board=test_board)
def test_board_check_for_tie(): test_player = player.Player("X") test_board = board.Board(test_player, "O") test_board.board_list = ["X", "X", "O", "O", "O", "X", "X", "O", "X"] assert test_board.check_for_tie()
def test_board_check_win_for_player_negative(): test_board = board.Board("X", "O") test_player = player.Player("X") test_board.board_list = ["X", "X", " ", " ", " ", " ", " ", " ", " "] assert not test_board.check_win_for_player(test_player)