using CoreLibrary; using CoreLibrary.Exceptions; using Xunit; namespace UnitTesting { public class ReglesClassiquesUT { [Fact] public void TestNom() { ReglesClassiques regle = new ReglesClassiques(); Assert.Equal("Règles classiques", regle.Nom); } [Fact] public void TestConstructor() { ReglesClassiques regles = new ReglesClassiques(); Assert.NotNull(regles); Assert.Equal(0, regles.NbJoueurs); Assert.Equal(2, regles.NbJoueursMaximum); } [Fact] public void TestAjouterJoueur() { ReglesClassiques regles = new ReglesClassiques(); regles.AjouterJoueur("MonJoueur"); Assert.Equal(1, regles.NbJoueurs); } [Fact] public void TestJoueurCourantWithPlayer() { ReglesClassiques regles = new ReglesClassiques(); regles.AjouterJoueur("joueur1"); regles.AjouterJoueur("joueur2"); regles.CommencerLaPartie(); Joueur joueurCourant = regles.JoueurCourant(); Assert.NotNull(joueurCourant); Assert.Equal("joueur1", joueurCourant.Nom); } [Fact] public void TestJoueurCourantNoPlayer() { ReglesClassiques regles = new ReglesClassiques(); Assert.Throws(() => regles.JoueurCourant()); } [Fact] public void TestPasserLaMainValid() { ReglesClassiques regles = new ReglesClassiques(); regles.AjouterJoueur("joueur1"); regles.AjouterJoueur("joueur2"); regles.CommencerLaPartie(); Joueur joueurCourantInitial = regles.JoueurCourant(); regles.PasserLaMain(); Joueur joueurCourantSuivant = regles.JoueurCourant(); Assert.NotEqual(joueurCourantInitial, joueurCourantSuivant); Assert.Equal("joueur2", joueurCourantSuivant.Nom); } [Fact] public void TestPasserLaMainInvalid() { ReglesClassiques regles = new ReglesClassiques(); Assert.Throws(() => regles.PasserLaMain()); } [Fact] public void TestGenererCode() { ReglesClassiques regles = new ReglesClassiques(); Code code = regles.GenererCode(); Assert.NotNull(code); Assert.Equal(regles.TailleCodeMaximum, code.TailleMaximale()); } [Fact] public void TestCommencerLaPartie() { ReglesClassiques regles = new ReglesClassiques(); regles.AjouterJoueur("joueur1"); regles.AjouterJoueur("joueur2"); regles.CommencerLaPartie(); Joueur joueurCourant = regles.JoueurCourant(); Assert.NotNull(joueurCourant); Assert.Equal("joueur1", joueurCourant.Nom); } [Fact] public void TestEstTermineeTrue() { // } [Fact] public void TestEstTermineeFalse() { ReglesClassiques regles = new ReglesClassiques(); regles.AjouterJoueur("joueur1"); regles.AjouterJoueur("joueur2"); regles.CommencerLaPartie(); bool estTerminee = regles.EstTerminee(); Assert.False(estTerminee); } //Test Gagnants et Perdants + TestEstTermineeTrue + TestConstructor PB } }