Beispiel #1
0
    def test_deck(self):
        """test deck functions"""
        deck = Deck()

        deck += Trump(2)
        self.assertEqual(len(deck), 1)
        self.assertEqual(deck.trumps(), Deck([Trump(2), ]))

        deck2 = Deck()
        deck2 += Trump(1)
        deck2 += Trump(3)
        deck2 += Heart(13)
        deck2 += Club(13)
        deck2 += Diamond(13)
        deck += deck2
        self.assertEqual(len(deck), 6)
        self.assertEqual(deck.trumps(), Deck([Trump(3), Trump(2), Trump(1)]))
        self.assertEqual('%s' % deck, '03-T;02-T;01-T;13-H;13-D;13-C')

        deck -= Trump(2)
        self.assertEqual(len(deck), 5)
        self.assertEqual(deck.trumps(), Deck([Trump(3), Trump(1)]))

        deck -= deck2
        self.assertEqual(len(deck), 0)

        deck = Deck('21-T;19-T;12-T;06-T;01-T;00-T;14-S;12-S;10-S;08-S;01-S;11-H;08-H;13-D;12-D;07-D;06-C;04-C')
        # evaluation :
        #   trumps   41 = 10 + 8 + 7 + 12 + 4
        #   spades   13 = 6 + 2 + 5
        #   hearts    1 = 1
        #   diamonds  5 = 3 + 2
        #   clubs     0 = 0
        #      sum = 60

        self.assertEqual(deck.evaluate(), 60)

        deck = Deck('20-T;18-T;14-T;13-T;09-T;08-T;06-T;14-S;10-S;05-S;04-S;14-H;13-H;08-D;07-D;08-C;07-C;05-C')
        # evaluation :
        #   trumps   18 = 14 + 4
        #   spades    6 = 6
        #   hearts   10 = 10
        #   diamonds  0 = 0
        #   clubs     0 = 0
        #      sum = 34

        self.assertEqual(deck.evaluate(), 34)

        deck = Deck('21-T;20-T;19-T;16-T;14-T;12-T;08-T;00-T;14-S;13-S;08-S;05-S;02-S;04-H;14-D;09-C;08-C;03-C')
        # evaluation :
        #   trumps   45 = 10 + 8 + 16 + 8 + 3
        #   spades   15 = 10 + 5
        #   hearts    3 = 3
        #   diamonds  9 = 6 + 3
        #   clubs     0 = 0
        #      sum = 72

        self.assertEqual(deck.evaluate(), 72)

        deck = Deck('21-T;18-T;17-T;11-T;07-T;01-T;00-T;14-S;13-S;12-S;11-S;10-S;08-S;05-S;14-H;13-D;05-D;04-D')
        # evaluation :
        #   trumps   49 = 10 + 8 + 9 + 14 + 6 + 2
        #   spades   22 = 10 + 2 + 1 + 9
        #   hearts    9 = 6 + 3
        #   diamonds  3 = 3
        #   clubs     6 = 6
        #      sum = 89

        self.assertEqual(deck.evaluate(), 89)