def test_joueurCourantTrouveTresor(self):
     for noms in self.liste_noms:
         liste_joueurs = listeJoueurs.ListeJoueurs(noms)
         listeJoueurs.distribuerTresors(liste_joueurs, 16, 4)
         cpt = 4
         for i in range(4):
             cpt -= 1
             for j in range(len(noms)):
                 jo = copy.deepcopy(
                     listeJoueurs.getJoueurCourant(liste_joueurs))
                 joueur.tresorTrouve(jo)
                 listeJoueurs.joueurCourantTrouveTresor(liste_joueurs)
                 jo_res = listeJoueurs.getJoueurCourant(liste_joueurs)
                 nbt = joueur.getNbTresorsRestants(jo_res)
                 self.assertEqual(
                     nbt, cpt, "Un joueur qui a trouvé " + str(i + 1) +
                     " trésor(s) sur 4 devrait en avoir " + str(cpt) +
                     " à trouver mais la fonction getNbTresorsRestants retourne "
                     + str(nbt) +
                     "\nCela peut provenir des fonctions ListeJoueurs, changerJoueurCourant, distribuerTresors ou joueurCourantTrouveTresor"
                 )
                 self.assertEqual(
                     jo, jo_res,
                     "Il y a une incohérence entre les fonctions tresorTrouve et joueurCourantTrouveTresor"
                 )
                 listeJoueurs.changerJoueurCourant(liste_joueurs)
Exemplo n.º 2
0
 def test_distribuerTresors(self):
     def recolter_tresor(jo):
         j=copy.deepcopy(jo)
         res=[]
         while joueur.getNbTresorsRestants(j)!=0:
             res.append(joueur.prochainTresor(j))
             joueur.tresorTrouve(j)
         return res
     
     for noms in self.liste_noms:
         liste_joueurs=listeJoueurs.ListeJoueurs(noms)
         listeJoueurs.distribuerTresors(liste_joueurs,12,3)
         recolte=[]
         for i in range(len(noms)):
             tresors=recolter_tresor(listeJoueurs.getJoueurCourant(liste_joueurs))
             self.assertEqual(len(tresors),3,"La distribution de 3 trésors compris entre 1 et 12 pour une liste de joueur créée à partir "+
                              str(noms)+" devrait donner 3 trésors à chaque joueur or votre fonction a donné "+str(len(tresors))+
                              " au joueur "+str(i+1)+
                              "\nCela peut provenir des fonctions ListeJoueurs, distribuerTresors ou getJoueurCourant")
             recolte.extend(tresors)
             listeJoueurs.changerJoueurCourant(liste_joueurs)
         recolte.sort()
         for i in range(len(recolte)-1):
             self.assertIn(recolte[i],list(range(1,13)),"La distribution de 3 trésors compris entre 1 et 12 pour une liste de joueur créée à partir "+
                              str(noms)+" a distribué un trésor inconnu "+str(recolte[i]))
             self.assertTrue(recolte[i]!=recolte[i+1],"La distribution de 3 trésors compris entre 1 et 12 pour une liste de joueur créée à partir "+
                              str(noms)+" a distribué deux fois le même trésor "+str(recolte[i]))
         self.assertIn(recolte[len(recolte)-1],list(range(1,13)),"La distribution de 3 trésors compris entre 1 et 12 pour une liste de joueur créée à partir "+
                       str(noms)+" a distribué un trésor inconnu "+str(recolte[len(recolte)-1]))
Exemplo n.º 3
0
 def test_changerJoueurCourant(self):
     for noms in self.liste_noms:
         liste_joueurs=listeJoueurs.ListeJoueurs(noms)
         taille=len(noms)
         for i in range(6):
             jca=joueur.Joueur(noms[i%taille])
             jc=listeJoueurs.getJoueurCourant(liste_joueurs)
             self.assertEqual(joueur.getNom(jc),noms[i%taille],"Le joueur courant de la liste joueur créée à partir de "+str(noms)+" au bout de "+str(i)+
                              " tour(s) devrait être "+str(noms[i%taille])+" mais la fonction getJoueurCourant retourne "+str(joueur.getNom(jc))+
                              "\nCela peut provenir des fonctions ListeJoueurs, getJoueurCourant ou changerJoueurCourant")
             listeJoueurs.changerJoueurCourant(liste_joueurs)
Exemplo n.º 4
0
 def test_Joueur(self):
     for noms in self.liste_noms:
         liste_joueurs=listeJoueurs.ListeJoueurs(noms)
         jo=joueur.Joueur(noms[0])
         nbj=listeJoueurs.getNbJoueurs(liste_joueurs)
         self.assertEqual(nbj,len(noms),"La liste de joueur crée à partir de "+str(noms)+" devrait contenir "+
                          str(len(noms))+" joueurs mais la fonction getNbJoueurs retourne "+str(nbj)+
                          "\nCela peut provenir des fonctions ListeJoueurs ou getNbJoueurs")
         jc=listeJoueurs.getJoueurCourant(liste_joueurs)
         self.assertEqual(joueur.getNom(jc),noms[0],"La liste de joueur crée à partir de "+str(noms)+" devrait avoir pour joueur courant "+
                          str(noms[0])+" mais la fonction getJoueurCourant retourne "+str(joueur.getNom(jc))+
                          "\nCela peut provenir des fonctions ListeJoueurs ou getJoueurCourant")