def test_invalidhand3(self): # wheel (ace-to-five) straight flush cards_available = [ Card(1, Suit.DIAMONDS), Card(5, Suit.DIAMONDS), Card(3, Suit.DIAMONDS), Card(5, Suit.DIAMONDS), Card(2, Suit.DIAMONDS) ] with self.assertRaises(ValueError): get_hand(cards_available)
def test_invalidhand1(self): # five of a kind and duplicated card cards_available = [ Card(2, Suit.CLUBS), Card(2, Suit.DIAMONDS), Card(2, Suit.SPADES), Card(2, Suit.HEARTS), Card(2, Suit.CLUBS) ] with self.assertRaises(ValueError): get_hand(cards_available)
def test_invalidhand2(self): # two of clubs is repeated twice cards_available = [ Card(2, Suit.CLUBS), Card(2, Suit.DIAMONDS), Card(2, Suit.CLUBS), Card(1, Suit.HEARTS), Card(1, Suit.CLUBS) ] with self.assertRaises(ValueError): get_hand(cards_available)
def test_onepair2(self): cards_available = [ Card(10, Suit.CLUBS), Card(13, Suit.HEARTS), Card(10, Suit.DIAMONDS), Card(1, Suit.DIAMONDS), Card(7, Suit.CLUBS) ] hand = get_hand(cards_available) self.assertTrue(isinstance(hand, OnePair)) self.assertEqual(10, hand.pair_num)
def test_flush(self): cards_available = [ Card(1, Suit.CLUBS), Card(4, Suit.CLUBS), Card(7, Suit.CLUBS), Card(2, Suit.CLUBS), Card(11, Suit.CLUBS) ] hand = get_hand(cards_available) self.assertTrue(isinstance(hand, Flush)) self.assertEqual(1, hand.high_card.get_num())
def test_straight_flush3(self): cards_available = [ Card(5, Suit.CLUBS), Card(6, Suit.CLUBS), Card(7, Suit.CLUBS), Card(8, Suit.CLUBS), Card(9, Suit.CLUBS) ] hand = get_hand(cards_available) self.assertTrue(isinstance(hand, StraightFlush)) self.assertEqual(9, hand.high_num)
def test_straight1(self): cards_available = [ Card(5, Suit.CLUBS), Card(6, Suit.DIAMONDS), Card(7, Suit.DIAMONDS), Card(8, Suit.SPADES), Card(9, Suit.SPADES) ] hand = get_hand(cards_available) self.assertTrue(isinstance(hand, Straight)) self.assertEqual(9, hand.high_num)
def test_highcard(self): cards_available = [ Card(10, Suit.CLUBS), Card(13, Suit.HEARTS), Card(9, Suit.DIAMONDS), Card(1, Suit.DIAMONDS), Card(7, Suit.CLUBS) ] hand = get_hand(cards_available) self.assertTrue(isinstance(hand, HighCard)) self.assertEqual(1, hand.high_card.get_num()) self.assertEqual(13, hand.cards[1].get_num())
def test_fullhouse2(self): cards_available = [ Card(2, Suit.CLUBS), Card(2, Suit.DIAMONDS), Card(2, Suit.SPADES), Card(1, Suit.HEARTS), Card(1, Suit.CLUBS) ] hand = get_hand(cards_available) self.assertTrue(isinstance(hand, FullHouse)) self.assertEqual(2, hand.big) self.assertEqual(1, hand.small)
def test_quads1(self): cards_available = [ Card(1, Suit.CLUBS), Card(1, Suit.DIAMONDS), Card(1, Suit.SPADES), Card(1, Suit.HEARTS), Card(13, Suit.CLUBS) ] hand = get_hand(cards_available) self.assertTrue(isinstance(hand, FourOfAKind)) self.assertEqual(1, hand.big) self.assertEqual(13, hand.small)
def test_straight_flush2(self): # wheel (ace-to-five) straight flush cards_available = [ Card(1, Suit.DIAMONDS), Card(5, Suit.DIAMONDS), Card(3, Suit.DIAMONDS), Card(4, Suit.DIAMONDS), Card(2, Suit.DIAMONDS) ] hand = get_hand(cards_available) self.assertTrue(isinstance(hand, StraightFlush)) self.assertEqual(5, hand.high_num)
def test_straight_flush1(self): # nut (ten-to-ace) straight flush, a.k.a. royal flush cards_available = [ Card(1, Suit.HEARTS), Card(11, Suit.HEARTS), Card(13, Suit.HEARTS), Card(10, Suit.HEARTS), Card(12, Suit.HEARTS) ] hand = get_hand(cards_available) self.assertTrue(isinstance(hand, StraightFlush)) self.assertEqual(1, hand.high_num)
def test_straight3(self): # nut (ten-to-ace) straight cards_available = [ Card(1, Suit.HEARTS), Card(11, Suit.SPADES), Card(13, Suit.DIAMONDS), Card(10, Suit.HEARTS), Card(12, Suit.DIAMONDS) ] hand = get_hand(cards_available) self.assertTrue(isinstance(hand, Straight)) self.assertEqual(1, hand.high_num)
def test_straight2(self): # wheel (ace-to-five) straight cards_available = [ Card(1, Suit.CLUBS), Card(5, Suit.HEARTS), Card(3, Suit.DIAMONDS), Card(4, Suit.SPADES), Card(2, Suit.SPADES) ] hand = get_hand(cards_available) self.assertTrue(isinstance(hand, Straight)) self.assertEqual(5, hand.high_num)
def test_twopair2(self): cards_available = [ Card(1, Suit.CLUBS), Card(13, Suit.HEARTS), Card(7, Suit.DIAMONDS), Card(1, Suit.DIAMONDS), Card(7, Suit.CLUBS) ] hand = get_hand(cards_available) self.assertTrue(isinstance(hand, TwoPair)) self.assertEqual(1, hand.big) self.assertEqual(7, hand.small) self.assertEqual(13, hand.kicker)
def test_trips2(self): cards_available = [ Card(10, Suit.CLUBS), Card(10, Suit.HEARTS), Card(10, Suit.DIAMONDS), Card(13, Suit.DIAMONDS), Card(7, Suit.DIAMONDS) ] hand = get_hand(cards_available) self.assertTrue(isinstance(hand, ThreeOfAKind)) self.assertEqual(10, hand.num) self.assertEqual(2, len(hand.kickers)) self.assertEqual(13, hand.kickers[0].get_num()) self.assertEqual(7, hand.kickers[1].get_num())