Ejemplo n.º 1
0
 def test_noargs(self):
     # if no args are given then the deck should be initialized to 52 cards
     x = Deck()
     self.assertEqual(len(x), 52)
     expected_elements = list(Deck.iter_cards())
     self.assertListEqual(x, expected_elements)
     rlock_type = type(threading.RLock())
     self.assertIs(type(x.lock), rlock_type)
Ejemplo n.º 2
0
 def test_values(self):
     suits_left = set([Card.SPADE, Card.HEART, Card.DIAMOND, Card.CLUB])
     x = Deck.iter_cards()
     while suits_left:
         card = next(x)
         self.assertIn(card.suit, suits_left)
         suits_left.remove(card.suit)
         expected_suit = card.suit
         self.assertEqual(card.rank, 13)
         for rank in (12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1):
             card = next(x)
             self.assertEqual(card.rank, rank)
             self.assertEqual(card.suit, expected_suit)
     with self.assertRaises(StopIteration):
         next(x)
Ejemplo n.º 3
0
 def do_test_reset(self, deck):
     deck.reset()
     expected = list(Deck.iter_cards())
     self.assertListEqual(deck, expected)
Ejemplo n.º 4
0
 def test_type(self):
     x = Deck.iter_cards()
     for card in x:
         self.assertIsInstance(card, Card)
Ejemplo n.º 5
0
 def test_count(self):
     x = Deck.iter_cards()
     count = 0
     for unused in x:
         count += 1
     self.assertEqual(count, 52)
Ejemplo n.º 6
0
 def test_next(self):
     x = Deck.iter_cards()
     result = next(x) # make sure it is actually iterable
     self.assertIsNotNone(result)