You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mastermind/Sources/UnitTesting/ReglesClassiquesUT.cs

120 lines
3.3 KiB

using CoreLibrary;
using CoreLibrary.Exceptions;
using Xunit;
namespace UnitTesting
{
public class ReglesClassiquesUT
{
[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<PartieNonCommenceeException>(() => 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<PartieNonCommenceeException>(() => 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
}
}