Пример #1
0
    def test_observe_after_raise(self):
        world = WorldTotalWatten()
        world.rank = 3
        world.suit = 1

        world.current_player = 1
        result, next_player = world.act(0, self.agent)

        result, next_player = world.act(1, self.agent)

        world.observe(next_player, self.agent)
Пример #2
0
    def test_best_move_declares_rank_2(self):
        world = WorldTotalWatten()

        world.current_player = -1
        result, next_player = world.act(0, self.agent)

        self.assertEqual(result, "continue")
        self.assertEqual(next_player, 1)
        self.assertIsNotNone(world.rank)
        self.assertEqual(world.is_last_move_raise, False)
        self.assertEqual(world.is_last_move_accepted_raise, False)
Пример #3
0
    def test_game_no_raise_player_A_starts(self):
        world = WorldTotalWatten()
        world.LOG.setLevel(DEBUG)

        world.init_world_to_state(-1, 1, 0, 0, [28, 29, 3, 15, 22],
                                  [19, 14, 7, 0, 11], [], 0, 0, 2, False,
                                  False, None, 18, 21, None, None)

        # [39, 44, 0, 46, 48, 3, 29, 46, 48, 14, 11, 15]
        world_copy = world.deepcopy()

        ######## MOVE ########
        valid_moves = world.get_valid_moves()

        outcome, next_player = world.act(0, self.agent)  # rank
        outcome, next_player = world.act(0, self.agent)  # suit
        outcome, next_player = world.act(0, self.agent)  # card
        outcome, next_player = world.act(1, self.agent)  # raise
        outcome, next_player = world.act(3, self.agent)  # accepted raise
        outcome, next_player = world.act(0, self.agent)  # card --
        outcome, next_player = world.act(1, self.agent)  # raise
        outcome, next_player = world.act(3, self.agent)  # accepted raise
        outcome, next_player = world.act(0, self.agent)  # card --
        outcome, next_player = world.act(0, self.agent)  # card
        outcome, next_player = world.act(0, self.agent)  # card
        outcome, next_player = world.act(0, self.agent)  # card
        world.get_valid_moves()
Пример #4
0
    def test_act_accept_raise(self):
        world = WorldTotalWatten()

        world.current_player = 1
        world.is_last_move_accepted_raise = False
        world.is_last_move_raise = True

        result, next_player = world.act(3, self.agent)

        self.assertEqual(result, "continue")
        self.assertEqual(next_player, -1)
        self.assertEqual(world.is_last_move_raise, False)
        self.assertEqual(world.is_last_move_accepted_raise, True)
Пример #5
0
    def test_best_move_move_plays_card_2(self):
        world = WorldTotalWatten()

        world.current_player = -1
        world.rank = 3
        world.suit = 1

        result, next_player = world.act(0, self.agent)

        self.assertEqual(result, "continue")
        self.assertEqual(next_player, 1)
        self.assertEqual(len(world.player_A_hand), 5)
        self.assertEqual(len(world.player_B_hand), 4)
Пример #6
0
    def test_best_move_declares_suit_1(self):
        world = WorldTotalWatten()

        world.current_player = 1
        world.rank = 3
        world.is_last_move_accepted_raise = True
        world.is_last_move_raise = False

        result, next_player = world.act(0, self.agent)

        self.assertEqual(result, "continue")
        self.assertEqual(next_player, -1)
        self.assertIsNotNone(world.suit)
        self.assertEqual(world.is_last_move_raise, False)
        self.assertEqual(world.is_last_move_accepted_raise, False)
Пример #7
0
    def test_act_raise_points(self):
        world = WorldTotalWatten()

        world.current_player = -1
        world.current_game_prize = 4
        world.is_last_move_raise = False
        world.is_last_move_accepted_raise = False

        result, next_player = world.act(1, self.agent)

        self.assertEqual(result, "continue")
        self.assertEqual(next_player, 1)
        self.assertEqual(world.current_player, 1)
        self.assertEqual(world.current_game_prize, 5)
        self.assertEqual(world.is_last_move_raise, True)
        self.assertEqual(world.is_last_move_accepted_raise, False)
Пример #8
0
    def test_act_fold(self):

        world = WorldTotalWatten()

        world.player_A_score = 4
        world.player_B_score = 7

        world.current_game_prize = 3

        world.current_player = 1
        world.distributing_cards_player = -1
        world.is_last_move_raise = True

        result, next_player = world.act(total_watten.moves["fold_hand"],
                                        self.agent)

        self.assertEqual("end", result)
        self.assertEqual(7 + 2, world.player_B_score)

        self.assertEqual(-1, world.current_player)
        self.assertEqual(-1, next_player)
Пример #9
0
    def test_act_unknown_move(self):
        world = WorldTotalWatten()

        with self.assertRaises(InvalidActionError):
            world.act(5, self.agent)