From 93e51762f589a7cfd3b4f837ea23422c78046595 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Sender=C3=A1k?= Date: Fri, 27 Mar 2020 22:28:04 +0100 Subject: [PATCH] additional tests for Round class --- tests.py | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 60 insertions(+), 5 deletions(-) diff --git a/tests.py b/tests.py index dbd32f6..433af9c 100644 --- a/tests.py +++ b/tests.py @@ -122,6 +122,24 @@ class StashCase(unittest.TestCase): class RoundCase(unittest.TestCase): + def test_round_constructor(self): + self.assertRaises(BridzikException, Round, round_number=8, first_player=0) + self.assertRaises(BridzikException, Round, round_number=0, first_player=4) + + for first_player in range(4): + for round_n in range(8): + r = Round(round_n, first_player) + self.assertEqual(r.round_number, round_n) + self.assertEqual(r.first_player, first_player) + self.assertEqual(r.guesses, {}) + self.assertEqual(r.stashes, []) + self.assertEqual(len(r.round_cards), 4*(8-round_n)) + for player_n in range(4): + self.assertEqual( + r.round_cards[player_n * (8-round_n) : (player_n+1) * (8-round_n)], + r.player_cards[player_n] + ) + def test_add_player_guess(self): r = Round(0, 1) @@ -172,7 +190,8 @@ class RoundCase(unittest.TestCase): r.add_player_guess(0, 4) self.assertEqual(r.get_active_player(), 0) - # TODO dokoncit pre prebiehajuce kolo + r.play_card(0, r.player_cards[0][0]) + self.assertEqual(r.get_active_player(), 1) def test_play_card(self): shuffler = lambda list: None @@ -208,17 +227,53 @@ class RoundCase(unittest.TestCase): self.assertRaises(BridzikException, r.play_card, player=3, card=c3[0]) # ina farba r.play_card(3, c3[1]) - # print(c2) - # print(r.player_cards[2]) - r.play_card(2, c2[1]) r.play_card(3, c3[0]) self.assertRaises(BridzikException, r.play_card, player=0, card=c0[0]) # uz zahrana karta r.play_card(0, c0[1]) r.play_card(1, c1[1]) - self.assertEqual(len(r.stashes), 2) + self.assertTrue(len(r.stashes), 2) + def test_is_completed(self): + r = Round(7, 1) + self.assertFalse(r.is_completed()) + r.add_player_guess(1, 0) + r.add_player_guess(2, 0) + r.add_player_guess(3, 1) + r.add_player_guess(0, 1) + + r.play_card(3, r.player_cards[3][0]) + r.play_card(0, r.player_cards[0][0]) + r.play_card(1, r.player_cards[1][0]) + self.assertFalse(r.is_completed()) + r.play_card(2, r.player_cards[2][0]) + self.assertTrue(r.is_completed()) + + def test_is_guessing_completed(self): + r = Round(6, 1) + self.assertFalse(r.is_guessing_completed()) + r.add_player_guess(1, 1) + r.add_player_guess(2, 0) + r.add_player_guess(3, 2) + r.add_player_guess(0, 4) + self.assertTrue(r.is_guessing_completed()) + + def test_get_last_stash(self): + r = Round(7, 0) + self.assertIsNone(r.get_last_stash()) + r.add_player_guess(0, 1) + r.add_player_guess(1, 1) + r.add_player_guess(2, 0) + r.add_player_guess(3, 0) + self.assertEqual(r.get_last_stash(), r.stashes[0]) + r.play_card(0, r.player_cards[0][0]) + r.play_card(1, r.player_cards[1][0]) + r.play_card(2, r.player_cards[2][0]) + r.play_card(3, r.player_cards[3][0]) + self.assertEqual(r.get_last_stash(), r.stashes[0]) + r.stashes.append(Stash(2)) + self.assertEqual(r.get_last_stash(), r.stashes[1]) if __name__ == '__main__':