From cb64883ec84a1d19a0624c99e1c91e381c46f033 Mon Sep 17 00:00:00 2001 From: Augustin AFFOGNON Date: Tue, 11 Oct 2022 11:45:28 +0200 Subject: [PATCH] Test sur Equipe --- Sources/BowlingLib/Model/Equipe.cs | 21 +++-- Sources/BowlingLib/Model/Joueur.cs | 2 +- .../BowlingAppUnitTest.csproj | 1 + Sources/Tests/BowlingAppUnitTest/TestData.cs | 86 +++++++++++++++++++ .../Tests/BowlingAppUnitTest/UTestEquipe.cs | 21 ++++- 5 files changed, 120 insertions(+), 11 deletions(-) create mode 100644 Sources/Tests/BowlingAppUnitTest/TestData.cs diff --git a/Sources/BowlingLib/Model/Equipe.cs b/Sources/BowlingLib/Model/Equipe.cs index f06f16b..c0f64eb 100644 --- a/Sources/BowlingLib/Model/Equipe.cs +++ b/Sources/BowlingLib/Model/Equipe.cs @@ -42,12 +42,19 @@ namespace BowlingLib.Model } - public void AjouterJoueurs(params Joueur[] joueurs) + public List AjouterJoueurs(params Joueur[] joueurs) { - foreach(var j in joueurs) + List result = new(); + foreach (var a in joueurs) { - AjouterJoueur(j); + if (AjouterJoueur(a)) + { + result.Add(a); + } } + return result; + + } public bool AjouterJoueur(Joueur joueur) @@ -77,13 +84,9 @@ namespace BowlingLib.Model // Fonction permettant de vérifier si un joueur existe déjà dans la liste (l'équipe) public bool isExist(Joueur nouvJoueur) { - if (Joueurs.Count > 0) { - - { + if (Joueurs.Contains(nouvJoueur)) return true; - } - } - + return false; } diff --git a/Sources/BowlingLib/Model/Joueur.cs b/Sources/BowlingLib/Model/Joueur.cs index 73102a1..d74045c 100644 --- a/Sources/BowlingLib/Model/Joueur.cs +++ b/Sources/BowlingLib/Model/Joueur.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; namespace BowlingLib.Model { - public class Joueur + public class Joueur { private string pseudo; diff --git a/Sources/Tests/BowlingAppUnitTest/BowlingAppUnitTest.csproj b/Sources/Tests/BowlingAppUnitTest/BowlingAppUnitTest.csproj index a98ae7d..317f14e 100644 --- a/Sources/Tests/BowlingAppUnitTest/BowlingAppUnitTest.csproj +++ b/Sources/Tests/BowlingAppUnitTest/BowlingAppUnitTest.csproj @@ -7,6 +7,7 @@ + diff --git a/Sources/Tests/BowlingAppUnitTest/TestData.cs b/Sources/Tests/BowlingAppUnitTest/TestData.cs new file mode 100644 index 0000000..fc17175 --- /dev/null +++ b/Sources/Tests/BowlingAppUnitTest/TestData.cs @@ -0,0 +1,86 @@ +using BowlingLib.Model; +using System; +using System.Collections.Generic; + +namespace Test.BowlingAppUnitTest +{ + public static class TestData + { + public static IEnumerable Data_AddJoueurToEquipe() + { + yield return new object[] + { + 1, + new Joueur[] + { + new Joueur("Alys"), + new Joueur("Bénita"), + new Joueur("Regis"), + new Joueur("Mania"), + new Joueur("Augustin") + }, + new Joueur[] + { + new Joueur("Augustin") + }, + new Equipe("ABRMC", + new Joueur("Alys"), + new Joueur("Bénita"), + new Joueur("Regis"), + new Joueur("Mania")), + new Joueur("Augustin") + }; + + yield return new object[] + { + 2, + new Joueur[] + { + new Joueur("Alys"), + new Joueur("Bénita"), + new Joueur("Regis"), + new Joueur("Mania"), + new Joueur("Augustin") + }, + new Joueur[] + { + new Joueur("Mania"), + new Joueur("Augustin") + }, + new Equipe("ABRMC", + new Joueur("Alys"), + new Joueur("Bénita"), + new Joueur("Regis")), + + + new Joueur("Mania"), + new Joueur("Alys"), + new Joueur("Augustin") + }; + + yield return new object[] + { + 1, + new Joueur[] + { + new Joueur("Alys"), + new Joueur("Bénita"), + new Joueur("Regis"), + new Joueur("Mania"), + new Joueur("Augustin") + }, + new Joueur[] + { + new Joueur("Augustin") + }, + new Equipe("ABRMC", + new Joueur("Alys"), + new Joueur("Bénita"), + new Joueur("Regis"), + new Joueur("Mania")), + new Joueur("Augustin"), + new Joueur("Augustin") + }; + } + } +} diff --git a/Sources/Tests/BowlingAppUnitTest/UTestEquipe.cs b/Sources/Tests/BowlingAppUnitTest/UTestEquipe.cs index e0287bc..f63d03f 100644 --- a/Sources/Tests/BowlingAppUnitTest/UTestEquipe.cs +++ b/Sources/Tests/BowlingAppUnitTest/UTestEquipe.cs @@ -1,6 +1,6 @@ using System; using System.Collections.Generic; -using BowlingLib.Model; +using BowlingLib.Model; using Xunit; namespace Test.BowlingAppUnitTest @@ -61,7 +61,26 @@ namespace Test.BowlingAppUnitTest Assert.Equal(expectedResult, result); Assert.Equal(expectedJoueurs.Length, equipe.GetJoueurs()); Assert.All(expectedJoueurs, j => equipe.Joueurs.Contains(j)); + } + + + [Theory] + [MemberData(nameof(TestData.Data_AddJoueurToEquipe), MemberType=typeof(TestData))] + public void Test_AddJoueursToEquipe(int expectedResult, + Joueur[] expectedJoueurs, + Joueur[] expectedAddedJoueurs, + Equipe equipe, + params Joueur[] joueursToAdd) + { + var addedJoueurs = equipe.AjouterJoueurs(joueursToAdd); + Assert.Equal(expectedResult, addedJoueurs.Count); + + Assert.All(expectedAddedJoueurs, a => addedJoueurs.Contains(a)); + + Assert.Equal(expectedJoueurs.Length, equipe.Joueurs.Count); + Assert.All(expectedJoueurs, a => equipe.Joueurs.Contains(a)); } + } }