class TestCard(TestCase): def setUp(self): self.card1=Card(2,"Diamond") self.card2=Card(12,"Heart") self.card3=Card(12,"Club") def tearDown(self): pass def test___repr__(self): self.assertEqual(self.card1.__str__(),'Two of Diamonds') self.assertEqual(self.card2.__str__(),'Queen of Hearts') self.assertEqual(self.card3.__str__(),'Queen of Clubs') def test__eq__(self): self.card4=Card(2,"Diamond") self.assertTrue(self.card1==self.card4) self.assertFalse(self.card2==self.card3) self.card4=Card(10,"Diamond") self.assertFalse(self.card1==self.card4) def test_isBigger(self): self.assertTrue(self.card1<self.card2) self.assertTrue(self.card2<self.card3) def test_invalidValue(self): self.assertRaises(KeyError,self.card1.__init__(2,"Diamond"),2,14) self.assertRaises(KeyError,self.card1.__init__(2,"Diamond"),2,'Two') self.assertRaises(KeyError,self.card1.__init__(2,"Diamond"),2,14) self.assertRaises(KeyError,self.card1.__init__(2,"Diamond"),"Diamond",1) self.assertRaises(KeyError,self.card1.__init__(2,"Diamond"),"Diamond","Test") self.assertRaises(KeyError,self.card1.__init__(2,"Diamond"),"Diamond","diamond")
def test_render(self): card_value = 7 card = Card(0, card_value, card_value) card_ascii = [ " _________ ", "|7 |", "| |", "| |", "| ^ |", "| |", "| |", "|________7|", ] self.assertEqual(card.__str__(), card_ascii, "Card should render reference Ascii")
def test_card_string(): card = Card('Hearts', 'Two') assert card.__str__() == "Two of Hearts"
def test___str__(): x = Card('H', 'Q') assert x.__str__() == "H Q | 1\n"
from Deck import Deck from Card import Card sortedDeck = Deck() shuffledDeck = Deck() shuffledDeck.shuffle() firstCard = Card("2", "Diamonds") aCard = Card("5", "Spades") assert sortedDeck.__str__ != shuffledDeck.__str__( ) # sorted and shuffled deck are not in the same order assert len(shuffledDeck.deck) == 52 # Deck is still a full 52 card deck assert type(shuffledDeck.deal()) == type( aCard) # the deck gives us the top card assert len(shuffledDeck.deck) == 51 # One card delt, now it is a 51 card deck assert sortedDeck.deal().__str__() == firstCard.__str__( ) #first card of the unsorted deck is the 2 of Diamonds