def test_trump_suit_exception(self): """ Tests that an exception is raised as appropriate. """ temp_deck = deck.PinochleDeck(build=True) with pytest.raises(InvalidSuitError): utils.set_trump(trump="NotASuit", f_deck=temp_deck)
def test_compare_stacks(self): """""" other_deck = deck.PinochleDeck(build=True) result = tools.compare_stacks(self.deck, other_deck) self.assertEqual(result, True)
def test_no_trump(self): """""" temp_deck = deck.PinochleDeck(build=True) # Scores everything except nines and runs and marriages are not doubled # as there is no trump suit. # Marriages: 8 # Pinochle: 4 # Jacks, Queens, Kings and Aces: 4 + 6 + 8 + 10 assert score_meld.score(temp_deck) == 40
def test_deck_sort_util(self): """ Tests sorting a full deck using the utility sort function. """ test_deck = deck.PinochleDeck(build=False) test_deck += utils.sort_cards(utils.populate_deck()) self.assertEqual(test_deck.size, 48) while test_deck.size > 0: one, two = test_deck.deal(2) self.assertEqual(one, two)
def test_variant_8(self): """""" temp_deck = deck.PinochleDeck(build=False) temp_deck += [card.PinochleCard("Ace", "Hearts")] temp_deck += [card.PinochleCard("Jack", "Hearts")] temp_deck += [card.PinochleCard("Queen", "Hearts")] temp_deck += [card.PinochleCard("10", "Hearts")] temp_deck += [card.PinochleCard("King", "Hearts")] temp_deck += [card.PinochleCard("10", "Clubs")] assert score_tricks.score(temp_deck) == 4
def test_variant_5(self): """""" temp_deck = deck.PinochleDeck(build=False) temp_deck += [card.PinochleCard("King", "Spades")] temp_deck += [card.PinochleCard("King", "Hearts")] temp_deck += [card.PinochleCard("King", "Hearts")] temp_deck += [card.PinochleCard("10", "Hearts")] temp_deck += [card.PinochleCard("King", "Diamonds")] temp_deck += [card.PinochleCard("King", "Clubs")] assert score_tricks.score(temp_deck) == 6
def test_card_conversions(self): """ Tests the conversions between card value/suit pairs and the SVG card names. """ temp_deck = deck.PinochleDeck(build=True) deck_list = utils.convert_to_svg_names(deck=temp_deck) new_deck = utils.convert_from_svg_names(deck=deck_list) assert len(temp_deck) == len(temp_deck) for item in temp_deck: assert item in list(new_deck)
def test_score_deck(self): """""" temp_deck = deck.PinochleDeck(build=True) assert score_meld._run(utils.set_trump("Clubs", temp_deck)) == 11 assert score_meld._run(utils.set_trump("Diamonds", temp_deck)) == 11 assert score_meld._run(utils.set_trump("Hearts", temp_deck)) == 11 assert score_meld._run(utils.set_trump("Spades", temp_deck)) == 11 assert score_meld.score(utils.set_trump("Clubs", temp_deck)) == 54 assert score_meld.score(utils.set_trump("Diamonds", temp_deck)) == 54 assert score_meld.score(utils.set_trump("Hearts", temp_deck)) == 54 assert score_meld.score(utils.set_trump("Spades", temp_deck)) == 54
def test_build_cards_util(self): """ Simple test to make sure the generated deck is the right size, contains the appropriate collection and quantities of cards. """ test_deck = deck.PinochleDeck(build=False) test_deck += utils.build_cards() test_deck += utils.build_cards() assert test_deck.size == 48 assert test_deck.find_list(["2", "3", "4", "5", "6", "7", "8"]) == [] for card_v in ["Ace", "10", "King", "Queen", "Jack", "9"]: self.assertEqual(len(test_deck.find(card_v)), 8, f"Incorrect number of {card_v} cards.")
def test_marriages(self): """""" temp_deck = deck.PinochleDeck(build=False) temp_deck += [card.PinochleCard("Jack", "Spades")] temp_deck += [card.PinochleCard("10", "Hearts")] temp_deck += [card.PinochleCard("King", "Hearts")] temp_deck += [card.PinochleCard("Queen", "Hearts")] temp_deck += [card.PinochleCard("10", "Spades")] temp_deck += [card.PinochleCard("Queen", "Clubs")] assert score_meld._marriages(utils.set_trump("Clubs", temp_deck)) == 2 assert score_meld._marriages(utils.set_trump("Diamonds", temp_deck)) == 2 assert score_meld._marriages(utils.set_trump("Hearts", temp_deck)) == 4 assert score_meld._marriages(utils.set_trump("Spades", temp_deck)) == 2
def test_run(self): """""" temp_deck = deck.PinochleDeck(build=False) temp_deck += [card.PinochleCard("Ace", "Hearts")] temp_deck += [card.PinochleCard("Jack", "Hearts")] temp_deck += [card.PinochleCard("Queen", "Hearts")] temp_deck += [card.PinochleCard("10", "Hearts")] temp_deck += [card.PinochleCard("King", "Hearts")] temp_deck += [card.PinochleCard("10", "Clubs")] assert score_meld._run(utils.set_trump("Clubs", temp_deck)) == 0 assert score_meld._run(utils.set_trump("Diamonds", temp_deck)) == 0 assert score_meld._run(utils.set_trump("Hearts", temp_deck)) == 11 assert score_meld._run(utils.set_trump("Spades", temp_deck)) == 0 assert score_meld.score(utils.set_trump("Clubs", temp_deck)) == 2 assert score_meld.score(utils.set_trump("Diamonds", temp_deck)) == 2 assert score_meld.score(utils.set_trump("Hearts", temp_deck)) == 15 assert score_meld.score(utils.set_trump("Spades", temp_deck)) == 2
def setUp(self): """""" self.ace_spades = card.PinochleCard("Ace", "Spades") self.nine_diamonds = card.PinochleCard("9", "Diamonds") self.queen_hearts = card.PinochleCard("Queen", "Hearts") self.king_clubs = card.PinochleCard("King", "Clubs") self.cards = [ self.ace_spades, self.nine_diamonds, self.queen_hearts, self.king_clubs, ] self.names = [ "Ace of Spades", "9 of Diamonds", "Queen of Hearts", "King of Clubs", ] self.deck = deck.PinochleDeck(build=True) self.stack = stack.PinochleStack(cards=self.cards)
def test_kings(self): """""" temp_deck = deck.PinochleDeck(build=False) temp_deck += [card.PinochleCard("King", "Spades")] temp_deck += [card.PinochleCard("King", "Hearts")] temp_deck += [card.PinochleCard("King", "Hearts")] temp_deck += [card.PinochleCard("10", "Hearts")] temp_deck += [card.PinochleCard("King", "Diamonds")] temp_deck += [card.PinochleCard("King", "Clubs")] assert score_meld._kings(utils.set_trump("Clubs", temp_deck)) == 8 assert score_meld._kings(utils.set_trump("Diamonds", temp_deck)) == 8 assert score_meld._kings(utils.set_trump("Hearts", temp_deck)) == 8 assert score_meld._kings(utils.set_trump("Spades", temp_deck)) == 8 temp_deck += temp_deck assert score_meld._kings(utils.set_trump("Clubs", temp_deck)) == 80 assert score_meld._kings(utils.set_trump("Diamonds", temp_deck)) == 80 assert score_meld._kings(utils.set_trump("Hearts", temp_deck)) == 80 assert score_meld._kings(utils.set_trump("Spades", temp_deck)) == 80
def test_queens(self): """""" temp_deck = deck.PinochleDeck(build=False) temp_deck += [card.PinochleCard("Queen", "Spades")] temp_deck += [card.PinochleCard("Jack", "Hearts")] temp_deck += [card.PinochleCard("Queen", "Hearts")] temp_deck += [card.PinochleCard("10", "Hearts")] temp_deck += [card.PinochleCard("Queen", "Diamonds")] temp_deck += [card.PinochleCard("Queen", "Clubs")] assert score_meld._queens(utils.set_trump("Clubs", temp_deck)) == 6 assert score_meld._queens(utils.set_trump("Diamonds", temp_deck)) == 6 assert score_meld._queens(utils.set_trump("Hearts", temp_deck)) == 6 assert score_meld._queens(utils.set_trump("Spades", temp_deck)) == 6 temp_deck += temp_deck assert score_meld._queens(utils.set_trump("Clubs", temp_deck)) == 60 assert score_meld._queens(utils.set_trump("Diamonds", temp_deck)) == 60 assert score_meld._queens(utils.set_trump("Hearts", temp_deck)) == 60 assert score_meld._queens(utils.set_trump("Spades", temp_deck)) == 60
def test_score_deck(self): """""" temp_deck = deck.PinochleDeck(build=True) assert score_tricks.score(temp_deck) == 12