additional tests for Round class
This commit is contained in:
@@ -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__':
|
||||
|
||||
Reference in New Issue
Block a user