def test_find_a_kind(faces, expected): origin_hand = [PKCard(c) for c in faces] random.shuffle(faces) hand = Hands([PKCard(c) for c in faces]) result = hand.eval() assert result[1] == expected assert hand.cards == origin_hand
def test_is_flush(faces, expected): origin_hand = [PKCard(c) for c in faces] random.shuffle(faces) hand = Hands([PKCard(c) for c in faces]) result = hand.is_flush() assert result == True assert hand.cards == origin_hand
def test_classify_by_rank(cTH, cJH, cQH, cKH, cAH): hand = Hands([cTH, cJH, cQH, cKH, cAH]) result = hand.classify_by_rank() assert result == { 10: [PKCard('TH')], 11: [PKCard('JH')], 12: [PKCard('QH')], 13: [PKCard('KH')], 14: [PKCard('AH')] }
def test_PKCard_sort(all_faces): all_cards = [PKCard(c) for c in all_faces] import random random.shuffle(all_cards) all_cards.sort() assert [c.value() for c in all_cards]\ == [i for i in range(2, len(ranks)+2) for s in suits ]
def test_PKCard_init(): card = PKCard('AC') assert card.rank == 'A' and card.suit == 'C' assert card.card
def test_PKCard_value(all_faces): for face in all_faces: card, expected = PKCard(face), PKCard.VALUES[face[0]] assert card.value() == expected
def test_PKCard_repr(): assert repr(PKCard('AC')) == 'AC'
def test_PKCard_init_exception(): for face in ['10S', 'BD', 'TA']: with pytest.raises(ValueError): PKCard(face)
def cAH(): return PKCard('AH')
def c9H(): return PKCard('9H')
def cKH(): return PKCard('KH')
def cQH(): return PKCard('QH')
def cJD(): return PKCard('JD')
def cJH(): return PKCard('JH')
def cTH(): return PKCard('TH')