Example #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)
Example #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)
Example #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)
Example #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)
Example #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)
Example #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)
Example #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)
Example #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)
Example #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)
Example #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)
Example #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
Example #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)
Example #13
0
def test_invalid_rank_rejected():
    with pytest.raises(ValueError):
        Card(1, 'club')
        Card(16, 'club')
Example #14
0
def test_card_rank_setting():
    card = Card(3, 'heart')
    card.set_rank(2)
    assert 2 == card.get_rank()
Example #15
0
def test_invalid_suit_set_rejected():
    card = Card(2, 'heart')
    with pytest.raises(ValueError):
        card.set_suit('he')
Example #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()
Example #17
0
def test_invalid_rank_set_rejected():
    card = Card(2, 'heart')
    with pytest.raises(ValueError):
        card.set_rank(16)
Example #18
0
def test_invalid_suit_rejected():
    with pytest.raises(ValueError):
        Card(2, 'nonheart')
        Card(2, 'hearts')
        Card(2, 'hear')
Example #19
0
 def init_cards(self):
     for suit in SUIT:
         for rank in range(2, 15):
             self.cards.append(Card(rank, suit))
Example #20
0
def test_card_suit_setting():
    card = Card(2, 'heart')
    card.set_suit('club')
    assert 'club' == card.get_suit()