Пример #1
0
    def test_hand_cards_are_sorted(self):
        cards = [
            Card(rank = "5", suite = "hearts"),
            Card(rank = "Ace", suite = "clubs"),
            Card(rank = "King", suite = "clubs"),
        ]

        hand = Hand()
        hand.add_cards(cards)
        self.assertEqual(
            hand.cards,
        [
            Card(rank = "5", suite = "hearts"),
            Card(rank = "King", suite = "clubs"),
            Card(rank = "Ace", suite = "clubs")

        ]
        )
    
        def test_best_Rank(self):
            cards = [
            Card(rank = "5", suite = "hearts"),
            Card(rank = "Ace", suite = "clubs"),
            Card(rank = "King", suite = "clubs"),
        ]

        hand = Hand()
        hand.add_cards(cards)
        self.assertEqual(
            hand.best_rank(),
            (9,"Highest card",[Card(rank = "Ace", suite = "clubs")])
        )
Пример #2
0
 def test_shows_all_its_cards_in_technical_representation(self):
     cards = [
         Card(rank="Ace", suit="Diamonds"),
         Card(rank="7", suit="Clubs")
     ]
     hand = Hand()
     hand.add_cards(cards)
     self.assertEqual(repr(hand), "7 of Clubs, Ace of Diamonds")
Пример #3
0
    def test_receives_and_stores_cards(self):
        ace_of_spades = Card(rank='Ace', suit='Diamonds')
        two_of_clubs = Card(rank='2', suit='Clubs')
        cards = [ace_of_spades, two_of_clubs]
        hand = Hand()
        hand.add_cards(cards)

        self.assertEqual(hand.cards, [two_of_clubs, ace_of_spades])
Пример #4
0
 def test_hand_return_three_of_kind(self):
     hand = [
         Card("Ace", "Clubs"),
         Card("Ace", "Diamonds"),
         Card("Ace", "Spades"),
     ]
     cards = Hand()
     cards.add_cards(hand)
     self.assertEqual(cards.hand, "Three of a Kind")
Пример #5
0
    def test_receive_and_stores_cards(self):
        ace_of_spades = Card(rank="Ace", suit="Spades")
        six_of_clubs = Card(rank="6", suit="Clubs")
        cards = [ace_of_spades, six_of_clubs]

        hand = Hand()
        hand.add_cards(cards)

        self.assertEqual(hand.cards, [six_of_clubs, ace_of_spades])
    def test_figures_out_best_hand_when_flush(self):
        cards = [
            Card(rank=rank, suit="Hearts")
            for rank in ["2", "5", "8", "10", "Ace"]
        ]

        hand = Hand()
        hand.add_cards(cards=cards)

        self.assertEqual(hand.best_rank(), "Flush")
    def test_figures_out_high_card_is_best_rank(self):
        cards = [
            Card(rank="Ace", suit="Spades"),
            Card(rank="7", suit="Diamonds")
        ]

        hand = Hand()
        hand.add_cards(cards=cards)

        self.assertEqual(hand.best_rank(), "High Card")
Пример #8
0
 def test_hand_return_four_of_kind(self):
     hand = [
         Card("Ace", "Clubs"),
         Card("Ace", "Diamonds"),
         Card("Ace", "Hearts"),
         Card("Ace", "Spades")
     ]
     cards = Hand()
     cards.add_cards(hand)
     self.assertEqual(cards.hand, "Four of a Kind")
Пример #9
0
 def test_hand_return_two_pair(self):
     hand = [
         Card("Ace", "Clubs"),
         Card("Ace", "Diamonds"),
         Card("7", "Clubs"),
         Card("7", "Diamonds")
     ]
     cards = Hand()
     cards.add_cards(hand)
     self.assertEqual(cards.hand, "Two Pair")
    def test_figures_out_pair_is_best_rank(self):
        cards = [
            Card(rank="Ace", suit="Spades"),
            Card(rank="Ace", suit="Clubs")
        ]

        hand = Hand()
        hand.add_cards(cards=cards)

        self.assertEqual(hand.best_rank(), "Pair")
