def __init__(self,NumOfCards=5): #מתודת קונסטרקטור self.Amount=randint(5000,10000) self.Deck=DeckOfCards() self.NumOfCards=NumOfCards if self.NumOfCards<=0:#בדיקה שלא מתקבל מס' קלפים '0' או שלילי raise ValueError("Enter a positive number of cards") self.Player1=Player(input("Enter name of player: "),self.Amount) self.Player2=Player(input("Enter name of player: "),self.Amount) self.Player3=Player(input("Enter name of player: "),self.Amount) self.Player4=Player(input("Enter name of player: "),self.Amount) self.listPlayers=[self.Player1,self.Player2,self.Player3,self.Player4] self.newGame() for i in self.listPlayers:#הדפסת פרטים של שחקן print(i.__repr__())
class CardGame: #מחלקה היוצרת משחק קלפים , מגדירה 4 שחקנים וחפיסת קלפים אחת #NumOfCards,Amount, ListPlayers = רשימה של השחקנים המשתתפים def __init__(self,NumOfCards=5): #מתודת קונסטרקטור self.Amount=randint(5000,10000) self.Deck=DeckOfCards() self.NumOfCards=NumOfCards if self.NumOfCards<=0:#בדיקה שלא מתקבל מס' קלפים '0' או שלילי raise ValueError("Enter a positive number of cards") self.Player1=Player(input("Enter name of player: "),self.Amount) self.Player2=Player(input("Enter name of player: "),self.Amount) self.Player3=Player(input("Enter name of player: "),self.Amount) self.Player4=Player(input("Enter name of player: "),self.Amount) self.listPlayers=[self.Player1,self.Player2,self.Player3,self.Player4] self.newGame() for i in self.listPlayers:#הדפסת פרטים של שחקן print(i.__repr__()) def newGame(self): #מתודה המערבבת חפיסת קלפים ומחלקת קלפים ל-4 שחקנים if len(self.Deck.list3)<52: raise ValueError("You are in a middle of a game") self.Deck.Shuflle() for i in self.listPlayers: i.NumOfCards=self.NumOfCards #מספר קלפים עדכני שיחולק לכל שחקן,יתעדכן במצב של שונה מ-5 i.setHand(self.Deck)
def test_get_card1( self ): #בדיקה שהקלף האחרון מחבילת המשתמש אכן נשלף ואורך הרשימה התעדכן self.Deck1 = DeckOfCards() self.Player1.setHand(self.Deck1) self.last = self.Player1.list1[-1] self.assertEqual(self.last, self.Player1.getCard()) self.assertEqual((len(self.Player1.list1)), 4)
class TestDeckOfCards(TestCase): def setUp(self): self.Deck1 = DeckOfCards() def test_shuflle1(self): #בדיקה שהפונקציה מבצעת ערבוב self.First = self.Deck1.list3[0] self.Deck1.Shuflle() self.assertNotEqual(self.Deck1.list3[0], self.First) def test_shuffle2(self): #בדיקה שהפונקציה לא מבצעת ערבוב במהלך משחק self.First = self.Deck1.list3[0] self.Deck1.list3.remove(self.Deck1.list3[-1]) self.Deck1.Shuflle() self.assertEqual(self.Deck1.list3[0], self.First) def test_deal_one1(self): #בדיקה שהפונקציה מחזירה את הקלף האחרון בחפיסה self.Last = self.Deck1.list3[-1] self.assertEqual(self.Deck1.dealOne(), self.Last) def test_deal_one2(self): #בדיקה שהפונקציה עדכנה את החפיסה ל-51 self.Deck1.list3.pop() self.assertEqual(len(self.Deck1.list3), 51) def test_new_game1(self): #בדיקה שהפונקציה יוצרת חפיסה חדשה self.Deck1.list3 = self.Deck1.list3[:16] self.Deck1.newGame() self.assertEqual(len(self.Deck1.list3), 52) def test_new_game2(self): #בדיקה שהפונקציה מבצעת ערבוב לחפיסה self.First = self.Deck1.list3[0] self.Deck1.newGame() self.assertNotEqual(self.Deck1.list3[0], self.First)
def test_set_hand1( self): #בדיקה שהפונקציה מכניסה קלף לחבילה האישית של המשתמש with patch('GameCards_OriHasin.DeckOfCards.DeckOfCards.dealOne' ) as dealOne_mocked: self.card1 = Card("♣", "Ace") self.Deck1 = DeckOfCards() dealOne_mocked.return_value = self.card1 self.Player1.setHand(self.Deck1) self.assertTrue(self.Player1.list1[0] == self.card1) dealOne_mocked.assert_called_with()
def setUp(self): self.Deck1 = DeckOfCards()
def test_add_card1(self): #בדיקה שהקלף מתווסף לחבילת הקלפים של השחקן self.card1 = Card("♣", "Ace") self.Deck1 = DeckOfCards() self.Player1.setHand(self.Deck1) self.Player1.addCard(self.card1) self.assertEqual(self.Player1.list1[-1], self.card1)
def test_set_hand3( self): #בדיקה שהפונקציה מכניסה NumOfCards קלפים לחבילת השחקן self.Deck1 = DeckOfCards() self.Player1.setHand(self.Deck1) self.assertEqual(len(self.Player1.list1), self.Player1.NumOfCards)