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)
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)