Пример #11
0
 def test_hand_value_pair(self):
     hand = [
         Card("2", "Clubs"),
         Card("2", "Diamonds"),
         Card("8", "Clubs"),
         Card("7", "Diamonds")
     ]
     cards = Hand()
     cards.add_cards(hand)
     self.assertEqual(cards.score, (200 + sum([1, 1])))
    def test_does_not_deem_two_consecutive_cards_as_straight(self):
        cards = [
            Card(rank="6", suit="Hearts"),
            Card(rank="7", suit="Diamonds"),
        ]

        hand = Hand()
        hand.add_cards(cards=cards)

        self.assertEqual(hand.best_rank(), "High Card")
Пример #13
0
 def test_hand_return_straight_flush(self):
     hand = [
         Card("2", "Diamonds"),
         Card("3", "Diamonds"),
         Card("4", "Diamonds"),
         Card("5", "Diamonds"),
         Card("6", "Diamonds")
     ]
     cards = Hand()
     cards.add_cards(hand)
     self.assertEqual(cards.hand, "Straight Flush")
Пример #14
0
 def test_hand_return_straight(self):
     hand = [
         Card("2", "Clubs"),
         Card("3", "Diamonds"),
         Card("4", "Hearts"),
         Card("5", "Diamonds"),
         Card("6", "Diamonds")
     ]
     cards = Hand()
     cards.add_cards(hand)
     self.assertEqual(cards.hand, "Straight")
Пример #15
0
 def test_hand_return_flush(self):
     hand = [
         Card("2", "Diamonds"),
         Card("4", "Diamonds"),
         Card("6", "Diamonds"),
         Card("8", "Diamonds"),
         Card("10", "Diamonds")
     ]
     cards = Hand()
     cards.add_cards(hand)
     self.assertEqual(cards.hand, "Flush")
Пример #16
0
 def test_hand_return_full_house(self):
     hand = [
         Card("Ace", "Clubs"),
         Card("Ace", "Diamonds"),
         Card("Ace", "Hearts"),
         Card("7", "Spades"),
         Card("7", "Spades")
     ]
     cards = Hand()
     cards.add_cards(hand)
     self.assertEqual(cards.hand, "Full House")
Пример #17
0
 def test_hand_high_card_hand_value(self):
     hand = [
         Card("Ace", "Clubs"),
         Card("3", "Diamonds"),
         Card("4", "Hearts"),
         Card("5", "Diamonds"),
         Card("6", "Diamonds")
     ]
     cards = Hand()
     cards.add_cards(hand)
     self.assertEqual(cards.score, (100 + sum([13])))
Пример #18
0
 def test_hand_value_low_straight(self):
     hand = [
         Card("2", "Clubs"),
         Card("3", "Diamonds"),
         Card("4", "Hearts"),
         Card("5", "Diamonds"),
         Card("6", "Diamonds")
     ]
     cards = Hand()
     cards.add_cards(hand)
     self.assertEqual(cards.score, 500 + sum([1, 2, 3, 4, 5]))
Пример #19
0
 def test_to_check_technical_representation_of_hand(self):
     hand = Hand()
     cards = [
         Card(rank = "7", suite = "spades"),
         Card(rank = "Ace", suite = "clubs")
     ]
     hand.add_cards(cards)
     self.assertEqual(
         repr(hand),
         "7 of spades, Ace of clubs"
     )
Пример #20
0
 def test_hand_return_royal_flush(self):
     hand = [
         Card("Ace", "Diamonds"),
         Card("King", "Diamonds"),
         Card("Queen", "Diamonds"),
         Card("10", "Diamonds"),
         Card("Jack", "Diamonds")
     ]
     cards = Hand()
     cards.add_cards(hand)
     self.assertEqual(cards.hand, "Royal Flush")
Пример #21
0
 def test_hand_value_royal_flush(self):
     hand = [
         Card("Ace", "Diamonds"),
         Card("King", "Diamonds"),
         Card("Queen", "Diamonds"),
         Card("10", "Diamonds"),
         Card("Jack", "Diamonds")
     ]
     cards = Hand()
     cards.add_cards(hand)
     # as it stands ((hand score ** hand score) * sum of hand cards values)
     self.assertEqual(cards.score, 1000 + sum([13, 12, 11, 10, 9]))
