From 3f3ba86ca35f4a060e88ffd91e5c06258b17eeb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Sender=C3=A1k?= Date: Sat, 28 Mar 2020 09:15:58 +0100 Subject: [PATCH] Round.get_points_summary added --- game.py | 11 +++++++++++ tests.py | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/game.py b/game.py index fe44201..a262fe4 100644 --- a/game.py +++ b/game.py @@ -173,6 +173,17 @@ class Round(): def is_guessing_completed(self): return len(self.guesses) == 4 + def get_points_summary(self) -> []: + points_summary = [0]*4 + stashes_summary = self.get_stashes_winner_summary() + if self.is_completed(): + for player in range(4): + if self.guesses[player] == stashes_summary[player]: + points_summary[player] = 10 + self.guesses[player] + return points_summary + else: + raise BridzikException('Kolo nie je ukoncene') + def get_stashes_winner_summary(self) -> []: summary = [0]*4 for stash in self.stashes: diff --git a/tests.py b/tests.py index 57fee5b..adedb4b 100644 --- a/tests.py +++ b/tests.py @@ -314,6 +314,41 @@ class RoundCase(unittest.TestCase): r.play_card(1, c1[1]) self.assertEqual(r.get_stashes_winner_summary(), [1, 0, 1, 0]) + def test_get_points_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) + r.add_player_guess(1, 0) + r.add_player_guess(2, 1) + r.add_player_guess(3, 0) + r.add_player_guess(0, 2) + + r.play_card(0, c0[0]) + r.play_card(1, c1[0]) + r.play_card(2, c2[0]) + r.play_card(3, c3[1]) + + 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_points_summary(), [0, 10, 11, 10])