def test_Hand_add_card_goodcard(): hand = blackjack_engine.Hand(['A', '2']) hand.add_card('A') assert hand.cards == ['A', '2', 'A'] hand = blackjack_engine.Hand(['10', '10']) hand.add_card('7') assert hand.cards == ['10', '10', '7'] hand = blackjack_engine.Hand(['2', '2']) hand.add_card('7') hand.add_card('5') assert hand.cards == ['2', '2', '7', '5']
def test_Hand_add_card_badcard(): hand = blackjack_engine.Hand(['A', '2', 'Q', '7']) with pytest.raises(ValueError): hand.add_card('15') with pytest.raises(ValueError): hand.add_card(9) with pytest.raises(ValueError): hand.add_card(0) with pytest.raises(ValueError): hand.add_card('1.5') with pytest.raises(ValueError): hand.add_card('cat')
def test_dealer_bot_20(): hand = blackjack_engine.Hand(['Q', '4', '6']) assert blackjack_engine.dealer_bot(hand) == 'stay'
def test_Hand_is_blackjack_True(): assert blackjack_engine.Hand(['A', '9']).is_blackjack == False
def test_Hand_is_pair_not_pair(): hand = blackjack_engine.Hand(['A', '8']) assert hand.is_pair == False
def test_Hand_is_soft_soft_17(): assert blackjack_engine.Hand(['A', '6']).is_soft == True
def test_Hand_is_soft_two_aces(): # one ace is hard and one is soft assert blackjack_engine.Hand(['A', '2', 'A']).is_soft == True
def test_Hand_total_three_aces_hard(): # three aces, all are hard assert blackjack_engine.Hand(['5', 'A', 'A', '5', 'A']).is_soft == False
def test_Hand_is_soft_19_no_aces(): assert blackjack_engine.Hand(['10', '9']).is_soft == False
def test_Game_check_winner_both_blackjack(): player_hand = blackjack_engine.Hand(['A', '10']) dealer_hand = blackjack_engine.Hand(['J', 'A']) assert blackjack_engine.check_winner(player_hand, dealer_hand) == 0
def test_Hand_total_two_aces(): # one ace is hard and one is soft assert blackjack_engine.Hand(['A', '2', 'A']).total == 14
def test_Hand_is_stayed_add_card(): # can't add a card to a hand after stay hand = blackjack_engine.Hand(['A', '8']) hand.stay() with pytest.raises(RuntimeError): hand.add_card('2')
def test_Hand_total_hard_22(): assert blackjack_engine.Hand(['A', '9', '6', '6']).total == 22
def test_Hand_is_stayed_True(): hand = blackjack_engine.Hand(['A', '8']) hand.stay() assert hand.is_stayed == True
def test_Hand_is_stayed_False(): hand = blackjack_engine.Hand(['A', '8']) assert hand.is_stayed == False
def test_Hand_total_hard_17(): assert blackjack_engine.Hand(['A', '9', '7']).total == 17
def test_dealer_bot_hard_20(): hand = blackjack_engine.Hand(['A', '2', 'Q', '7']) assert blackjack_engine.dealer_bot(hand) == 'stay'
def test_Game_check_winner_both_bust(): player_hand = blackjack_engine.Hand(['5', '10', '10']) dealer_hand = blackjack_engine.Hand(['6', '8', '10']) assert blackjack_engine.check_winner(player_hand, dealer_hand) == -1
def test_Hand_total_three_aces(): # two aces are hard and one is soft assert blackjack_engine.Hand(['A', 'A', 'A', '3']).total == 16
def test_Game_check_winner_player_21(): player_hand = blackjack_engine.Hand(['5', 'K', '6']) dealer_hand = blackjack_engine.Hand(['6', '8', '5']) assert blackjack_engine.check_winner(player_hand, dealer_hand) == 1
def test_Hand_is_soft_22_no_aces(): assert blackjack_engine.Hand(['K', '5', '7']).is_soft == False
def test_Game_check_winner_dealer_high(): player_hand = blackjack_engine.Hand(['9', '8']) dealer_hand = blackjack_engine.Hand(['5', 'K', '4']) assert blackjack_engine.check_winner(player_hand, dealer_hand) == -1
def test_Hand_total_22_no_aces(): assert blackjack_engine.Hand(['K', '5', '7']).total == 22
def test_Game_check_winner_dealer_21(): player_hand = blackjack_engine.Hand(['9', '10']) dealer_hand = blackjack_engine.Hand(['4', 'J', '7']) assert blackjack_engine.check_winner(player_hand, dealer_hand) == -1
def test_Hand_is_soft_hard_22(): assert blackjack_engine.Hand(['A', '9', '6', '6']).is_soft == False
def test_Hand_is_pair_two_diff_faces(): hand = blackjack_engine.Hand(['Q', 'K']) assert hand.is_pair == True
def test_Hand_is_soft_three_aces(): # two aces are hard and one is soft assert blackjack_engine.Hand(['A', 'A', 'A', '3']).is_soft == True
def test_dealer_bot_soft_17(): hand = blackjack_engine.Hand(['A', '6']) assert blackjack_engine.dealer_bot(hand) == 'hit'
def test_dealer_bot_hard_17(): hand = blackjack_engine.Hand(['J', '6', 'A']) assert blackjack_engine.dealer_bot(hand) == 'stay'
def test_Hand_is_pair_face_and_10(): hand = blackjack_engine.Hand(['K', '10']) assert hand.is_pair == True