def test_deck_draw_random_card(self): deck = Deck() self.assertEquals(len(deck.cards), 52, "deck size is proper") self.assertIsInstance(deck.cards[0], Card, "deck card is instance of Card") dc = deck.draw_random_card() self.assertIsInstance(dc, Card, "drawn card data type is correct") self.assertTrue(dc.value >= 1 and dc.value <= 52, "drawn card value is correct") self.assertEquals(len(deck.cards), 51, "deck length is decreased by one properly")
class Game: def __init__(self, players): self.players = players self.deck = Deck() self.player_cards = dict() def assign_card_to_player(self): for player in self.players: card = self.deck.draw_random_card() self.player_cards[player] = card print("player " + player.name + " got " + str(card)) def decide_winner(self): w_card = None w_player = None val = 0 for player, card in self.player_cards.iteritems(): if card.value > val: w_player = player w_card = card val = card.value return (w_player, w_card)