|
|
|
@ -1,7 +1,61 @@
|
|
|
|
|
namespace UnitTesting
|
|
|
|
|
using CoreLibrary.Core;
|
|
|
|
|
using CoreLibrary.Exceptions;
|
|
|
|
|
using CoreLibrary.Joueurs;
|
|
|
|
|
using CoreLibrary.Regles;
|
|
|
|
|
using System.Reflection;
|
|
|
|
|
using Xunit;
|
|
|
|
|
|
|
|
|
|
namespace UnitTesting
|
|
|
|
|
{
|
|
|
|
|
public class ReglesClassiquesUT
|
|
|
|
|
{
|
|
|
|
|
[Fact]
|
|
|
|
|
public void TestNom()
|
|
|
|
|
{
|
|
|
|
|
Assert.Equal("Règles classiques", new ReglesClassiques().Nom);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void TestJoueurCourantPartieNonCommencee()
|
|
|
|
|
{
|
|
|
|
|
ReglesClassiques regles = new ReglesClassiques();
|
|
|
|
|
Assert.Throws<PartieNonCommenceeException>(() => regles.JoueurCourant());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void TestPasserLaMainPartieNonCommencee()
|
|
|
|
|
{
|
|
|
|
|
ReglesClassiques regles = new ReglesClassiques();
|
|
|
|
|
Assert.Throws<PartieNonCommenceeException>(() => regles.PasserLaMain());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void TestEstTerminee()
|
|
|
|
|
{
|
|
|
|
|
ReglesClassiques regles = new ReglesClassiques();
|
|
|
|
|
Joueur j1 = regles.AjouterJoueur("céleste");
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void TestGagants()
|
|
|
|
|
{
|
|
|
|
|
ReglesClassiques regles = new ReglesClassiques();
|
|
|
|
|
Joueur j1 = regles.AjouterJoueur("céleste");
|
|
|
|
|
regles.AjouterJoueur("pauline");
|
|
|
|
|
|
|
|
|
|
regles.CommencerLaPartie();
|
|
|
|
|
|
|
|
|
|
Plateau p = j1.Plateau;
|
|
|
|
|
|
|
|
|
|
FieldInfo? fieldInfo = typeof(Plateau).GetField("codeSecret", BindingFlags.NonPublic | BindingFlags.Instance);
|
|
|
|
|
Assert.NotNull(fieldInfo);
|
|
|
|
|
Code? codeSecret = (Code?) fieldInfo.GetValue(p);
|
|
|
|
|
Assert.NotNull(codeSecret);
|
|
|
|
|
|
|
|
|
|
p.AjouterCode(codeSecret);
|
|
|
|
|
|
|
|
|
|
Assert.True(regles.EstTerminee());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|