def test_new_game_deck_not_full(self): """checks the function wont start a new game if the deck is not full""" cardgame = CardGame('ohad', 'polly') self.assertEqual(len(cardgame.player1.player_hand), 10) self.assertEqual(len(cardgame.player2.player_hand), 10) self.assertEqual(len(cardgame.deck.list_cards), 32) cardgame.new_game() self.assertNotEqual(len(cardgame.deck.list_cards), 52)
class TestCardGame(TestCase): def setUp(self): self.game_test = CardGame("dima", "shachar") def test_num_cards_not_int(self): """בודקת שהמערכת מציגה שגיאה כאשר כמות הקלפים לחלוקה אינו מספר תקין""" with self.assertRaises(SystemExit): self.game_test = CardGame("dima", "shachar", "bdika") def test_no_name_input(self): """בודקת האם המשחק עובד כאשר לא מזינים בכלל פרטים. לא כמות קלפים לחלוקה ולא שמות שחקנים""" self.game_test = CardGame() self.assertEqual(self.game_test.player_1.name, "player-1") self.assertEqual(self.game_test.player_2.name, "player-2") self.assertEqual(self.game_test.player_1.num_cards, 10) self.assertEqual(self.game_test.player_2.num_cards, 10) def test_get_winner(self): """בודקת כאשר יש לשחקן השני פחות קלפים שהשם שלו חוזר""" card1 = Card(1, 1) card2 = Card(2, 2) card3 = Card(3, 3) self.game_test.player_1.player_deck = [card1, card2] self.game_test.player_2.player_deck = [card3] self.assertIn("shachar", self.game_test.get_winner()) # self.assertIn(self.game_test.player_2.name, self.game_test.get_winner()) def test_get_winner_none(self): """בודקת במידה והרשימות של שני השחקנים באותו אורך שהיא מחזירה none""" card1 = Card(1, 1) card2 = Card(2, 2) card3 = Card(5, 2) card4 = Card(7, 4) self.game_test.player_1.player_deck = [card1, card2] self.game_test.player_2.player_deck = [card3, card4] self.assertIsNone(self.game_test.get_winner()) def test_new_game(self): """בודקת שבמידה והפונקציה לא הופעלה מהקונסטרקטור היא מחזירה שגיאה""" with self.assertRaises(SystemExit): self.game_test.new_game() def test_new_game_20(self): """בודקת שבאמת מחלקת את כמות הקלפים שהמשתמש ביקש""" self.game_test = CardGame("dima", "shachar", 20) self.assertEqual(len(self.game_test.player_1.player_deck), 20) self.assertEqual(len(self.game_test.player_2.player_deck), 20) def test_new_game_0(self): """בודקת שמחזירה שגיאה כאשר מספר הקלפים לחלוקה הוא 0""" with self.assertRaises(SystemExit): self.game_test = CardGame("dima", "shachar", 0) def test_new_game_minus(self): """בודקת שמחזירה שגיאה כאשר מספר הקלפים לחלוקה הוא מינוס""" with self.assertRaises(SystemExit): self.game_test = CardGame("dima", "shachar", -5) def test_new_game_30(self): """בודקת מה קורה אם הזנו מעל 26 קלפים לכל אחד""" self.game_test = CardGame("dima", "shachar", 30) self.assertEqual(len(self.game_test.player_1.player_deck), 26)