def setUp(self):
     self.dod = DiceOfDoom()
class TestDiceOfDoom(unittest.TestCase):
    def setUp(self):
        self.dod = DiceOfDoom()

    def test_construct(self):
        self.assertEqual(self.dod.board_size, 2)

    def test_gen_board(self):
        board = self.dod.gen_board()
        self.assertEqual(len(board), 4)

        #print debug
        # print board

        for hex in board:
            self.assertTrue(hex[0] == 0 or hex[0] == 1)
            self.assertTrue(hex[1] <= 3)

    # def test_draw_board(self):
    #     self.dod.draw_board()

    def test_neighbors(self):
        neighbors = self.dod.neighbors(3)
        self.assertTrue(len(neighbors), 3)
        # print neighbors

    def test_board_attack(self):
        old_board = [(0, 3), (0, 3), (1, 3), (1, 1)]
        new_board = self.dod.board_attack(old_board, 0, 1, 3, 3)
        self.assertEqual(len(new_board), len(old_board))
        # print new_board

    def test_add_new_dice(self):
        old_board = [(0, 1), (1, 3), (0, 2), (1, 1)]
        new_board = self.dod.add_new_dice(old_board, 0, 2)
        # print new_board

    def test_game_tree(self):
        old_board = [(1, 2), (1, 2), (0, 2), (1, 1)]
        new_board = self.dod.game_tree(old_board, 0, 0, True)
        # print new_board

    # def test_print_info(self):
    #     self.dod.print_info(self.dod.game_tree(self.dod.gen_board(), 0, 0, True))

    # def test_handle_human(self):
    #     board = [(1, 2), (1, 2), (0, 2), (1, 1)]
    #     tree = self.dod.game_tree(board, 0, 0, True)
    #     self.dod.handle_human(tree)

    def test_winners(self):
        old_board = [(1, 2), (1, 2), (0, 2), (1, 1)]
        # print self.dod.winners(old_board)

    def test_announce_winners(self):
        old_board = [(1, 2), (1, 2), (0, 2), (1, 1)]
        # print self.dod.announce_winner(old_board)

    def test_rating_postion(self):
        board = [(1, 2), (1, 2), (0, 2), (1, 1)]
        tree = self.dod.game_tree(board, 0, 0, True)
        self.assertEquals(self.dod.rate_position(tree, 0), 0)
        self.assertEquals(self.dod.rate_position(tree, 1), 1)

    def test_handle_computer(self):
        board = [(0, 3), (1, 3), (0, 2), (1, 2)]
        tree = self.dod.game_tree(board, 0, 0, True)
        print(self.dod.handle_computer(tree))