コード例 #1
0
    def test_player_hand_value(self):
        deck = black_jack.Deck()
        hand = black_jack.PlayerHand(deck)
        s = hand.value()
        self.assertEqual(s, 21)

        deck = black_jack.Deck()
        hand = black_jack.PlayerHand(deck)
        card = deck.deal_one()
        hand.append(card)
        s = hand.value()
        self.assertEqual(s, 21)

        deck = black_jack.Deck()
        hand = black_jack.PlayerHand(deck)
        card = black_jack.Card('8-C')
        hand.append(card)
        s = hand.value()
        self.assertEqual(s, 19)

        deck = black_jack.Deck()
        hand = black_jack.PlayerHand(deck)
        card = black_jack.Card('A-C')
        hand.append(card)
        s = hand.value()
        self.assertEqual(s, 12)
コード例 #2
0
    def test_card_value(self):
        card = black_jack.Card('A-D')
        value = card.value()
        self.assertEqual(value, 11)

        card = black_jack.Card('8-C')
        value = card.value()
        self.assertEqual(value, 8)
コード例 #3
0
    def test_card_sort_key(self):
        card = black_jack.Card('A-S')
        sort_key = card.sort_key()
        self.assertTrue(sort_key == 0)

        card = black_jack.Card('2-C')
        sort_key = card.sort_key()
        self.assertTrue(sort_key == 312)
コード例 #4
0
 def test_hand_count_values_ace_37(self):
     cards = [
         bj.Card(bj.global_card_suits[0], '9'),
         bj.Card(bj.global_card_suits[0], '6'),
         bj.Card(bj.global_card_suits[0], 'Ace'),
         bj.Card(bj.global_card_suits[0], '10'),
     ]
     for card in cards:
         self.table.player.hand.take_card(card)
         self.table.player.hand.open_card()
コード例 #5
0
    def test_hand_count_values_ace_21(self):
        cards = [
            bj.Card(bj.global_card_suits[0], '10'),
            bj.Card(bj.global_card_suits[0], 'Ace')
        ]
        for card in cards:
            self.table.player.hand.take_card(card)
            self.table.player.hand.open_card()

        self.assertEqual(self.table.player.hand.count_values(), 21)
コード例 #6
0
    def test_game_dealer_value_test(self):
        game = black_jack.Game()
        game.player_hand = black_jack.PlayerHand()
        game.dealer_hand = black_jack.DealerHand()

        game.player_hand.cards = []
        game.player_hand.cards.append(black_jack.Card('9-S'))
        game.player_hand.cards.append(black_jack.Card('K-S'))
        player_value = game.player_hand.value()

        game.dealer_hand.cards = []
        game.dealer_hand.cards.append(black_jack.Card('9-D'))
        game.dealer_hand.cards.append(black_jack.Card('K-D'))
        text = game.dealer_value_test(player_value)

        self.assertEqual(text, "Push")

        game.dealer_hand.cards = []
        game.dealer_hand.cards.append(black_jack.Card('Q-D'))
        game.dealer_hand.cards.append(black_jack.Card('K-D'))
        text = game.dealer_value_test(player_value)

        self.assertEqual(text, "Dealer wins")

        game.dealer_hand.cards = []
        game.dealer_hand.cards.append(black_jack.Card('Q-D'))
        game.dealer_hand.cards.append(black_jack.Card('5-D'))
        game.dealer_hand.cards.append(black_jack.Card('K-D'))
        text = game.dealer_value_test(player_value)

        self.assertEqual(text, "Player wins")
コード例 #7
0
    def test_hand_count_values_20(self):
        cards = [
            bj.Card(bj.global_card_suits[0], '2'),
            bj.Card(bj.global_card_suits[0], '3'),
            bj.Card(bj.global_card_suits[0], '4'),
            bj.Card(bj.global_card_suits[0], '5'),
            bj.Card(bj.global_card_suits[0], '6')
        ]
        for card in cards:
            self.table.player.hand.take_card(card)
            self.table.player.hand.open_card()

        self.assertEqual(self.table.player.hand.count_values(), 20)