Пример #22
0
 def test_hands_equality(self):
     hand_a = [
         Card("Ace", "Clubs"),
         Card("Ace", "Diamonds"),
         Card("2", "Clubs"),
         Card("3", "Diamonds")
     ]
     cards_a = Hand()
     cards_a.add_cards(hand_a)
     cards_b = Hand()
     cards_b.add_cards(hand_a)
     self.assertEqual(cards_a == cards_b, True)
    def test_figures_out_straight_is_best_hand(self):
        cards = [
            Card(rank="6", suit="Hearts"),
            Card(rank="7", suit="Diamonds"),
            Card(rank="8", suit="Spades"),
            Card(rank="9", suit="Clubs"),
            Card(rank="10", suit="Clubs")
        ]

        hand = Hand()
        hand.add_cards(cards=cards)

        self.assertEqual(hand.best_rank(), "Straight")
    def test_figures_out_three_of_a_kind_is_best_rank(self):
        cards = [
            Card(rank="King", suit="Clubs"),
            Card(rank="King", suit="Hearts"),
            Card(rank="King", suit="Diamonds"),
            Card(rank="Ace", suit="Spades"),
            Card(rank="5", suit="Clubs")
        ]

        hand = Hand()
        hand.add_cards(cards=cards)

        self.assertEqual(hand.best_rank(), "Three of a Kind")
    def test_figures_out_two_pair_is_best_rank(self):
        cards = [
            Card(rank="Ace", suit="Spades"),
            Card(rank="5", suit="Clubs"),
            Card(rank="Ace", suit="Clubs"),
            Card(rank="King", suit="Hearts"),
            Card(rank="King", suit="Diamonds")
        ]

        hand = Hand()
        hand.add_cards(cards=cards)

        self.assertEqual(hand.best_rank(), "Two Pair")
Пример #26
0
    def test_hand_has_cards(self):
        cards = [
            Card(rank = "7", suite = "spades"),
            Card(rank = "Ace", suite = "clubs") 

        ]

        hand = Hand()
        hand.add_cards(cards)
        self.assertEqual(
            hand.cards, 
            cards
        )
    def test_figures_out_royal_flush_is_best_rank(self):
        cards = [
            Card(rank="10", suit="Clubs"),
            Card(rank="Jack", suit="Clubs"),
            Card(rank="Queen", suit="Clubs"),
            Card(rank="King", suit="Clubs"),
            Card(rank="Ace", suit="Clubs")
        ]

        hand = Hand()
        hand.add_cards(cards=cards)

        self.assertEqual(hand.best_rank(), "Royal Flush")
    def test_figures_out_straight_flush_is_best_rank(self):
        cards = [
            Card(rank="3", suit="Clubs"),
            Card(rank="4", suit="Clubs"),
            Card(rank="5", suit="Clubs"),
            Card(rank="6", suit="Clubs"),
            Card(rank="7", suit="Clubs")
        ]

        hand = Hand()
        hand.add_cards(cards=cards)

        self.assertEqual(hand.best_rank(), "Straight Flush")
    def test_figures_out_four_of_a_kind_is_best_rank(self):
        cards = [
            Card(rank="3", suit="Clubs"),
            Card(rank="3", suit="Hearts"),
            Card(rank="3", suit="Spades"),
            Card(rank="3", suit="Diamonds"),
            Card(rank="9", suit="Spades")
        ]

        hand = Hand()
        hand.add_cards(cards=cards)

        self.assertEqual(hand.best_rank(), "Four of a Kind")
    def test_figures_out_full_house_is_best_rank(self):
        cards = [
            Card(rank="3", suit="Clubs"),
            Card(rank="3", suit="Hearts"),
            Card(rank="3", suit="Spades"),
            Card(rank="9", suit="Diamonds"),
            Card(rank="9", suit="Spades")
        ]

        hand = Hand()
        hand.add_cards(cards=cards)

        self.assertEqual(hand.best_rank(), "Full House")