From bfddf7341f862a4eed9359037718c28b96a8da84 Mon Sep 17 00:00:00 2001 From: "nicolas.barbosa" Date: Tue, 28 May 2024 22:39:45 +0200 Subject: [PATCH] Correction erreurs de compilation sur les tests unitaires --- Sources/CoreLibrary/Core/Code.cs | 2 +- .../Convertisseurs/CouleurVersCouleurMAUI.cs | 4 +- .../IndicateurVersCouleurMAUI.cs | 4 +- .../Convertisseurs/JetonVersTexte.cs | 4 +- Sources/MauiSpark/Pages/Plateau.xaml.cs | 9 +- Sources/UnitTesting/CodeUT.cs | 10 +- Sources/UnitTesting/PlateauUT.cs | 12 +- Sources/UnitTesting/ReglesClassiquesUT.cs | 237 ------------------ 8 files changed, 23 insertions(+), 259 deletions(-) diff --git a/Sources/CoreLibrary/Core/Code.cs b/Sources/CoreLibrary/Core/Code.cs index 68e0f41..3567998 100644 --- a/Sources/CoreLibrary/Core/Code.cs +++ b/Sources/CoreLibrary/Core/Code.cs @@ -96,7 +96,7 @@ namespace CoreLibrary.Core /// Levée lorsque l'indice est supérieur à la taille maximale du code, inférieur à 0 ou qu'il n'y a pas de jeton à l'indice spécifié public Jeton RecupererJeton(int indice) { - if (indice < 0 || indice >= NbJetonsMax) + if (indice < 0 || indice >= lesJetons.Count) throw new IndiceCodeException(indice, lesJetons.Count - 1); Jeton? jeton = lesJetons[indice]; diff --git a/Sources/MauiSpark/Convertisseurs/CouleurVersCouleurMAUI.cs b/Sources/MauiSpark/Convertisseurs/CouleurVersCouleurMAUI.cs index 13b47b1..deaae35 100644 --- a/Sources/MauiSpark/Convertisseurs/CouleurVersCouleurMAUI.cs +++ b/Sources/MauiSpark/Convertisseurs/CouleurVersCouleurMAUI.cs @@ -13,7 +13,7 @@ namespace MauiSpark.Convertisseurs public static Color Blanc { get; private set; } = Color.FromRgb(255, 255, 255); - public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture) { if (value is not Couleur) return Noir; @@ -36,7 +36,7 @@ namespace MauiSpark.Convertisseurs } } - public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) { if (value is not Color) return Couleur.NOIR; diff --git a/Sources/MauiSpark/Convertisseurs/IndicateurVersCouleurMAUI.cs b/Sources/MauiSpark/Convertisseurs/IndicateurVersCouleurMAUI.cs index 834e793..eb2e6f6 100644 --- a/Sources/MauiSpark/Convertisseurs/IndicateurVersCouleurMAUI.cs +++ b/Sources/MauiSpark/Convertisseurs/IndicateurVersCouleurMAUI.cs @@ -5,7 +5,7 @@ namespace MauiSpark.Convertisseurs { public class IndicateurVersCouleurMAUI : IValueConverter { - public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture) { if (value is not Indicateur) return "black"; @@ -20,7 +20,7 @@ namespace MauiSpark.Convertisseurs } } - public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) { throw new NotImplementedException(); } diff --git a/Sources/MauiSpark/Convertisseurs/JetonVersTexte.cs b/Sources/MauiSpark/Convertisseurs/JetonVersTexte.cs index 1bbf8b7..3af5960 100644 --- a/Sources/MauiSpark/Convertisseurs/JetonVersTexte.cs +++ b/Sources/MauiSpark/Convertisseurs/JetonVersTexte.cs @@ -10,14 +10,14 @@ namespace MauiSpark.Convertisseurs { public class JetonVersTexte : IValueConverter { - public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + public object Convert(object? value, Type targetType, object? parameter, CultureInfo culture) { if (value is not Jeton) return ""; return "O"; } - public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) { throw new NotImplementedException(); } diff --git a/Sources/MauiSpark/Pages/Plateau.xaml.cs b/Sources/MauiSpark/Pages/Plateau.xaml.cs index 8dcf8c6..bf253ae 100644 --- a/Sources/MauiSpark/Pages/Plateau.xaml.cs +++ b/Sources/MauiSpark/Pages/Plateau.xaml.cs @@ -4,6 +4,7 @@ using CoreLibrary.Events; using CoreLibrary.Exceptions; using CoreLibrary.Joueurs; using MauiSpark.Convertisseurs; +using System.Globalization; namespace MauiSpark.Pages; @@ -52,13 +53,13 @@ public partial class Plateau : ContentPage private void CouleurPresee(Object sender, EventArgs e) { Label label = (Label)sender; - Couleur couleur = (Couleur)new CouleurVersCouleurMAUI().ConvertBack(label.TextColor, null, null, null); + Couleur couleur = (Couleur)new CouleurVersCouleurMAUI().ConvertBack(label.TextColor, typeof(Couleur), null, CultureInfo.InvariantCulture); try { code.AjouterJeton(new Jeton(couleur)); } - catch (CodeCompletException ignored) + catch (CodeCompletException) { DisplayAlert("Attention", "La code est plein", "OK"); } @@ -70,7 +71,7 @@ public partial class Plateau : ContentPage { code.SupprimerDernierJeton(); } - catch(CodeVideException ignored) + catch(CodeVideException) { DisplayAlert("Attention", "La code est vide", "OK"); } @@ -82,7 +83,7 @@ public partial class Plateau : ContentPage { joueur.Code(code); } - catch (CodeIncompletException ignored) + catch (CodeIncompletException) { DisplayAlert("Attention", "La code n'est pas complet", "OK"); } diff --git a/Sources/UnitTesting/CodeUT.cs b/Sources/UnitTesting/CodeUT.cs index d42d23f..2e65a53 100644 --- a/Sources/UnitTesting/CodeUT.cs +++ b/Sources/UnitTesting/CodeUT.cs @@ -11,7 +11,7 @@ namespace UnitTesting { Code code = new Code(4); Assert.NotNull(code); - Assert.Equal(4, code.Jetons().Count()); + Assert.Empty(code.Jetons); Assert.Equal(0, code.NbJetons); } @@ -29,7 +29,7 @@ namespace UnitTesting Code code = new Code(jetons); Assert.NotNull(code); - Assert.Equal(3, code.Jetons().Count()); + Assert.Equal(3, code.Jetons.Count()); Assert.Equal(3, code.NbJetons); } @@ -46,7 +46,7 @@ namespace UnitTesting Code code = new Code(3); code.AjouterJeton(jeton); Assert.Equal(1, code.NbJetons); - Assert.Equal(jeton, code.Jetons().ElementAt(0)); + Assert.Equal(jeton, code.Jetons.ElementAt(0)); } [Fact] @@ -100,7 +100,7 @@ namespace UnitTesting { Jeton[] jetonsAttendus = [new Jeton(Couleur.ROUGE), new Jeton(Couleur.BLEU), new Jeton(Couleur.BLEU)]; Code code = new Code(jetonsAttendus); - IEnumerable lesJetons = code.Jetons(); + IEnumerable lesJetons = code.Jetons; Assert.Equal(jetonsAttendus.Length, lesJetons.Count()); @@ -133,7 +133,7 @@ namespace UnitTesting { Jeton[] jetons = [new Jeton(Couleur.ROUGE), new Jeton(Couleur.BLEU), new Jeton(Couleur.BLEU)]; Code code = new Code(jetons); - int tailleMaximale = code.TailleMaximale(); + int tailleMaximale = code.NbJetonsMax; Assert.Equal(jetons.Length, tailleMaximale); } diff --git a/Sources/UnitTesting/PlateauUT.cs b/Sources/UnitTesting/PlateauUT.cs index 48189fa..5bfc9ec 100644 --- a/Sources/UnitTesting/PlateauUT.cs +++ b/Sources/UnitTesting/PlateauUT.cs @@ -141,7 +141,7 @@ namespace UnitTesting Code? codeSecret = (Code?)fieldInfo.GetValue(plateau); Assert.NotNull(codeSecret); - Jeton[] jetons = codeSecret.Jetons().Where(jeton => jeton.HasValue).Select(jeton => jeton!.Value).ToArray(); + Jeton[] jetons = codeSecret.Jetons.Where(jeton => jeton.HasValue).Select(jeton => jeton!.Value).ToArray(); int i = 0; int j = 1; @@ -156,7 +156,7 @@ namespace UnitTesting plateau = new Plateau(2, 10); codeSecret = (Code?)fieldInfo.GetValue(plateau); Assert.NotNull(codeSecret); - jetons = codeSecret.Jetons().Where(jeton => jeton.HasValue).Select(jeton => jeton!.Value).ToArray(); + jetons = codeSecret.Jetons.Where(jeton => jeton.HasValue).Select(jeton => jeton!.Value).ToArray(); i = 0; j = 1; @@ -186,7 +186,7 @@ namespace UnitTesting Code? codeSecret = (Code?)fieldInfo.GetValue(plateau); Assert.NotNull(codeSecret); - Jeton[] jetons = codeSecret.Jetons().Where(jeton => jeton.HasValue).Select(jeton => jeton!.Value).ToArray(); + Jeton[] jetons = codeSecret.Jetons.Where(jeton => jeton.HasValue).Select(jeton => jeton!.Value).ToArray(); for (int i=0; i> grille = plateau.Grille(); Assert.Equal(4, grille.First().Count()); - Assert.Equal(4, grille.Last().Count()); - Assert.Equal(code1.Jetons(), grille.ElementAt(0)); - Assert.Equal(code2.Jetons(), grille.ElementAt(1)); + Assert.Empty(grille.Last()); + Assert.Equal(code1.Jetons, grille.ElementAt(0)); + Assert.Equal(code2.Jetons, grille.ElementAt(1)); } diff --git a/Sources/UnitTesting/ReglesClassiquesUT.cs b/Sources/UnitTesting/ReglesClassiquesUT.cs index 030c8b4..8aa5746 100644 --- a/Sources/UnitTesting/ReglesClassiquesUT.cs +++ b/Sources/UnitTesting/ReglesClassiquesUT.cs @@ -15,242 +15,5 @@ namespace UnitTesting { Assert.Equal("Règles classiques", new ReglesClassiques().Nom); } - - [Fact] - public void TestNbJoueur() - { - ReglesClassiques regles = new ReglesClassiques(); - Assert.Equal(0, regles.NbJoueurs); - regles.AjouterJoueur("Bonjour"); - Assert.Equal(1, regles.NbJoueurs); - regles.AjouterJoueur("Bonsoir"); - Assert.Equal(2, regles.NbJoueurs); - } - - [Fact] - public void GenererCode() - { - ReglesClassiques regles = new ReglesClassiques(); - Assert.Equal(new Code(4).NbJetons, regles.GenererCode().NbJetons); - Assert.Equal(4, regles.GenererCode().TailleMaximale()); - } - - [Fact] - public void TestJoueurCourantPartieNonCommencee() - { - ReglesClassiques regles = new ReglesClassiques(); - Assert.Throws(() => regles.JoueurCourant()); - } - - [Fact] - public void TestPasserLaMainPartieNonCommencee() - { - ReglesClassiques regles = new ReglesClassiques(); - Assert.Throws(() => regles.PasserLaMain()); - } - - [Fact] - public void TestPasserLaMain() - { - ReglesClassiques regles = new ReglesClassiques(); - - Type type = typeof(ReglesClassiques); - - FieldInfo? fieldInfo = type.GetField("joueurCourant", BindingFlags.NonPublic | BindingFlags.Instance); - Assert.NotNull(fieldInfo); - - - regles.AjouterJoueur("céleste"); - regles.AjouterJoueur("pauline"); - - Assert.Throws(() => regles.PasserLaMain()); - - int? joueurCourantPasDemarree = (int?)fieldInfo.GetValue(regles); - Assert.Null(joueurCourantPasDemarree); - - regles.CommencerLaPartie(); - - int? joueurCourantAvant = (int?) fieldInfo.GetValue(regles); - Joueur courantAvant = regles.JoueurCourant().Item1; - Assert.NotNull(joueurCourantAvant); - Assert.Equal(0, joueurCourantAvant); - - regles.PasserLaMain(); - - int? joueurCourantApres = (int?)fieldInfo.GetValue(regles); - Joueur courantApres = regles.JoueurCourant().Item1; - Assert.NotNull(joueurCourantApres); - Assert.Equal(1, joueurCourantApres); - Assert.NotEqual(joueurCourantAvant, joueurCourantApres); - Assert.NotEqual(courantAvant, courantApres); - - regles.PasserLaMain(); - - int? joueurCourantBoucle = (int?)fieldInfo.GetValue(regles); - Joueur courantBoucle = regles.JoueurCourant().Item1; - Assert.NotNull(joueurCourantBoucle); - Assert.Equal(0, joueurCourantBoucle); - Assert.NotEqual(joueurCourantApres, joueurCourantBoucle); - Assert.Equal(joueurCourantAvant, joueurCourantBoucle); - Assert.NotEqual(courantApres, courantBoucle); - } - - [Fact] - public void TestEstTermineeVictoire() - { - ReglesClassiques regles = new ReglesClassiques(); - - regles.AjouterJoueur("joueur1"); - regles.AjouterJoueur("joueur2"); - - Assert.False(regles.EstTerminee()); - - Type type = typeof(ReglesClassiques); - FieldInfo? fieldInfo = type.GetField("joueurCourant", BindingFlags.NonPublic | BindingFlags.Instance); - Assert.NotNull(fieldInfo); - fieldInfo.SetValue(regles, 1); - - Assert.False(regles.EstTerminee()); - - fieldInfo.SetValue(regles, 0); - - regles.CommencerLaPartie(); - - regles.PasserLaMain(); - - Assert.False(regles.EstTerminee()); - - regles.PasserLaMain(); - - Plateau plateauj1 = regles.JoueurCourant().Item2; - type = typeof(Plateau); - - fieldInfo = type.GetField("codeSecret", BindingFlags.NonPublic | BindingFlags.Instance); - Assert.NotNull(fieldInfo); - - Code? codeSecret = (Code?)fieldInfo.GetValue(plateauj1); - Assert.NotNull(codeSecret); - - regles.JoueurCourant().Item2.AjouterCode(codeSecret); - - bool estTerminee = regles.EstTerminee(); - - Assert.True(estTerminee); - - - } - - [Fact] - public void TestGagants() - { - ReglesClassiques regles = new ReglesClassiques(); - Partie partie = new Partie(regles); - - regles.AjouterJoueur("joueur1"); - regles.AjouterJoueur("joueur2"); - - regles.CommencerLaPartie(); - - Plateau plateauj1 = regles.JoueurCourant().Item2; - - Type type = typeof(Plateau); - FieldInfo? fieldInfo = type.GetField("codeSecret", BindingFlags.NonPublic | BindingFlags.Instance); - Assert.NotNull(fieldInfo); - Code? codeSecret = (Code?)fieldInfo.GetValue(plateauj1); - Assert.NotNull(codeSecret); - - regles.JoueurCourant().Item2.AjouterCode(codeSecret); - IEnumerable gagnants = regles.Gagnants(); - Assert.Single(gagnants); - Assert.Contains(regles.JoueurCourant().Item1, gagnants); - } - - [Fact] - public void TestPerdants() - { - ReglesClassiques regles = new ReglesClassiques(); - Partie partie = new Partie(regles); - - regles.AjouterJoueur("joueur1"); - regles.AjouterJoueur("joueur2"); - - regles.CommencerLaPartie(); - - Plateau plateauj1 = regles.JoueurCourant().Item2; - - Type type = typeof(Plateau); - FieldInfo? fieldInfo = type.GetField("codeSecret", BindingFlags.NonPublic | BindingFlags.Instance); - Assert.NotNull(fieldInfo); - Code? codeSecret = (Code?)fieldInfo.GetValue(plateauj1); - Assert.NotNull(codeSecret); - - regles.JoueurCourant().Item2.AjouterCode(codeSecret); - - regles.PasserLaMain(); - - IEnumerable perdants = regles.Perdants(); - Assert.Single(perdants); - Assert.Contains(regles.JoueurCourant().Item1, perdants); - } - - - [Fact] - public void EstTermineeMaxTour() - { - ReglesClassiques regles = new ReglesClassiques(); - regles.AjouterJoueur("1"); - regles.AjouterJoueur("2"); - regles.CommencerLaPartie(); - - for (int i = 0; i < 24; ++i) - { - Plateau plateau = regles.JoueurCourant().Item2; - Code code = new Code(4); - code.AjouterJeton(new Jeton(Couleur.ROUGE)); - code.AjouterJeton(new Jeton(Couleur.ROUGE)); - code.AjouterJeton(new Jeton(Couleur.ROUGE)); - code.AjouterJeton(new Jeton(Couleur.ROUGE)); - plateau.AjouterCode(code); - - regles.PasserLaMain(); - } - - Assert.True(regles.EstTerminee()); - } - - [Fact] - public void EstTermineeNon() - { - ReglesClassiques regles = new ReglesClassiques(); - regles.AjouterJoueur("1"); - regles.AjouterJoueur("2"); - regles.CommencerLaPartie(); - - for (int i = 0; i < 12; ++i) - regles.PasserLaMain(); - - Assert.False(regles.EstTerminee()); - } - - [Fact] - public void EstTermineeCodeTrouve() - { - ReglesClassiques regles = new ReglesClassiques(); - regles.AjouterJoueur("1"); - regles.AjouterJoueur("2"); - regles.CommencerLaPartie(); - - Plateau plateauj1 = regles.JoueurCourant().Item2; - - Type type = typeof(Plateau); - FieldInfo? fieldInfo = type.GetField("codeSecret", BindingFlags.NonPublic | BindingFlags.Instance); - Assert.NotNull(fieldInfo); - Code? codeSecret = (Code?)fieldInfo.GetValue(plateauj1); - Assert.NotNull(codeSecret); - - regles.JoueurCourant().Item2.AjouterCode(codeSecret); - - Assert.True(regles.EstTerminee()); - } } }