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
Exemple #3
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
Exemple #4
0
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
Exemple #5
0
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)
Exemple #14
0
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()
Exemple #15
0
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)