Ejemplo n.º 1
0
Archivo: run.py Proyecto: ntemp/poker
def main():
    """ Parses command line arguments and run the poker module """
    parser = argparse.ArgumentParser(
        description='Determine winning poker hand.')
    parser.add_argument('hand_a',
                        metavar='HAND_A',
                        help="the first player's hand")
    parser.add_argument('hand_b',
                        metavar='HAND_B',
                        help="the second player's hand")

    args = parser.parse_args()
    hand_a = Hand(args.hand_a)
    hand_b = Hand(args.hand_b)
    result = compare_hands(hand_a, hand_b)
    print('{}, {}, {}'.format(hand_a.hand_type.name, hand_b.hand_type.name,
                              result))
Ejemplo n.º 2
0
def init_hand():
    n_players = 5
    table = Table(n_players)
    player1, player2, player3, player4, player5 = (Player(500) for _ in range(n_players))
    player1.sit(table, 100)
    player2.sit(table, 100)
    player3.sit(table, 100)
    player4.sit(table, 100)
    player5.sit(table, 100)

    hand = Hand(table)
    return hand
Ejemplo n.º 3
0
def test_hand_type_four_of_a_kind_1():
    hand = Hand("3C 3H 3S 3D 2H")
    assert hand.hand_type == 7
Ejemplo n.º 4
0
def test_hand_type_two_pair_1():
    hand = Hand("3C 3H 4S 4D AH")
    assert hand.hand_type == 2
Ejemplo n.º 5
0
def test_hand_type_full_house_1():
    hand = Hand("3C 3H 3S 2D 2H")
    assert hand.hand_type == 6
Ejemplo n.º 6
0
def test_hand_pair_5():
    hand = Hand("2C 3H 3S 2D AH")
    assert hand.rank_list == [3, 3, 2, 2, 14]
Ejemplo n.º 7
0
def test_hand_type_three_1():
    hand = Hand("3C 3H 3S 2D AH")
    assert hand.hand_type == 3
Ejemplo n.º 8
0
def test_hand_type_royal_flush_1():
    hand = Hand("10H JH QH KH AH")
    assert hand.hand_type == 9
Ejemplo n.º 9
0
def test_hand_type_flush_1():
    hand = Hand("3C 5C 8C 9C AC")
    assert hand.hand_type == 5
Ejemplo n.º 10
0
def test_hand_pair():
    hand = Hand("2C 3H 4S JD JH")
    assert hand.hand_type == 1
Ejemplo n.º 11
0
def test_type(hand, expected):
    assert expected == Hand(hand).hand_type
Ejemplo n.º 12
0
def test_hand():
    hand = Hand("2C 3H 4S JD KH")
    assert hand.highest_card.str_card == "KH"
Ejemplo n.º 13
0
def test_sorted_ranks():
    hand = Hand("2C 3H 4S JD KH")
    assert hand.rank_list == [13, 11, 4, 3, 2]
Ejemplo n.º 14
0
def test_hand_sorting():
    hand = Hand("2C 3H 4S KH JD")
    assert hand.card_list[0].str_card == "KH"
Ejemplo n.º 15
0
def test_hand_same_suit_2():
    hand = Hand("3H 4H 5H 6H 7D")
    assert hand.same_suit == False
Ejemplo n.º 16
0
def test_hand_same_suit():
    hand = Hand("3H 4H 5H 6H 7H")
    assert hand.same_suit == True
Ejemplo n.º 17
0
def test_hand_type_straight_1():
    hand = Hand("3C 4H 5S 6D 7H")
    assert hand.hand_type == 4
Ejemplo n.º 18
0
def test_raises_on_invalid_hand(hand):
    with pytest.raises(InvalidHand):
        Hand(hand)
Ejemplo n.º 19
0
def test_hand_type_highest_card_1():
    hand = Hand("2C 3H 4S JD KH")
    assert hand.hand_type == 0
Ejemplo n.º 20
0
def test_hand_type_straight_flush_1():
    hand = Hand("3H 4H 5H 6H 7H")
    assert hand.hand_type == 8
Ejemplo n.º 21
0
def test_rank(hand, expected):
    assert expected == Hand(hand).rank
Ejemplo n.º 22
0
def test_hand_pair_3():
    hand = Hand("2C 3H JS JD JH")
    assert hand.hand_type != 1  # triple?
Ejemplo n.º 23
0
def test_compare_hand(hand_a, hand_b, expected):
    assert expected == compare_hands(Hand(hand_a), Hand(hand_b))
Ejemplo n.º 24
0
def test_hand_pair_4():
    hand = Hand("2C 3H 4S 2D AH")
    assert hand.rank_list == [2, 2, 14, 4, 3]