예제 #1
0
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']
예제 #2
0
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')
예제 #3
0
def test_dealer_bot_20():
    hand = blackjack_engine.Hand(['Q', '4', '6'])
    assert blackjack_engine.dealer_bot(hand) == 'stay'
예제 #4
0
def test_Hand_is_blackjack_True():
    assert blackjack_engine.Hand(['A', '9']).is_blackjack == False
예제 #5
0
def test_Hand_is_pair_not_pair():
    hand = blackjack_engine.Hand(['A', '8'])
    assert hand.is_pair == False
예제 #6
0
def test_Hand_is_soft_soft_17():
    assert blackjack_engine.Hand(['A', '6']).is_soft == True
예제 #7
0
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
예제 #8
0
def test_Hand_total_three_aces_hard():
    # three aces, all are hard
    assert blackjack_engine.Hand(['5', 'A', 'A', '5', 'A']).is_soft == False
예제 #9
0
def test_Hand_is_soft_19_no_aces():
    assert blackjack_engine.Hand(['10', '9']).is_soft == False
예제 #10
0
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
예제 #11
0
def test_Hand_total_two_aces():
    # one ace is hard and one is soft
    assert blackjack_engine.Hand(['A', '2', 'A']).total == 14
예제 #12
0
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')
예제 #13
0
def test_Hand_total_hard_22():
    assert blackjack_engine.Hand(['A', '9', '6', '6']).total == 22
예제 #14
0
def test_Hand_is_stayed_True():
    hand = blackjack_engine.Hand(['A', '8'])
    hand.stay()
    assert hand.is_stayed == True
예제 #15
0
def test_Hand_is_stayed_False():
    hand = blackjack_engine.Hand(['A', '8'])
    assert hand.is_stayed == False
예제 #16
0
def test_Hand_total_hard_17():
    assert blackjack_engine.Hand(['A', '9', '7']).total == 17
예제 #17
0
def test_dealer_bot_hard_20():
    hand = blackjack_engine.Hand(['A', '2', 'Q', '7'])
    assert blackjack_engine.dealer_bot(hand) == 'stay'
예제 #18
0
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
예제 #19
0
def test_Hand_total_three_aces():
    # two aces are hard and one is soft
    assert blackjack_engine.Hand(['A', 'A', 'A', '3']).total == 16
예제 #20
0
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
예제 #21
0
def test_Hand_is_soft_22_no_aces():
    assert blackjack_engine.Hand(['K', '5', '7']).is_soft == False
예제 #22
0
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
예제 #23
0
def test_Hand_total_22_no_aces():
    assert blackjack_engine.Hand(['K', '5', '7']).total == 22
예제 #24
0
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
예제 #25
0
def test_Hand_is_soft_hard_22():
    assert blackjack_engine.Hand(['A', '9', '6', '6']).is_soft == False
예제 #26
0
def test_Hand_is_pair_two_diff_faces():
    hand = blackjack_engine.Hand(['Q', 'K'])
    assert hand.is_pair == True
예제 #27
0
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
예제 #28
0
def test_dealer_bot_soft_17():
    hand = blackjack_engine.Hand(['A', '6'])
    assert blackjack_engine.dealer_bot(hand) == 'hit'
예제 #29
0
def test_dealer_bot_hard_17():
    hand = blackjack_engine.Hand(['J', '6', 'A'])
    assert blackjack_engine.dealer_bot(hand) == 'stay'
예제 #30
0
def test_Hand_is_pair_face_and_10():
    hand = blackjack_engine.Hand(['K', '10'])
    assert hand.is_pair == True