示例#1
0
 def test_wins_blocked(self):
     self.board[2, 0] = o
     self.board[2, 1] = o
     self.board[2, 2] = x
     (white_moves, black_moves) = ttt.find_moves(self.board)
     self.assertEqual(white_moves[0], ttt.Move(1, 1))
     self.assertEqual(black_moves[0], ttt.Move(1, 1))
示例#2
0
 def test_x_place_to_win(self):
     self.board[0, 0] = x
     self.board[2, 2] = x
     (white_moves, black_moves) = ttt.find_moves(self.board)
     self.assertEqual(white_moves[0], ttt.Move(1, 1))
     self.assertEqual(black_moves[0], ttt.Move(1, 1))
     self.assertEqual(white_moves[0].power, 10)
     self.assertEqual(black_moves[0].power, 100)
示例#3
0
 def test_o_place_to_win(self):
     self.board[2, 0] = o
     self.board[2, 1] = o
     (white_moves, black_moves) = ttt.find_moves(self.board)
     self.assertEqual(white_moves[0], ttt.Move(2, 2))
     self.assertEqual(black_moves[0], ttt.Move(2, 2))
     self.assertEqual(white_moves[0].power, 100)
     self.assertEqual(black_moves[0].power, 10)
示例#4
0
 def test_another_off_one_win(self):
     self.board[0, 0] = o
     self.board[0, 1] = x
     self.board[1, 2] = x
     (white_moves, black_moves) = ttt.find_moves(self.board)
     self.assertEqual(white_moves[0], ttt.Move(1, 1))
     self.assertEqual(black_moves[0], ttt.Move(1, 1))
     self.assertEqual(white_moves[0].power, 5)
     self.assertEqual(black_moves[0].power, 6)
示例#5
0
 def test_one_from_win_move(self):
     self.board[0, 1] = o
     self.board[1, 2] = o
     self.board[1, 1] = x
     (white_moves, black_moves) = ttt.find_moves(self.board)
     self.assertEqual(white_moves[0], ttt.Move(0, 2))
     self.assertEqual(black_moves[0], ttt.Move(0, 2))
     self.assertEqual(white_moves[0].power, 6)
     self.assertEqual(black_moves[0].power, 5)
示例#6
0
 def test_same_win_square(self):
     self.board[0, 0] = x
     self.board[2, 2] = x
     self.board[1, 0] = o
     self.board[1, 2] = o
     (white_moves, black_moves) = ttt.find_moves(self.board)
     self.assertEqual(white_moves[0], ttt.Move(1, 1))
     self.assertEqual(black_moves[0], ttt.Move(1, 1))
     self.assertEqual(white_moves[0].power, 100)
     self.assertEqual(black_moves[0].power, 100)
示例#7
0
 def test_double_win_in_two(self):
     self.board[0, 1] = o
     self.board[1, 2] = o
     self.board[1, 0] = x
     self.board[2, 1] = x
     (white_moves, black_moves) = ttt.find_moves(self.board)
     self.assertEqual(white_moves[0], ttt.Move(0, 2))
     self.assertEqual(black_moves[0], ttt.Move(2, 0))
     self.assertEqual(white_moves[0].power, 6)
     self.assertEqual(black_moves[0].power, 6)
     self.assertEqual(white_moves[1], ttt.Move(2, 0))
     self.assertEqual(black_moves[1], ttt.Move(0, 2))
     self.assertEqual(white_moves[1].power, 5)
     self.assertEqual(black_moves[1].power, 5)
示例#8
0
 def test_inserting_move(self):
     board = self.board.copy()
     xc = 2
     yc = 2
     cur_move = Counter(1) # 2 would be the next move, 1 makes this replace the last move
     cur_game = Counter(1)
     game_hist = [ttt.GameStats(1, o), ttt.GameStats(2, x)]
     game_hist[1].add_move(ttt.Move(0,0))
     game_hist[1].add_move(ttt.Move(1,1)) # setting a move that will be replaced
     board[0, 0] = x
     self.assertEqual(game_hist[1].num_moves, 2)
     ttt.make_move(self.ax, board, xc, yc, cur_move, cur_game, game_hist)
     self.assertEqual(cur_move, 2)
     self.assertEqual(cur_game, 1)
     self.board[0, 0] = x
     self.board[2, 2] = o
     np.testing.assert_array_equal(board, self.board)
示例#9
0
 def test_lt(self):
     self.assertTrue(self.move3 < self.move2)
     self.assertFalse(self.move1 < self.move1)
     self.assertTrue(self.move2 < ttt.Move(1, 3, 5))
     self.assertFalse(self.move2 < ttt.Move(1, 3, 4))
     self.assertTrue(self.move2 < ttt.Move(2, 3, 4))
     self.assertFalse(self.move2 < ttt.Move(0, 3, 4))
     self.assertTrue(self.move2 < ttt.Move(1, 4, 4))
     self.assertFalse(self.move2 < ttt.Move(1, 2, 4))
示例#10
0
 def setUp(self):
     self.move1 = ttt.Move(0, 1)
     self.move2 = ttt.Move(1, 3, 4)
     self.move3 = ttt.Move(1, 3, 2)
示例#11
0
 def setUp(self):
     self.move1 = ttt.Move(0, 0)
     self.gamestats1 = ttt.GameStats(0, o, n)
     self.gamestats2 = ttt.GameStats(0, o, n,
                                     [self.move1, self.move1, self.move1])
     self.game_hist = [self.gamestats1, self.gamestats2]
示例#12
0
 def setUp(self):
     self.moves = [ttt.Move(0, 0), ttt.Move(1, 1), ttt.Move(2, 1)]
     self.board = np.full((3, 3), n, dtype=int)
示例#13
0
 def test_no_wins(self):
     (white_moves, black_moves) = ttt.find_moves(self.board)
     self.assertEqual(white_moves[0], ttt.Move(1, 1))
     self.assertEqual(black_moves[0], ttt.Move(1, 1))