def test_deck_remembers_its_own_starting_count(self): d = Deck(count_of_suits=2, count_of_ranks=2) self.assertEqual(d.count_of_cards, 4) self.assertEqual(d.count_of_cards, len(d)) d.shuffle() self.assertEqual(d.count_of_cards, 4) self.assertEqual(d.count_of_cards, len(d)) d.deal([Player('Alice'), Player('Bob')]) self.assertEqual(d.count_of_cards, 4) self.assertNotEqual(d.count_of_cards, len(d))
def test_deck_deals_out_to_two_players_correctly(self): players = [] for n in range(2): # 2 players players.append(Player(name=str(n + 1))) d = Deck(count_of_suits=4, count_of_ranks=4) # 16 cards d.shuffle() d.deal(players) # 8 cards each ... self.assertEqual(len(players[0].hand), 8) self.assertEqual(len(players[0].hand), len(players[1].hand)) # ... of different cards for n in range(len(players[0].hand)): self.assertNotEqual(players[0].hand[n].__hash__(), players[1].hand[n].__hash__())
def test_deck_deals_out_to_four_players_correctly(self): players = [] for n in range(4): # 4 players players.append(Player(name=str(n + 1))) d = Deck(count_of_suits=8, count_of_ranks=8) # 64 cards d.shuffle() d.deal(players) # 16 cards each ... self.assertEqual(len(players[0].hand), 16) self.assertEqual(len(players[0].hand), len(players[1].hand)) self.assertEqual(len(players[1].hand), len(players[2].hand)) self.assertEqual(len(players[2].hand), len(players[3].hand)) # ... of different cards for n in range(len(players[0].hand)): self.assertNotEqual(id(players[0].hand[n]), id(players[1].hand[n])) self.assertNotEqual(id(players[1].hand[n]), id(players[2].hand[n])) self.assertNotEqual(id(players[2].hand[n]), id(players[3].hand[n]))