예제 #1
0
def test_hand_straight_flush_beats_four_of_a_kind():
    hand1 = Hand([
        Card('D', '9'),
        Card('H', '9'),
        Card('S', '9'),
        Card('C', '9'),
        Card('D', 'K')
    ])
    hand2 = Hand([
        Card('S', '6'),
        Card('S', '5'),
        Card('S', '4'),
        Card('S', '3'),
        Card('S', '2')
    ])
    assert hand1 < hand2
예제 #2
0
def test_hand_four_of_a_kind_beats_full_house():
    hand1 = Hand([
        Card('D', '4'),
        Card('H', '4'),
        Card('S', '4'),
        Card('C', '4'),
        Card('D', '9')
    ])
    hand2 = Hand([
        Card('S', '10'),
        Card('D', '10'),
        Card('H', '10'),
        Card('D', '2'),
        Card('S', '2')
    ])
    assert hand1 > hand2
예제 #3
0
def test_hand_four_of_a_kind_high_quad_wins():
    hand1 = Hand([
        Card('D', '4'),
        Card('H', '4'),
        Card('S', '4'),
        Card('C', '4'),
        Card('D', '9')
    ])
    hand2 = Hand([
        Card('S', '10'),
        Card('D', '10'),
        Card('H', '10'),
        Card('C', '10'),
        Card('S', '2')
    ])
    assert hand1 < hand2
예제 #4
0
def test_hand_full_house_beats_flush():
    hand1 = Hand([
        Card('D', 'J'),
        Card('D', '8'),
        Card('D', '6'),
        Card('D', '4'),
        Card('D', '3')
    ])
    hand2 = Hand([
        Card('S', '10'),
        Card('D', '10'),
        Card('H', '10'),
        Card('D', '2'),
        Card('S', '2')
    ])
    assert hand1 < hand2
예제 #5
0
def test_hand_full_house_high_triplet_wins():
    hand1 = Hand([
        Card('D', 'K'),
        Card('C', 'K'),
        Card('H', 'K'),
        Card('D', '2'),
        Card('S', '2')
    ])
    hand2 = Hand([
        Card('S', '10'),
        Card('D', '10'),
        Card('H', '10'),
        Card('D', '9'),
        Card('S', '9')
    ])
    assert hand1 > hand2
예제 #6
0
def test_hand_flush_kicker_four():
    hand1 = Hand([
        Card('D', 'J'),
        Card('D', '8'),
        Card('D', '5'),
        Card('D', '3'),
        Card('D', '2')
    ])
    hand2 = Hand([
        Card('S', 'J'),
        Card('S', '8'),
        Card('S', '5'),
        Card('S', '4'),
        Card('S', '2')
    ])
    assert hand1 < hand2
예제 #7
0
def test_hand_two_pair_kicker_wins():
    hand1 = Hand([
        Card('D', '5'),
        Card('H', '5'),
        Card('C', 'Q'),
        Card('H', 'Q'),
        Card('D', '3')
    ])
    hand2 = Hand([
        Card('S', '5'),
        Card('C', '5'),
        Card('S', 'Q'),
        Card('C', '2'),
        Card('D', 'Q')
    ])
    assert hand1 > hand2
예제 #8
0
def test_hand_flush_beats_straight():
    hand1 = Hand([
        Card('D', 'A'),
        Card('H', 'K'),
        Card('C', 'Q'),
        Card('H', 'J'),
        Card('D', '10')
    ])
    hand2 = Hand([
        Card('S', 'J'),
        Card('S', '8'),
        Card('S', '6'),
        Card('S', '4'),
        Card('S', '2')
    ])
    assert hand1 < hand2
예제 #9
0
def test_hand_high_card_one():
    hand1 = Hand([
        Card('H', '2'),
        Card('H', '5'),
        Card('C', '6'),
        Card('H', 'Q'),
        Card('D', 'A')
    ])
    hand2 = Hand([
        Card('H', '3'),
        Card('H', '7'),
        Card('C', '8'),
        Card('C', '2'),
        Card('D', 'K')
    ])
    assert hand1 > hand2
예제 #10
0
def test_hand_straight_high_card_wins():
    hand1 = Hand([
        Card('D', '7'),
        Card('H', '6'),
        Card('C', '5'),
        Card('H', '4'),
        Card('D', '3')
    ])
    hand2 = Hand([
        Card('S', '7'),
        Card('C', '8'),
        Card('S', '9'),
        Card('C', '10'),
        Card('D', 'J')
    ])
    assert hand1 < hand2
예제 #11
0
def test_hand_straight_ace_high_wins():
    hand1 = Hand([
        Card('D', 'A'),
        Card('H', 'K'),
        Card('C', 'Q'),
        Card('H', 'J'),
        Card('D', '10')
    ])
    hand2 = Hand([
        Card('S', '7'),
        Card('C', '8'),
        Card('S', '9'),
        Card('C', '10'),
        Card('D', 'J')
    ])
    assert hand1 > hand2
