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)
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)
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()
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)
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)
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)
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)
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)
def test_act_unknown_move(self): world = WorldTotalWatten() with self.assertRaises(InvalidActionError): world.act(5, self.agent)