Round.get_winner_summary added
This commit is contained in:
@@ -170,6 +170,13 @@ class Round():
|
|||||||
def is_guessing_completed(self):
|
def is_guessing_completed(self):
|
||||||
return len(self.guesses) == 4
|
return len(self.guesses) == 4
|
||||||
|
|
||||||
|
def get_winner_summary(self) -> []:
|
||||||
|
summary = [0]*4
|
||||||
|
for stash in self.stashes:
|
||||||
|
if stash.is_completed():
|
||||||
|
summary[stash.get_winner()] += 1
|
||||||
|
return summary
|
||||||
|
|
||||||
def get_last_stash(self):
|
def get_last_stash(self):
|
||||||
return self.stashes[-1] if self.stashes else None
|
return self.stashes[-1] if self.stashes else None
|
||||||
|
|
||||||
|
|||||||
@@ -275,6 +275,47 @@ class RoundCase(unittest.TestCase):
|
|||||||
r.stashes.append(Stash(2))
|
r.stashes.append(Stash(2))
|
||||||
self.assertEqual(r.get_last_stash(), r.stashes[1])
|
self.assertEqual(r.get_last_stash(), r.stashes[1])
|
||||||
|
|
||||||
|
def test_get_winner_summary(self):
|
||||||
|
shuffler = lambda list: None
|
||||||
|
c0 = [
|
||||||
|
Card(Card_colors['BELLS'], Card_values['UPPER']),
|
||||||
|
Card(Card_colors['HEARTS'], Card_values['UPPER'])
|
||||||
|
]
|
||||||
|
c1 = [
|
||||||
|
Card(Card_colors['BELLS'], Card_values['C7']),
|
||||||
|
Card(Card_colors['HEARTS'], Card_values['C10'])
|
||||||
|
]
|
||||||
|
c2 = [
|
||||||
|
Card(Card_colors['BELLS'], Card_values['ACE']),
|
||||||
|
Card(Card_colors['BELLS'], Card_values['C8'])
|
||||||
|
]
|
||||||
|
c3 = [
|
||||||
|
Card(Card_colors['LEAVES'], Card_values['C7']),
|
||||||
|
Card(Card_colors['BELLS'], Card_values['LOWER'])
|
||||||
|
]
|
||||||
|
c = ['dummy']*24 + c0 + c1 + c2 + c3
|
||||||
|
r = Round(6, 1, c, shuffler)
|
||||||
|
self.assertEqual(r.get_winner_summary(), [0]*4)
|
||||||
|
r.add_player_guess(1, 0)
|
||||||
|
r.add_player_guess(2, 0)
|
||||||
|
r.add_player_guess(3, 1)
|
||||||
|
r.add_player_guess(0, 2)
|
||||||
|
|
||||||
|
r.play_card(0, c0[0])
|
||||||
|
r.play_card(1, c1[0])
|
||||||
|
r.play_card(2, c2[0])
|
||||||
|
self.assertEqual(r.get_winner_summary(), [0]*4)
|
||||||
|
r.play_card(3, c3[1])
|
||||||
|
self.assertEqual(r.get_winner_summary(), [0, 0, 1, 0])
|
||||||
|
|
||||||
|
r.play_card(2, c2[1])
|
||||||
|
r.play_card(3, c3[0])
|
||||||
|
r.play_card(0, c0[1])
|
||||||
|
r.play_card(1, c1[1])
|
||||||
|
self.assertEqual(r.get_winner_summary(), [1, 0, 1, 0])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main(verbosity=2)
|
unittest.main(verbosity=2)
|
||||||
|
|||||||
Reference in New Issue
Block a user