diff --git a/Sources/UnitTesting/CodeUT.cs b/Sources/UnitTesting/CodeUT.cs new file mode 100644 index 0000000..ea32d1a --- /dev/null +++ b/Sources/UnitTesting/CodeUT.cs @@ -0,0 +1,81 @@ +using CoreLibrary; +using Xunit; + +namespace UnitTesting +{ + public class CodeUT + { + [Fact] + public void TestFirstConstructorValidArguments() + { + Code code = new Code(4); + Assert.NotNull(code); + Assert.Equal(4, code.Jetons().Count()); + Assert.Equal(0, code.NbJetons); + } + + [Fact] + public void TestConstructorInvalidArguments() + { + Assert.Throws(() => new Code(0)); + Assert.Throws(() => new Code(-1)); + } + + [Fact] + public void TestSecondConstructorValidArguments() + { + Jeton?[] jetons = [new Jeton(Couleur.ROUGE), new Jeton(Couleur.BLEU), new Jeton(Couleur.BLEU)]; + + Code code = new Code(jetons); + Assert.NotNull(code); + Assert.Equal(3, code.Jetons().Count()); + Assert.Equal(3, code.NbJetons); + } + + [Fact] + public void TestSecondConstructorInvalidArguments() + { + Assert.Throws(() => new Code([])); + } + + [Fact] + public void TestAjouterJetonValid() + { + Jeton jeton = new Jeton(Couleur.JAUNE); + Code code = new Code(3); + code.AjouterJeton(jeton); + Assert.Equal(1, code.NbJetons); + Assert.Equal(jeton, code.Jetons().ElementAt(0)); + } + + [Fact] + public void TestAjouterJetonInvalid() + { + Code code = new Code([new Jeton(Couleur.NOIR)]); + Assert.Throws(() => code.AjouterJeton(new Jeton(Couleur.ROUGE))); + } + + [Fact] + public void TestSupprimerDernierJetonValid() + { + Code code = new Code([new Jeton(Couleur.ROUGE), new Jeton(Couleur.BLEU), new Jeton(Couleur.BLANC)]); + code.SupprimerDernierJeton(); + Assert.Equal(2, code.NbJetons); + } + + [Fact] + public void TestSupprimerDernierJetonInvalid() + { + Code code = new Code([]); + Assert.Throws(() => code.SupprimerDernierJeton()); + Code code2 = new Code(4); + Assert.Throws(() => code2.SupprimerDernierJeton()); + } + + [Fact] + public void TestRecupererJetonValid() + { + + } + } +} diff --git a/Sources/UnitTesting/JetonUT.cs b/Sources/UnitTesting/JetonUT.cs new file mode 100644 index 0000000..e315b41 --- /dev/null +++ b/Sources/UnitTesting/JetonUT.cs @@ -0,0 +1,20 @@ +using CoreLibrary; +using Xunit; + +namespace UnitTesting +{ + public class JetonUT + { + [Fact] + public void TestConstructorValid() + { + Couleur[] listeCouleurs = (Couleur[])Enum.GetValues(typeof(Couleur)); + + for (int i=0; i + net8.0 @@ -22,4 +22,8 @@ + + + +