Exemplo n.º 1
0
def test_sweep_store_puts_current_cards_in_discard(deck_handler):
    test_player = Player()
    test_player.energy = constants.SWEEP_CARD_STORE_COST
    initial_cards_in_store = [deck_handler.store[0], deck_handler.store[1],
                              deck_handler.store[2]]
    deck_handler.sweep_store(test_player)
    assert len(deck_handler.discard_pile) == constants.CARD_STORE_SIZE_LIMITER
    for card in initial_cards_in_store:
        assert deck_handler.discard_pile.__contains__(card)
Exemplo n.º 2
0
def test_sweep_store_takes_current_cards_from_store(deck_handler):
    test_player = Player()
    test_player.energy = constants.SWEEP_CARD_STORE_COST
    reset_deck_handler_to_single_card_only_deck(deck_handler, SAMPLE_KEEP_CARD)
    deck_handler.draw_pile.clear()
    for _ in itertools.repeat(None, 7):
        deck_handler.draw_pile.add_card_to_deck(SAMPLE_DISCARD_CARD)
    deck_handler.sweep_store(test_player)
    for card in deck_handler.store:
        assert isinstance(card, SAMPLE_DISCARD_CARD.__class__)
Exemplo n.º 3
0
def test_sweep_store_costs_energy(deck_handler):
    test_player = Player()
    test_player.energy = constants.SWEEP_CARD_STORE_COST
    deck_handler.sweep_store(test_player)
    assert test_player.energy == 0
Exemplo n.º 4
0
def test_sweep_store_not_allowed_with_insufficient_energy(deck_handler):
    test_player = Player()
    test_player.energy = 0
    with pytest.raises(Exception) as exception:
        deck_handler.sweep_store(test_player)
    assert str(exception.value) == constants.INSUFFICIENT_FUNDS_TO_SWEEP_MSG
Exemplo n.º 5
0
def test_do_not_sell_card_to_player_with_no_energy(deck_handler, other_players):
    poor_player = Player()
    poor_player.energy = 0
    with pytest.raises(Exception) as raised_exception:
        deck_handler.buy_card_from_store(1, poor_player, other_players)
    assert constants.INSUFFICIENT_FUNDS_MSG in str(raised_exception.value)