Source code for pokercore.test.test_deck

from unittest import TestCase

from pokercore.card import Card
from pokercore.deck import Deck, DeckNotIntegerError, DeckTooManyError


[docs]class TestDeck(TestCase):
[docs] def test_create(self): deck = Deck() self.assertEqual(len(deck.cards), 52) self.assertEqual(len(deck.remaining), 52) for i in xrange(52): self.assertIsInstance(deck.cards[i], Card) self.assertIsInstance(deck.remaining[i], Card) self.assertEqual(sorted(deck.cards), sorted(set(deck.cards))) self.assertEqual(sorted(deck.remaining), sorted(set(deck.remaining)))
[docs] def test_draw(self): deck = Deck() self.assertRaises(DeckNotIntegerError, deck.draw, '7') self.assertRaises(DeckTooManyError, deck.draw, 53) card = deck.draw() self.assertIsInstance(card, Card) self.assertEqual(len(deck.remaining), 51) cards = deck.draw(4) for c in cards: self.assertIsInstance(c, Card) for r in deck.remaining: self.assertFalse(c.identical_to(r)) self.assertEqual(len(cards), 4) self.assertEqual(len(deck.remaining), 47)
[docs] def test_shuffle(self): deck = Deck() deck.draw(10) deck.shuffle() self.assertEqual(len(deck.remaining), 52)