Exemplo n.º 1
0
    def test_passer_au_prochain_joueur(self):

        partie = Partie(5, 1)
        partie.joueur_courant = partie.joueurs[0]
        partie.sens = 1

        partie.passer_au_prochain_joueur()
        self.assertEqual(partie.joueur_courant.identifiant, 2)
        self.assertEqual(partie.joueur_suivant.identifiant, 3)

        partie.passer_au_prochain_joueur()
        self.assertEqual(partie.joueur_courant.identifiant, 3)
        self.assertEqual(partie.joueur_suivant.identifiant, 4)

        partie.passer_au_prochain_joueur()
        partie.passer_au_prochain_joueur()
        self.assertEqual(partie.joueur_courant.identifiant, 5)
        self.assertEqual(partie.joueur_suivant.identifiant, 1)

        partie.joueurs_actifs = [
            partie.joueurs[0], partie.joueurs[2], partie.joueurs[4]
        ]
        partie.joueur_suivant = partie.joueurs[0]

        partie.passer_au_prochain_joueur()
        self.assertEqual(partie.joueur_courant.identifiant, 1)
        self.assertEqual(partie.joueur_suivant.identifiant, 3)

        partie.passer_au_prochain_joueur()
        self.assertEqual(partie.joueur_courant.identifiant, 3)
        self.assertEqual(partie.joueur_suivant.identifiant, 5)

        partie.passer_au_prochain_joueur()
        self.assertEqual(partie.joueur_courant.identifiant, 5)
        self.assertEqual(partie.joueur_suivant.identifiant, 1)

        partie.sens = -1

        partie.joueur_suivant = partie.joueurs[2]

        self.assertEqual(partie.joueur_courant.identifiant, 5)
        self.assertEqual(partie.joueur_suivant.identifiant, 3)

        partie.passer_au_prochain_joueur()
        self.assertEqual(partie.joueur_courant.identifiant, 3)
        self.assertEqual(partie.joueur_suivant.identifiant, 1)

        partie.passer_au_prochain_joueur()
        self.assertEqual(partie.joueur_courant.identifiant, 1)
        self.assertEqual(partie.joueur_suivant.identifiant, 5)
Exemplo n.º 2
0
    def test_determiner_joueur_suivant(self):

        partie = Partie(7, 6)
        partie.joueur_courant = partie.joueurs[5]

        # Cas 1: Sens horaire, on passe au prochain avec un retour au premier joueur
        partie.sens = 1
        partie.determiner_joueur_suivant()
        self.assertEqual(partie.joueurs[6], partie.joueur_suivant)

        partie.joueur_courant = partie.joueurs[6]
        partie.determiner_joueur_suivant()
        self.assertEqual(partie.joueurs[0], partie.joueur_suivant)

        # Cas 2: Sens anti-horaire, on passe au joueur précédent
        partie.sens = -1
        partie.joueur_courant = partie.joueurs[1]
        partie.determiner_joueur_suivant()
        self.assertEqual(partie.joueurs[0], partie.joueur_suivant)

        partie.joueur_courant = partie.joueurs[0]
        partie.determiner_joueur_suivant()
        self.assertEqual(partie.joueurs[6], partie.joueur_suivant)

        # Cas 3: Sens horaire, avec seulement quelques joueurs actifs.
        partie.sens = 1
        partie.joueurs_actifs = [
            partie.joueurs[1], partie.joueurs[4], partie.joueurs[6]
        ]
        partie.joueur_courant = partie.joueurs[4]

        partie.determiner_joueur_suivant()
        self.assertEqual(partie.joueurs[6], partie.joueur_suivant)

        partie.joueur_courant = partie.joueurs[6]
        partie.determiner_joueur_suivant()
        self.assertEqual(partie.joueurs[1], partie.joueur_suivant)

        # Cas 4: Sens anti-horaire, avec seulement quelques joueurs actifs
        partie.sens = -1

        partie.determiner_joueur_suivant()
        self.assertEqual(partie.joueurs[4], partie.joueur_suivant)

        partie.joueur_courant = partie.joueurs[1]
        partie.determiner_joueur_suivant()
        self.assertEqual(partie.joueurs[6], partie.joueur_suivant)