def test_deal(self): shoe = Shoe(1) self.assertEqual(len(shoe._cards), 52) card1 = shoe.draw() card2 = shoe.draw() self.assertEqual(len(shoe._cards), 50) self.assertNotIn(card1, shoe._cards) self.assertNotIn(card2, shoe._cards) shoe.receive([card1, card2]) self.assertEqual(len(shoe._cards), 52)
class Dealer(Player): def __init__(self): super().__init__() self._shoe = Shoe(1) def hit(self, player, facedown=False): card = self._shoe.draw() card.facedown = facedown player.receive(card) def collect(self, cards): self._shoe.receive(self.dispose() + cards) def deal(self, player): self.hit(player) self.hit(self) self.hit(player) self.hit(self)