Beispiel #1
0
def test_horde_show_up_two_zombies_left_in_city_no_graveyard():
    gs = GameState()
    gs.players = [PlayerShelter(), PlayerShelter(), PlayerShelter()]
    gs.active_player = gs.players[1]
    gs.city_deck = [
        CityCard(ZombieType.HORDE),
        CityCard(ZombieType.ZOMBIE),
        CityCard(ZombieType.ZOMBIE)
    ]
    gs.zombie_show_up()
    assert len(gs.city_deck) == 0
    assert len(gs.players[0].zombies) == 1
    assert len(gs.players[1].zombies) == 0
    assert len(gs.players[2].zombies) == 1
    assert len(gs.active_player.zombies) == 0

    gs = GameState()
    gs.players = [PlayerShelter(), PlayerShelter(), PlayerShelter()]
    gs.active_player = gs.players[2]
    gs.city_deck = [
        CityCard(ZombieType.HORDE),
        CityCard(ZombieType.ZOMBIE),
        CityCard(ZombieType.ZOMBIE)
    ]
    gs.zombie_show_up()
    assert len(gs.city_deck) == 0
    assert len(gs.players[0].zombies) == 1
    assert len(gs.players[1].zombies) == 1
    assert len(gs.players[2].zombies) == 0
    assert len(gs.active_player.zombies) == 0
def test_gui_default(fast_zombie, zombie, big_zombie):
    gs = GameState()
    gs.players = [
        PlayerShelter('Name_1'),
        PlayerShelter('Name_2'),
        PlayerShelter('Name_3')
    ]
    gs.players[1].zombies = [
        zombie, fast_zombie, fast_zombie, big_zombie, zombie
    ]
    gs.players[1].obstacles = [Supply.BARRICADES, Supply.ALARM]
    gs.players[1].survivors = [CityCard(), CityCard()]
    gs.players[2].zombies = [big_zombie, big_zombie]
    gs.players[2].obstacles = [Supply.MINE_FILED]
    gs.players[2].survivors = [CityCard(), CityCard(), CityCard()]
    gs.active_player = gs.players[0]
    shelter = gs.active_player
    shelter.print = dumper_factory()
    shelter.zombies = [zombie]
    shelter.supplies = [Supply.AXE, Supply.MINE_FILED, Supply.LURE_OUT]
    shelter.obstacles = [Supply.MINE_FILED, Supply.ALARM]
    shelter.survivors = [CityCard(), CityCard(), CityCard(), CityCard()]
    shelter.gui_default(gs)
    assert len(tests.common.outputs) == 1
    assert len(tests.common.outputs[0]) == 684

    gs.city_deck = [zombie, CityCard()]
    shelter.gui_default(gs)
    assert len(tests.common.outputs) == 2
    assert len(tests.common.outputs[1]) == 706
Beispiel #3
0
def test_fast_zombie_show_up():
    gs = GameState()
    gs.active_player = PlayerShelter()
    gs.city_deck = [CityCard(ZombieType.FAST)]
    gs.zombie_show_up()
    assert len(gs.active_player.zombies) == 1
    assert gs.active_player.zombies[0].top == ZombieType.FAST
    assert len(gs.city_deck) == 0
