Exemple #1
0
    def test_empty_board(self):
        scores = [[1, 2, 3], [7, 8, 9], [4, 5, 6]]
        board = TicTacToeBoard(3, False, None)
        board.board = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

        self.assertEqual(get_best_move(board, scores), (1, 2))

        scores = [[1, 2, 10], [7, 8, 9], [4, 5, 6]]
        board.board = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

        self.assertEqual(get_best_move(board, scores), (0, 2))
Exemple #2
0
    def test_single_option(self):
        scores = [[3, -3, 5], [-2, 7, 0], [4, -1, 3]]
        board = TicTacToeBoard(3, False, None)
        board.board = [[0, 2, 1], [0, 1, 2], [1, 2, 1]]

        self.assertEqual(get_best_move(board, scores), (0, 0))

        board.board = [[0, 2, 1], [0, 0, 2], [1, 2, 1]]

        self.assertEqual(get_best_move(board, scores), (1, 1))

        board.board = [[2, 0, 1], [2, 1, 2], [1, 0, 1]]

        self.assertEqual(get_best_move(board, scores), (2, 1))
Exemple #3
0
    def test_update_scores_tie(self):
        scores = [[4, -3, 5], [-2, 7, -3], [4, -1, 3]]
        board = TicTacToeBoard(3, False, None)
        board.board = [[2, 2, 1], [1, 1, 2], [2, 1, 1]]
        mc_update_scores(scores, board, PLAYERO)

        self.assertEqual(scores, [[4, -3, 5], [-2, 7, -3], [4, -1, 3]])
Exemple #4
0
    def test_update_scores_win_diagonal(self):
        scores = [[3, -3, 5], [-2, 7, 0], [4, -1, 3]]
        board = TicTacToeBoard(3, False, None)
        board.board = [[0, 2, 1], [0, 1, 2], [1, 2, 1]]
        mc_update_scores(scores, board, PLAYERX)

        self.assertEqual(scores, [[3, -4, 6], [-2, 8, -1], [5, -2, 4]])
Exemple #5
0
    def test_empty_two_by_two(self):
        board = TicTacToeBoard(2, False, None)
        scores = [[1, 2], [7, 8]]
        board.board = [[0, 0], [0, 0]]

        self.assertEqual(get_best_move(board, scores), (1, 1))
Exemple #6
0
    def test_no_options(self):
        scores = [[3, -3, 5], [-2, 7, 0], [4, -1, 3]]
        board = TicTacToeBoard(3, False, None)
        board.board = [[1, 2, 1], [2, 1, 2], [1, 2, 1]]

        self.assertEqual(get_best_move(board, scores), None)
Exemple #7
0
    def test_multiple_options(self):
        scores = [[3, -3, 5], [-2, 7, 0], [4, -1, 3]]
        board = TicTacToeBoard(3, False, None)
        board.board = [[0, 2, 1], [0, 1, 2], [1, 0, 0]]

        self.assertIn(get_best_move(board, scores), ((0, 0), (2, 2)))
Exemple #8
0
    def test(self):
        board = TicTacToeBoard(3, False, None)
        board.board = [[2, 2, 1], [2, 1, 2], [2, 1, 1]]

        self.assertEqual(get_score_values(board, PLAYERO), (1, -1))
        self.assertEqual(get_score_values(board, PLAYERX), (-1, 1))
Exemple #9
0
    def test_tie(self):
        tictactoe_board = TicTacToeBoard(3, False, None)
        tictactoe_board.board = [[1, 1, 2], [2, 2, 1], [1, 2, 1]]

        self.assertEqual(tictactoe_board.evaluate_win_status(), DRAW)
Exemple #10
0
    def test_winning_bleft_diagonal(self):
        tictactoe_board = TicTacToeBoard(3, False, None)
        tictactoe_board.board = [[0, 0, 2], [0, 2, 0], [2, 1, 1]]

        self.assertEqual(tictactoe_board.evaluate_win_status(), PLAYERO)
Exemple #11
0
    def test_empty_board(self):
        tictactoe_board = TicTacToeBoard(3, False, None)
        tictactoe_board.board = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

        self.assertEqual(tictactoe_board.evaluate_win_status(), None)