class TestCards(unittest.TestCase): def setUp(self): self.deck = Deck(2) def test_all(self): cards = self.deck.deal(4) cards += self.deck.deal() cards.append(self.deck.deal_one())
symbols = set(deck.symbols) _dealer_poss = sorted(set(Hand(Card(s)).name for s in deck.symbols)) _player_poss = sorted(set([Hand(Card(a), Card(b)).name for a,b in combinations_with_replacement(symbols, 2)])) _poss = list(product(_dealer_poss, _player_poss)) stats = {x: {'count':0, 'gains':0} for x in _poss} players = [Player()] dealer = Dealer() for _ in xrange(nb_runs): # Give some cards for p in players + [dealer]: p.hand = Hand(deck.deal(2)) for p in players: stats_key = (Hand(dealer.hand[0]).name, p.hand.name) stats[stats_key]['count'] += 1 action = p.ask() if action == 'hit': p.hand.hit(deck.deal_one()) if player_hand.bust: stats[stats_key]['gains'] -= 1 continue