Exemplo n.º 1
0
def test_is_two_pair():
    hand = Hand()
    hand.receive(Card(9, 'heart'))
    hand.receive(Card(7, 'club'))
    hand.receive(Card(9, 'spade'))
    hand.receive(Card(7, 'diamond'))
    hand.receive(Card(8, 'heart'))
    assert is_two_pair(hand)
Exemplo n.º 2
0
def test_is_straight():
    hand = Hand()
    hand.receive(Card(12, 'club'))
    hand.receive(Card(8, 'heart'))
    hand.receive(Card(8, 'spade'))
    hand.receive(Card(8, 'club'))
    hand.receive(Card(11, 'spade'))
    assert not is_straight(hand)
Exemplo n.º 3
0
def test_flush():
    hand = Hand()
    hand.receive(Card(12, 'heart'))
    hand.receive(Card(10, 'heart'))
    hand.receive(Card(8, 'heart'))
    hand.receive(Card(6, 'heart'))
    hand.receive(Card(4, 'heart'))
    assert is_flush(hand)
Exemplo n.º 4
0
def test_full_house():
    hand = Hand()
    hand.receive(Card(9, 'heart'))
    hand.receive(Card(9, 'club'))
    hand.receive(Card(9, 'spade'))
    hand.receive(Card(7, 'diamond'))
    hand.receive(Card(7, 'heart'))
    assert is_full_house(hand)
Exemplo n.º 5
0
def test_3_of_a_kind_is_not_full_house():
    hand = Hand()
    hand.receive(Card(9, 'heart'))
    hand.receive(Card(9, 'club'))
    hand.receive(Card(9, 'spade'))
    hand.receive(Card(7, 'diamond'))
    hand.receive(Card(6, 'heart'))
    assert not is_full_house(hand)
Exemplo n.º 6
0
def test_straight_flush():
    hand = Hand()
    hand.receive(Card(12, 'heart'))
    hand.receive(Card(11, 'heart'))
    hand.receive(Card(10, 'heart'))
    hand.receive(Card(9, 'heart'))
    hand.receive(Card(8, 'heart'))
    assert is_straight_flush(hand)
Exemplo n.º 7
0
def test_4_of_a_kind():
    hand = Hand()
    hand.receive(Card(9, 'heart'))
    hand.receive(Card(9, 'club'))
    hand.receive(Card(9, 'spade'))
    hand.receive(Card(9, 'diamond'))
    hand.receive(Card(8, 'heart'))
    assert is_4_of_a_kind(hand)
Exemplo n.º 8
0
def test_straight_starting_with_ace():
    hand = Hand()
    hand.receive(Card(14, 'heart'))
    hand.receive(Card(2, 'spade'))
    hand.receive(Card(3, 'club'))
    hand.receive(Card(4, 'diamond'))
    hand.receive(Card(5, 'heart'))
    assert is_straight(hand)
Exemplo n.º 9
0
def test_royal_flush():
    hand = Hand()
    hand.receive(Card(14, 'heart'))
    hand.receive(Card(13, 'heart'))
    hand.receive(Card(12, 'heart'))
    hand.receive(Card(11, 'heart'))
    hand.receive(Card(10, 'heart'))
    assert is_royal_flush(hand)
Exemplo n.º 10
0
def test__is_not_straight():
    hand = Hand()
    hand.receive(Card(12, 'heart'))
    hand.receive(Card(11, 'spade'))
    hand.receive(Card(10, 'club'))
    hand.receive(Card(9, 'diamond'))
    hand.receive(Card(8, 'heart'))
    assert is_straight(hand)
Exemplo n.º 11
0
def test_card_equality():
    card0 = Card(2, 'heart')
    card1 = Card(2, 'heart')
    card2 = Card(2, 'club')
    card3 = Card(3, 'heart')
    card4 = Card(3, 'club')

    assert card0 == card1
    assert card0 != card2
    assert card0 != card3
    assert card0 != card4
Exemplo n.º 12
0
def test_nothing_is_nothing():
    hand = Hand()
    hand.receive(Card(12, 'heart'))
    hand.receive(Card(10, 'club'))
    hand.receive(Card(8, 'diamond'))
    hand.receive(Card(6, 'spade'))
    hand.receive(Card(4, 'heart'))
    for score in SCORES:
        if score.get('name', '') != 'nothing':
            assert not score['tester'](hand)
    assert is_nothing(hand)
Exemplo n.º 13
0
def test_invalid_rank_rejected():
    with pytest.raises(ValueError):
        Card(1, 'club')
        Card(16, 'club')
Exemplo n.º 14
0
def test_card_rank_setting():
    card = Card(3, 'heart')
    card.set_rank(2)
    assert 2 == card.get_rank()
Exemplo n.º 15
0
def test_invalid_suit_set_rejected():
    card = Card(2, 'heart')
    with pytest.raises(ValueError):
        card.set_suit('he')
Exemplo n.º 16
0
def test_cards_creation():
    for suit in ['heart', 'diamond', 'spade', 'club']:
        for rank in range(2, 15):
            card = Card(rank, suit)
            assert rank == card.get_rank()
            assert suit == card.get_suit()
Exemplo n.º 17
0
def test_invalid_rank_set_rejected():
    card = Card(2, 'heart')
    with pytest.raises(ValueError):
        card.set_rank(16)
Exemplo n.º 18
0
def test_invalid_suit_rejected():
    with pytest.raises(ValueError):
        Card(2, 'nonheart')
        Card(2, 'hearts')
        Card(2, 'hear')
Exemplo n.º 19
0
 def init_cards(self):
     for suit in SUIT:
         for rank in range(2, 15):
             self.cards.append(Card(rank, suit))
Exemplo n.º 20
0
def test_card_suit_setting():
    card = Card(2, 'heart')
    card.set_suit('club')
    assert 'club' == card.get_suit()