def test_add_jokers_result(self): """ Asserts that at least one joker has been added """ deck_obj = DeckOfCards() deck_obj.add_jokers() assert 4 in [card.suit for card in deck_obj.deck]
def test_shuffle_deck_order(self): """ Asserts that the deck order is changed """ deck_obj = DeckOfCards() reference_deck = copy.deepcopy(deck_obj.deck) deck_obj.shuffle_deck() assert not reference_deck == deck_obj.deck
def test_order_deck_rank(self): """ Asserts that the deck is ordered by rank """ deck_obj = DeckOfCards() deck_obj.order_deck() assert (card.value < next(deck_obj.deck).value for card in deck_obj.deck)
def test_add_deck(self): """ Asserts that adding a deck increases the length of the deck """ deck_obj = DeckOfCards() original_deck = len(deck_obj.deck) deck_obj.add_deck() assert original_deck < len(deck_obj.deck)
def test_take_card_result(self): """ Asserts that the length of the deck is increased when taking a card """ deck_obj = DeckOfCards() original_length = len(deck_obj.deck) deck_obj.take_card(Card((0, 0))) assert original_length < len(deck_obj.deck)
def test_give_card_output(self): """ Asserts the output type of _give_card is an instance of Card """ deck_obj = DeckOfCards() card1 = deck_obj.give_random_card() card2 = deck_obj.give_first_card() card3 = deck_obj.give_last_card() assert isinstance(card1, Card) assert isinstance(card1, object) assert isinstance(card2, Card) assert isinstance(card2, object) assert isinstance(card3, Card) assert isinstance(card3, object)
def __init__(self): """ Initializes the engine object """ self.deck = self._adjust_values(DeckOfCards()) self.dealer = Dealer() self.players = []
def test_init(self): """ Asserts that an object created from DeckOfCards is of the right type """ deck_obj = DeckOfCards() assert isinstance(deck_obj, DeckOfCards) assert isinstance(deck_obj, object)
def set_deck_count(self, nb_of_decks): """ Sets the number of decks to use :param nb_of_decks: number of decks to use :return: deck object """ if isinstance(nb_of_decks, int): if nb_of_decks > 1: for deck_nb in range(2, nb_of_decks + 1): self._adjust_values(DeckOfCards()) return self.deck else: raise ValueError("The parameter for the 'set_deck_count' method must be an integer")
def reset_engine(self): self.deck = self._adjust_values(DeckOfCards()) self.dealer = Dealer() self.players.clear()