예제 #1
0
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
예제 #2
0
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]
예제 #3
0
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
예제 #4
0
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
예제 #5
0
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)