コード例 #8
0
 def test_player_hand_append(self):
     deck = black_jack.Deck()
     hand = black_jack.PlayerHand(deck)
     card = black_jack.Card('10-D')
     hand.append(card)
     text = str(hand)
     self.assertEqual(text, 'A-S K-S 10-D')
コード例 #9
0
    def test_hand_count_values_with_closed_card(self):
        cards = [
            bj.Card(bj.global_card_suits[0], 'Ace'),
            bj.Card(bj.global_card_suits[0], '5')
        ]
        self.table.player.hand.take_card(cards[0])
        with self.subTest('One card blind.'):
            self.assertEqual(self.table.player.hand.count_values(), 0)

        self.table.player.hand.take_card(cards[1])
        self.table.player.hand.open_card()
        with self.subTest('One card blind and one card opened.'):
            self.assertEqual(self.table.player.hand.count_values(), 11)

        self.table.player.hand.open_card()
        with self.subTest('Two cards opened.'):
            self.assertEqual(self.table.player.hand.count_values(), 16)
コード例 #10
0
    def test_deck_contains_all_cards(self):
        full_deck = []
        for rank in bj.global_card_ranks:
            for suit in bj.global_card_suits:
                full_deck.append(bj.Card(suit, rank))

        while len(self.deck) > 0:
            card = self.deck.get_card()
            for i in range(len(full_deck)):
                if full_deck[i] == card:
                    full_deck.pop(i)
                    break

        for deck in [self.deck, full_deck]:
            with self.subTest(deck=deck):
                self.assertEqual(len(deck), 0)
コード例 #11
0
    def test_game_player_value_test(self):
        game = black_jack.Game()
        game.player_hand = black_jack.PlayerHand()
        game.player_hand.cards = []
        game.player_hand.cards.append(black_jack.Card('A-S'))
        game.player_hand.cards.append(black_jack.Card('K-S'))
        text = game.player_value_test()
        self.assertEqual(text, "BLACKJACK!")

        game.player_hand.cards = []
        game.player_hand.cards.append(black_jack.Card('9-S'))
        game.player_hand.cards.append(black_jack.Card('K-S'))
        game.player_hand.cards.append(black_jack.Card('K-C'))
        text = game.player_value_test()
        self.assertEqual(text, "BUST!")

        game.player_hand.cards = []
        game.player_hand.cards.append(black_jack.Card('9-S'))
        game.player_hand.cards.append(black_jack.Card('K-S'))
        text = game.player_value_test()
        self.assertEqual(text, "")
コード例 #12
0
 def test_card_init(self):
     card = black_jack.Card('A-S')
     self.assertTrue(card.face == 'A')
     self.assertTrue(card.suit == 'S')
コード例 #13
0
 def test_deck_init(self):
     deck = black_jack.Deck()
     self.assertEqual(len(deck), 52)
     self.assertEqual(deck.cards[0], black_jack.Card('A-S'))
     self.assertEqual(deck.cards[51], black_jack.Card('2-C'))
コード例 #14
0
 def test_card_str(self):
     card = black_jack.Card('Q-H')
     theStr = str(card)
     self.assertEqual(theStr, 'Q-H')
コード例 #15
0
 def test_card_eq(self):
     card1 = black_jack.Card('A-S')
     card2 = black_jack.Card('2-C')
     self.assertNotEqual(card1, card2)
     self.assertEqual(card1, card1)
コード例 #16
0
 def test_hand_count_values_Ace(self):
     self.table.player.hand.take_card(
         bj.Card(bj.global_card_suits[0], 'Ace'))
     self.table.player.hand.open_card()
     self.assertEqual(self.table.player.hand.count_values(), 11)