def test_draw_simult_wins(self): self.board[0, :] = o self.board[1, :] = x (winner, win_mask) = ttt.check_for_win(self.board) self.assertEqual(winner, ttt.PLAYER['draw']) win_mask2 = (self.board == x) | (self.board == o) np.testing.assert_array_equal(win_mask, win_mask2)
def test_o_wins(self): self.board[2, 0:3] = o self.board[1, 0:2] = x self.win_mask[2, 0:3] = True (winner, win_mask) = ttt.check_for_win(self.board) self.assertEqual(winner, o) np.testing.assert_array_equal(win_mask, self.win_mask)
def test_x_wins(self): self.board[0:3, 0] = x self.board[1:3, 1] = o self.win_mask[0:3, 0] = True (winner, win_mask) = ttt.check_for_win(self.board) self.assertEqual(winner, x) np.testing.assert_array_equal(win_mask, self.win_mask)
def test_draw_no_moves_left(self): self.board[0, 0] = o self.board[0, 1] = o self.board[0, 2] = x self.board[1, 0] = x self.board[1, 1] = x self.board[1, 2] = o self.board[2, 0] = o self.board[2, 1] = o self.board[2, 2] = x (winner, win_mask) = ttt.check_for_win(self.board) self.assertEqual(winner, ttt.PLAYER['draw']) np.testing.assert_array_equal(win_mask, self.win_mask)
def test_black_wins_mult(self): self.board[0, 0] = o self.board[0, 1] = o self.board[0, 2] = x self.board[1, 0] = o self.board[1, 1] = x self.board[1, 2] = o self.board[2, 0] = x self.board[2, 1] = x self.board[2, 2] = x (winner, win_mask) = ttt.check_for_win(self.board) self.assertEqual(winner, x) win_mask2 = self.board == x np.testing.assert_array_equal(win_mask, win_mask2)
def test_no_moves(self): (winner, win_mask) = ttt.check_for_win(self.board) self.assertEqual(winner, n) np.testing.assert_array_equal(win_mask, self.win_mask)
def test_no_winner(self): self.board[0, 0] = x self.board[1, 1] = o (winner, win_mask) = ttt.check_for_win(self.board) self.assertEqual(winner, n) np.testing.assert_array_equal(win_mask, self.win_mask)