diff --git a/Sources/UnitTesting/PlateauUT.cs b/Sources/UnitTesting/PlateauUT.cs index b0c8f9d..1012b35 100644 --- a/Sources/UnitTesting/PlateauUT.cs +++ b/Sources/UnitTesting/PlateauUT.cs @@ -127,21 +127,71 @@ namespace UnitTesting Code? codeSecret = (Code?)fieldInfo.GetValue(plateau); Assert.NotNull(codeSecret); - bool resultat = plateau.EstBonCode(codeSecret); - Assert.True(resultat); + Assert.True(plateau.EstBonCode(codeSecret)); } [Fact] public void TestEstBonCodeFalse() { - // Modifier pour obtenir code différent de codeSecret + List couleurs = new List((Couleur[])Enum.GetValues(typeof(Couleur))); + Plateau plateau = new Plateau(4, 10); - Code code = new Code([new Jeton(Couleur.BLEU), new Jeton(Couleur.BLANC), new Jeton(Couleur.JAUNE), new Jeton(Couleur.BLANC)]); - plateau.AjouterCode(code); + + Type type = typeof(Plateau); + + FieldInfo? fieldInfo = type.GetField("codeSecret", BindingFlags.NonPublic | BindingFlags.Instance); + Assert.NotNull(fieldInfo); + + Code? codeSecret = (Code?)fieldInfo.GetValue(plateau); + Assert.NotNull(codeSecret); + + Jeton[] jetons = codeSecret.Jetons().Where(jeton => jeton.HasValue).Select(jeton => jeton!.Value).ToArray(); + + Couleur couleurJeton = jetons[0].Couleur; + int indice = couleurs.IndexOf(couleurJeton) + 1; + if (indice >= couleurs.Count) + indice = 0; + + jetons[0] = new Jeton(couleurs[indice]); + + Code code = new Code(jetons); Assert.False(plateau.EstBonCode(code)); } + [Fact] + public void TestEstBonCodeAucunIndicateur() + { + List couleurs = new List((Couleur[])Enum.GetValues(typeof(Couleur))); + Plateau plateau = new Plateau(4, 10); + Type type = typeof(Plateau); + + FieldInfo? fieldInfo = type.GetField("codeSecret", BindingFlags.NonPublic | BindingFlags.Instance); + Assert.NotNull(fieldInfo); + + Code? codeSecret = (Code?)fieldInfo.GetValue(plateau); + Assert.NotNull(codeSecret); + + Jeton[] jetons = codeSecret.Jetons().Where(jeton => jeton.HasValue).Select(jeton => jeton!.Value).ToArray(); + + for (int i=0; i