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)
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)
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)
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()
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)
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")
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)
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')
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)
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)
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, "")
def test_card_init(self): card = black_jack.Card('A-S') self.assertTrue(card.face == 'A') self.assertTrue(card.suit == 'S')
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'))
def test_card_str(self): card = black_jack.Card('Q-H') theStr = str(card) self.assertEqual(theStr, 'Q-H')
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)
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)