def test_shuffle():
    """
    Checks that the shuffle method works properly and the list of cards is randomized
    """
    uno_deck = Deck()
    uno_cards = [] + uno_deck.cards
    uno_deck.shuffle()
    shuffled_uno_cards = [] + uno_deck.cards
    assert uno_cards != shuffled_uno_cards
def test_deck_draw(number_cards_pulled, resulting_deck_count,
                   resulting_draw_count):
    """
    Checks that the draw method is properly updating the deck and returning the
    correct amount of cards

    Args:
        number_cards_pulled: a int representing the number of calls to draw from the deck
        resulting_deck_count: a int representing the updated count of cards in the deck
        resulting_draw_count: a int representing the number of cards returned from draw
    """
    shuffled_uno_deck = Deck()
    shuffled_uno_deck.shuffle()
    drawn_cards = shuffled_uno_deck.draw(number_cards_pulled)

    assert (len(shuffled_uno_deck.cards), len(drawn_cards)) == \
        (resulting_deck_count, resulting_draw_count)