Ejemplo n.º 1
0
    def test_trouver_joueurs_au_plus_haut_total(self):
        partie = Partie(5, 4)
        joueurs = [Joueur(1), Joueur(2), Joueur(3), Joueur(4), Joueur(5)]
        # Initialisation de leurs dés
        joueurs[0].dés = [Dé(5), Dé(2)]
        joueurs[1].dés = [Dé(1), Dé(2)]
        joueurs[2].dés = [Dé(3), Dé(5)]
        joueurs[3].dés = [Dé(6), Dé(6)]
        joueurs[4].dés = [Dé(2), Dé(4)]

        # Cas 1: Un seul joueur a le plus haut total
        self.assertEqual([joueurs[3]],
                         partie.trouver_joueurs_au_plus_haut_total(joueurs))

        # Cas 2: Deux joueurs sont à égalité avec le plus haut total
        joueurs[1].dés = [Dé(6), Dé(5)]
        joueurs[3].dés = [Dé(6), Dé(5)]
        liste_joueurs_plus_haut_total = partie.trouver_joueurs_au_plus_haut_total(
            joueurs)
        self.assertIn(joueurs[1], liste_joueurs_plus_haut_total)
        self.assertIn(joueurs[3], liste_joueurs_plus_haut_total)

        # Cas 3: Trois joueurs sont à égalité avec le plus haut total
        joueurs[1].dés = [Dé(4), Dé(6)]
        joueurs[3].dés = [Dé(6), Dé(4)]
        joueurs[4].dés = [Dé(6), Dé(4)]
        liste_joueurs_plus_haut_total = partie.trouver_joueurs_au_plus_haut_total(
            joueurs)
        self.assertIn(joueurs[1], liste_joueurs_plus_haut_total)
        self.assertIn(joueurs[3], liste_joueurs_plus_haut_total)
        self.assertIn(joueurs[4], liste_joueurs_plus_haut_total)
Ejemplo n.º 2
0
 def test_rouler_dés(self):
     joueur = Joueur(1)
     joueur.dés = [Dé(2), Dé(4), Dé(6), Dé(1), Dé(5)]
     joueur.rouler_dés()
     état_dés_1 = joueur.__repr__()
     joueur.rouler_dés()
     état_dés_2 = joueur.__repr__()
     self.assertNotEqual(état_dés_1, état_dés_2)
Ejemplo n.º 3
0
    def test_retirer_dés(self):
        joueur = Joueur(1)

        # Cas 1: Le joueur a plusieurs dés
        joueur.dés = [Dé(2), Dé(4), Dé(6), Dé(1), Dé(5)]
        joueur.retirer_dés()
        self.assertEqual(len(joueur), 0)

        # Cas 2: Le jouer n'a déjà plus de dés
        joueur.retirer_dés()
        self.assertEqual(len(joueur), 0)
Ejemplo n.º 4
0
    def test_ajouter_dé(self):
        joueur = Joueur(1)

        # Cas 1: Le joueur a plusieurs dés
        joueur.dés = [Dé(2), Dé(4), Dé(6), Dé(1)]
        joueur.ajouter_un_dé()
        self.assertEqual(len(joueur.dés), 5)

        # Cas 2: Le joueur n'a aucun dés
        joueur.dés = []
        joueur.ajouter_un_dé()
        self.assertEqual(len(joueur.dés), 1)
Ejemplo n.º 5
0
    def test_retirer_dé(self):
        joueur = Joueur(1)

        # Cas 1: Un seul dé ayant la valeur à retirer
        joueur.dés = [Dé(2), Dé(4), Dé(6), Dé(1), Dé(5)]
        joueur.retirer_dé(4)
        self.assertEqual(str(joueur.dés), str([Dé(2), Dé(6), Dé(1), Dé(5)]))

        # Cas 2: Plus d'un dé ayant la valeur à retirer
        joueur.dés = [Dé(2), Dé(4), Dé(6), Dé(1), Dé(4)]
        joueur.retirer_dé(4)
        self.assertEqual(str(joueur.dés), str([Dé(2), Dé(6), Dé(1)]))

        # Cas 3: Tous les dés ayant la valeur à retirer
        joueur.dés = [Dé(4), Dé(4), Dé(4), Dé(4), Dé(4)]
        joueur.retirer_dé(4)
        self.assertEqual(joueur.dés, [])
Ejemplo n.º 6
0
    def test_ajuster_score_en_fin_de_tour(self):
        joueur = Joueur(1)
        joueur.dés = [Dé(5), Dé(4)]

        # Situation testée 1: les points à retirer (9) sont supérieures au score du joueur (6)
        joueur.score = 6
        self.assertEqual(joueur.ajuster_score_en_fin_de_tour(), 6)
        self.assertEqual(joueur.score, 0)

        # Situation testée 2: les points à retirer (9) sont inférieures au score du joueur (12)
        joueur.score = 12
        self.assertEqual(joueur.ajuster_score_en_fin_de_tour(), 9)
        self.assertEqual(joueur.score, 3)
Ejemplo n.º 7
0
 def test_joueur(self):
     joueur = Joueur(1)
     self.assertEqual(len(joueur), 2)
     self.assertEqual(type(joueur.identifiant), type(1))
     self.assertIsInstance(joueur.dés[0], Dé)
Ejemplo n.º 8
0
    def test_compter_1_et_6(self):
        joueur = Joueur(1)

        joueur.dés = [Dé(1), Dé(2), Dé(6), Dé(3), Dé(5)]
        self.assertEqual(joueur.compter_1_et_6(), (1, 1))

        joueur.dés = [Dé(1), Dé(1), Dé(6), Dé(6), Dé(5)]
        self.assertEqual(joueur.compter_1_et_6(), (2, 2))

        # Cas: pas de 6
        joueur.dés = [Dé(1), Dé(1), Dé(5), Dé(5), Dé(5)]
        self.assertEqual(joueur.compter_1_et_6(), (2, 0))

        # Cas: pas de 1
        joueur.dés = [Dé(4), Dé(2), Dé(6), Dé(6), Dé(6)]
        self.assertEqual(joueur.compter_1_et_6(), (0, 3))

        # Cas: pas de 1 ni de 6
        joueur.dés = [Dé(4), Dé(5), Dé(5), Dé(3), Dé(5)]
        self.assertEqual(joueur.compter_1_et_6(), (0, 0))
Ejemplo n.º 9
0
 def test_calculer_points(self):
     joueur = Joueur(1)
     joueur.dés = [Dé(2), Dé(4), Dé(6), Dé(1), Dé(5)]
     self.assertEqual(joueur.calculer_points(), 18)
Ejemplo n.º 10
0
 def test_reinitialiser_dés(self):
     joueur = Joueur(1)
     joueur.reinitialiser_dés()
     self.assertEqual(len(joueur.dés), 5)