def test_hand(): Hand([ Card(Rank.JACK, Suit.SPADES), Card(Rank.FOUR, Suit.HEARTS), Card(Rank.FIVE, Suit.DIAMONDS), Card(Rank.NINE, Suit.DIAMONDS), Card(Rank.JACK, Suit.CLUBS) ])
def test_from_string(): ten_of_clubs = Card.from_string("TC") assert Rank.TEN == ten_of_clubs.rank assert Suit.CLUBS == ten_of_clubs.suit jack_of_hearts = Card.from_string("JH") assert Rank.JACK == jack_of_hearts.rank assert Suit.HEARTS == jack_of_hearts.suit eight_of_diamonds = Card.from_string("8D") assert Rank.EIGHT == eight_of_diamonds.rank assert Suit.DIAMONDS == eight_of_diamonds.suit
def test_hand_rank(): cards1 = [ Card(Rank.JACK, Suit.SPADES), Card(Rank.FOUR, Suit.HEARTS), Card(Rank.FIVE, Suit.DIAMONDS), Card(Rank.NINE, Suit.DIAMONDS), Card(Rank.JACK, Suit.CLUBS) ] assert HandRank.ONE_PAIR == Hand(cards1).hand_rank cards2 = [ Card(Rank.QUEEN, Suit.CLUBS), Card(Rank.TEN, Suit.CLUBS), Card(Rank.SIX, Suit.HEARTS), Card(Rank.FIVE, Suit.SPADES), Card(Rank.THREE, Suit.HEARTS) ] assert HandRank.HIGH_CARD == Hand(cards2).hand_rank
def test_cards(): cards1 = [ Card(Rank.JACK, Suit.SPADES), Card(Rank.FOUR, Suit.HEARTS), Card(Rank.FIVE, Suit.DIAMONDS), Card(Rank.NINE, Suit.DIAMONDS), Card(Rank.JACK, Suit.CLUBS) ] assert cards1 == Hand(cards1).cards cards2 = [ Card(Rank.QUEEN, Suit.CLUBS), Card(Rank.TEN, Suit.CLUBS), Card(Rank.SIX, Suit.HEARTS), Card(Rank.FIVE, Suit.SPADES), Card(Rank.THREE, Suit.HEARTS) ] assert cards2 == Hand(cards2).cards
def test_str(): cards1 = [ Card(Rank.JACK, Suit.SPADES), Card(Rank.FOUR, Suit.HEARTS), Card(Rank.FIVE, Suit.DIAMONDS), Card(Rank.NINE, Suit.DIAMONDS), Card(Rank.JACK, Suit.CLUBS) ] assert "JS 4H 5D 9D JC" == str(Hand(cards1)) cards2 = [ Card(Rank.QUEEN, Suit.CLUBS), Card(Rank.TEN, Suit.CLUBS), Card(Rank.SIX, Suit.HEARTS), Card(Rank.FIVE, Suit.SPADES), Card(Rank.THREE, Suit.HEARTS) ] assert "QC TC 6H 5S 3H" == str(Hand(cards2))
def test_to_string_name(): cards1 = [ Card(Rank.JACK, Suit.SPADES), Card(Rank.FOUR, Suit.HEARTS), Card(Rank.FIVE, Suit.DIAMONDS), Card(Rank.NINE, Suit.DIAMONDS), Card(Rank.JACK, Suit.CLUBS) ] assert ("JACK OF SPADES\n" + "FOUR OF HEARTS\n" + "FIVE OF DIAMONDS\n" + "NINE OF DIAMONDS\n" + "JACK OF CLUBS" == Hand(cards1).to_string_name()) cards2 = [ Card(Rank.QUEEN, Suit.CLUBS), Card(Rank.TEN, Suit.CLUBS), Card(Rank.SIX, Suit.HEARTS), Card(Rank.FIVE, Suit.SPADES), Card(Rank.THREE, Suit.HEARTS) ] assert ("QUEEN OF CLUBS\n" + "TEN OF CLUBS\n" + "SIX OF HEARTS\n" + "FIVE OF SPADES\n" + "THREE OF HEARTS" == Hand(cards2).to_string_name())
def test_get_rank(): assert Rank.TWO == Card(Rank.TWO, Suit.DIAMONDS).rank assert Rank.FIVE == Card(Rank.FIVE, Suit.SPADES).rank assert Rank.TEN == Card(Rank.TEN, Suit.CLUBS).rank assert Rank.SIX == Card(Rank.SIX, Suit.HEARTS).rank assert Rank.SEVEN == Card(Rank.SEVEN, Suit.DIAMONDS).rank
def test_card(): Card(Rank.JACK, Suit.SPADES)
def test_str(): assert "7D" == str(Card(Rank.SEVEN, Suit.DIAMONDS)) assert "KH" == str(Card(Rank.KING, Suit.HEARTS))
def test_to_string_name(): assert "TWO OF CLUBS" == Card(Rank.TWO, Suit.CLUBS).to_string_name() assert "ACE OF SPADES" == Card(Rank.ACE, Suit.SPADES).to_string_name()
def test_get_suit(): assert Suit.DIAMONDS == Card(Rank.SIX, Suit.DIAMONDS).suit assert Suit.SPADES == Card(Rank.ACE, Suit.SPADES).suit assert Suit.CLUBS == Card(Rank.QUEEN, Suit.CLUBS).suit assert Suit.HEARTS == Card(Rank.THREE, Suit.HEARTS).suit