예제 #12
0
def test_hand_ace_low_straight_beats_three_of_a_kind():
    hand1 = Hand([
        Card('D', '5'),
        Card('H', '4'),
        Card('C', '3'),
        Card('H', '2'),
        Card('D', 'A')
    ])
    hand2 = Hand([
        Card('S', '4'),
        Card('C', '7'),
        Card('S', 'A'),
        Card('C', 'A'),
        Card('D', 'A')
    ])
    assert hand1 > hand2
예제 #13
0
def test_hand_three_of_a_kind_value_wins():
    hand1 = Hand([
        Card('D', '5'),
        Card('H', '5'),
        Card('C', '5'),
        Card('H', 'Q'),
        Card('D', '3')
    ])
    hand2 = Hand([
        Card('H', '4'),
        Card('C', '7'),
        Card('S', 'A'),
        Card('C', 'A'),
        Card('D', 'A')
    ])
    assert hand1 < hand2
예제 #14
0
def test_hand_three_of_a_kind_beats_two_pair():
    hand1 = Hand([
        Card('D', '5'),
        Card('H', '5'),
        Card('C', '5'),
        Card('H', 'Q'),
        Card('D', '3')
    ])
    hand2 = Hand([
        Card('H', '4'),
        Card('C', '4'),
        Card('S', 'A'),
        Card('C', '2'),
        Card('D', 'A')
    ])
    assert hand1 > hand2
예제 #15
0
def test_hand_straight_flush_highest_wins():
    hand1 = Hand([
        Card('H', '9'),
        Card('H', '8'),
        Card('H', '7'),
        Card('H', '6'),
        Card('H', '5')
    ])
    hand2 = Hand([
        Card('S', '6'),
        Card('S', '5'),
        Card('S', '4'),
        Card('S', '3'),
        Card('S', '2')
    ])
    assert hand1 > hand2
예제 #16
0
def test_hand_flush_kicker_five():
    hand1 = Hand([
        Card('D', 'J'),
        Card('D', '8'),
        Card('D', '6'),
        Card('D', '4'),
        Card('D', '3')
    ])
    hand2 = Hand([
        Card('S', 'J'),
        Card('S', '8'),
        Card('S', '6'),
        Card('S', '4'),
        Card('S', '2')
    ])
    assert hand1 > hand2
예제 #17
0
def test_hand_two_pair_beats_one_pair():
    hand1 = Hand([
        Card('D', '5'),
        Card('H', '5'),
        Card('C', 'Q'),
        Card('H', 'Q'),
        Card('D', '3')
    ])
    hand2 = Hand([
        Card('H', '10'),
        Card('C', '4'),
        Card('S', 'A'),
        Card('C', '2'),
        Card('D', 'A')
    ])
    assert hand1 > hand2
예제 #18
0
def test_hand_two_pair_top_wins():
    hand1 = Hand([
        Card('D', '5'),
        Card('H', '5'),
        Card('C', 'Q'),
        Card('H', 'Q'),
        Card('D', '3')
    ])
    hand2 = Hand([
        Card('H', '4'),
        Card('C', '4'),
        Card('S', 'A'),
        Card('C', '2'),
        Card('D', 'A')
    ])
    assert hand1 < hand2
예제 #19
0
def test_hand_pair_two():
    hand1 = Hand([
        Card('H', '3'),
        Card('C', '3'),
        Card('H', '2'),
        Card('H', '5'),
        Card('D', 'A')
    ])
    hand2 = Hand([
        Card('C', 'Q'),
        Card('H', 'Q'),
        Card('C', '8'),
        Card('C', '2'),
        Card('D', 'K')
    ])
    assert hand1 < hand2
예제 #20
0
def test_hand_pair_kicker():
    hand1 = Hand([
        Card('H', '2'),
        Card('H', '5'),
        Card('C', 'Q'),
        Card('H', 'Q'),
        Card('D', '3')
    ])
    hand2 = Hand([
        Card('H', '10'),
        Card('C', '4'),
        Card('S', 'Q'),
        Card('C', '2'),
        Card('D', 'Q')
    ])
    assert hand1 < hand2
예제 #21
0
def test_hand_straight_tie():
    hand1 = Hand([
        Card('H', '9'),
        Card('H', '8'),
        Card('D', '7'),
        Card('H', '6'),
        Card('H', '5')
    ])
    hand2 = Hand([
        Card('H', '9'),
        Card('H', '8'),
        Card('S', '7'),
        Card('H', '6'),
        Card('H', '5')
    ])
    assert not hand1 > hand2
    assert not hand1 < hand2
    assert hand1 == hand2