def test_player_not_allowed_to_yield_after_attacked_out_of_tokyo(): attacker = Player() attacker.move_to_tokyo() yielder = Player() yielder.leave_tokyo() attack_actions.attack_players(attacker, [yielder]) assert not yielder.allowed_to_yield assert not attacker.allowed_to_yield
def test_gets_all_attackable_players_in_different_location(): attack_player = Player() player_two = Player() player_three = Player() player_four = Player() player_two.move_to_tokyo() player_four.move_to_tokyo() possible_players = [player_two, player_three, player_four] attackable_players = attack_actions.get_attackable_players( attack_player, possible_players) assert attackable_players == [player_two, player_four]
def test_attack_all_players_if_attacker_has_nova_breath(): attack_player = Player() player_two = Player() player_three = Player() player_four = Player() player_two.move_to_tokyo() player_four.move_to_tokyo() possible_players = [player_two, player_three, player_four] attack_player.add_card(NovaBreath()) attackable_players = attack_actions.get_attackable_players( attack_player, possible_players) assert attackable_players == possible_players
def test_drop_from_high_altitude_force_other_player_out(player): other_player = Player() other_player.move_to_tokyo() DropFromHighAltitude().immediate_effect(player, other_player) assert other_player.location == Locations.OUTSIDE
def test_if_attackable_in_different_locations(): player_one = Player() player_two = Player() player_two.move_to_tokyo() assert attack_actions.is_attackable(player_one, player_two)