Beispiel #4
0
def test_horde_show_up_second_time():
    gs = GameState()
    gs.players = [PlayerShelter(), PlayerShelter(), PlayerShelter()]
    gs.active_player = gs.players[1]
    horde = ZombieType.HORDE
    zombie = ZombieType.ZOMBIE
    gs.city_deck = [
        CityCard(horde),
        CityCard(zombie),
        CityCard(horde),
        CityCard(zombie),
        CityCard(zombie),
        CityCard(zombie),
        CityCard(zombie),
        CityCard(zombie)
    ]
    gs.zombie_show_up()
    assert len(gs.city_deck) == 0
    assert len(gs.city_graveyard) == 2
    assert len(gs.players[0].zombies) == 2
    assert len(gs.players[1].zombies) == 1
    assert len(gs.players[2].zombies) == 2
    assert len(gs.active_player.zombies) == 1

    gs = GameState()
    gs.players = [PlayerShelter(), PlayerShelter(), PlayerShelter()]
    gs.active_player = gs.players[2]
    gs.city_deck = [
        CityCard(horde),
        CityCard(horde),
        CityCard(zombie),
        CityCard(zombie),
        CityCard(zombie),
        CityCard(zombie),
        CityCard(zombie),
        CityCard(zombie)
    ]
    gs.zombie_show_up()
    assert len(gs.city_deck) == 0
    assert len(gs.city_graveyard) == 2
    assert len(gs.players[0].zombies) == 2
    assert len(gs.players[1].zombies) == 2
    assert len(gs.players[2].zombies) == 1
    assert len(gs.active_player.zombies) == 1
Beispiel #5
0
def test_zombie_show_up():
    gs = GameState()
    gs.active_player = PlayerShelter()
    gs.city_deck = [CityCard(ZombieType.ZOMBIE)]
    gs.zombie_show_up()
    assert gs.city_deck[0].top == ZombieType.ZOMBIE
    assert gs.city_deck[0].bottom == ZombieType.SURVIVOR
    assert len(gs.city_deck) == 1
    gs.zombie_show_up()
    assert len(gs.active_player.zombies) == 1
    assert gs.active_player.zombies[0].top == ZombieType.ZOMBIE
    assert len(gs.city_deck) == 0

    gs.city_deck = [CityCard(ZombieType.BIG)]
    gs.zombie_show_up()
    assert gs.city_deck[0].top == ZombieType.BIG
    assert gs.city_deck[0].bottom == ZombieType.SURVIVOR
    assert len(gs.city_deck) == 1
    gs.zombie_show_up()
    assert len(gs.active_player.zombies) == 2
    assert gs.active_player.zombies[1].top == ZombieType.BIG
    assert len(gs.city_deck) == 0
Beispiel #6
0
async def test_play_round_use_loud_tool(zombie):
    gs = GameState()
    gs.players = [PlayerShelter('0'), PlayerShelter('1')]
    gs.players[1].survivors = [CityCard()]
    gs.players[1].zombies = [zombie]
    gs.active_player = gs.players[0]
    gs.city_deck = [CityCard()]
    shelter = gs.active_player
    shelter.print = dumper_factory()
    shelter.input = helper_factory(['0', '2'])
    shelter.survivors = [CityCard()]
    shelter.supplies = [Supply.GUN, Supply.BARRICADES, Supply.ALARM]
    await gs.play_round()
    assert len(shelter.supplies) == 3
    assert gs.city_deck[0].top == ZombieType.ZOMBIE
    assert gs.active_player != shelter
Beispiel #7
0
async def test_play_round_last_supplies(zombie):
    gs = GameState()
    gs.players = [PlayerShelter('0'), PlayerShelter('1')]
    gs.supply_deck = [Supply.SACRIFICE, Supply.DRONE, Supply.GUN]
    gs.city_deck = [CityCard()]
    gs.players[1].survivors = [CityCard()]
    gs.active_player = gs.players[0]
    shelter = gs.active_player
    shelter.print = dumper_factory()
    shelter.input = helper_factory(['0', '0', '0', 'y'])
    shelter.survivors = [CityCard()]
    shelter.zombies = [zombie]
    shelter.supplies = [Supply.RADIO, Supply.BARRICADES, Supply.ALARM]
    await gs.play_round()
    assert len(shelter.supplies) == 3
    assert gs.final_attack
    assert gs.last_supplies_taken
    assert gs.active_player != shelter
Beispiel #8
0
def test_zombie_show_up_empty_city():
    gs = GameState()
    gs.active_player = PlayerShelter()
    gs.city_deck = []
    gs.zombie_show_up()
    assert len(gs.active_player.zombies) == 0