示例#1
0
 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)
示例#2
0
    def test_compare_stacks(self):
        """"""
        other_deck = deck.PinochleDeck(build=True)

        result = tools.compare_stacks(self.deck, other_deck)

        self.assertEqual(result, True)
示例#3
0
    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
示例#4
0
    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)
示例#5
0
    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
示例#6
0
    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
示例#7
0
    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)
示例#8
0
    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
示例#9
0
    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.")
示例#10
0
    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
示例#11
0
    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
示例#12
0
 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)
示例#13
0
    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
示例#14
0
    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
示例#15
0
    def test_score_deck(self):
        """"""
        temp_deck = deck.PinochleDeck(build=True)

        assert score_tricks.score(temp_deck) == 12