diff --git a/Sources/UnitTesting/ProgramUT.cs b/Sources/UnitTesting/ProgramUT.cs new file mode 100644 index 0000000..4c8229d --- /dev/null +++ b/Sources/UnitTesting/ProgramUT.cs @@ -0,0 +1,60 @@ +using ConsoleApp; +using CoreLibrary; +using CoreLibrary.Events; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Xunit; + +namespace UnitTesting +{ + public class ProgramUT + { + [Fact] + public void TestPartieConfiguration() + { + // Créer une instance de Partie + IRegles regle = new ReglesClassiques(); + Partie maPartie = new Partie(new ReglesClassiques()); + + // Attacher des gestionnaires d'événements simulés + bool demanderJoueurCalled = false; + bool debutPartieCalled = false; + bool nouveauTourCalled = false; + bool demanderJetonCalled = false; + bool ajouterJetonCalled = false; + bool ajouterCodeCalled = false; + bool partieTermineeCalled = false; + + maPartie.DemanderJoueur += (sender, e) => + { + demanderJoueurCalled = true; + return $"Joueur {e.Numero}"; + }; + maPartie.DebutPartie += (sender, e) => debutPartieCalled = true; + maPartie.NouveauTour += (sender, e) => nouveauTourCalled = true; + maPartie.DemanderJeton += (sender, e) => + { + demanderJetonCalled = true; + return new Jeton(); + }; + maPartie.AjouterJeton += (sender, e) => ajouterJetonCalled = true; + maPartie.AjouterCode += (sender, e) => ajouterCodeCalled = true; + maPartie.PartieTerminee += (sender, e) => partieTermineeCalled = true; + + + maPartie.Jouer(); + + + Assert.True(demanderJoueurCalled); + Assert.True(debutPartieCalled); + Assert.True(nouveauTourCalled); + Assert.True(demanderJetonCalled); + Assert.True(ajouterJetonCalled); + Assert.True(ajouterCodeCalled); + Assert.True(partieTermineeCalled); + } + } +}