using CoreLibrary; using CoreLibrary.Exceptions; using System.Reflection; using Xunit; namespace UnitTesting { public class PartieUT { [Fact] public void TestPartieInitialiseCorrectement() { IRegles regles = new ReglesClassiques(); Partie partie = new Partie(regles); Assert.NotNull(partie); } [Fact] public void TestJouerAppelleDemanderJoueurEvent() { IRegles regles = new ReglesClassiques(); Partie partie = new Partie(regles); bool eventAppelle = false; partie.DemanderJoueur += (sender, e) => { eventAppelle = true; return $"Joueur {e.Numero}"; }; partie.Jouer(); Assert.True(eventAppelle); } [Fact] public void TestJouerAppelleDemanderJetonEvent() { IRegles regles = new ReglesClassiques(); Partie partie = new Partie(regles); bool eventAppelle = false; partie.DemanderJeton += (sender, e) => { eventAppelle = true; return new Jeton(); }; partie.Jouer(); Assert.True(eventAppelle); } [Fact] public void TestJouerAppelleAjouterJoueurEvent() { IRegles regles = new ReglesClassiques(); Partie partie = new Partie(regles); bool eventAppelle = false; partie.AjouterJoueur += (sender, e) => { eventAppelle = true; }; partie.Jouer(); Assert.True(eventAppelle); } [Fact] public void TestJouerAppelleDebutPartieEvent() { IRegles regles = new ReglesClassiques(); Partie partie = new Partie(regles); bool eventAppelle = false; partie.DebutPartie += (sender, e) => { eventAppelle = true; }; partie.Jouer(); Assert.True(eventAppelle); } [Fact] public void TestJouerAppelleNouveauTourEvent() { IRegles regles = new ReglesClassiques(); Partie partie = new Partie(regles); bool eventAppelle = false; partie.NouveauTour += (sender, e) => { eventAppelle = true; }; partie.Jouer(); Assert.True(eventAppelle); } [Fact] public void TestJouerAppelleNouveauJetonEvent() { IRegles regles = new ReglesClassiques(); Partie partie = new Partie(regles); bool eventAppelle = false; partie.AjouterJeton += (sender, e) => { eventAppelle = true; }; partie.Jouer(); Assert.True(eventAppelle); } [Fact] public void TestJouerAppelleNouveauCodeEvent() { IRegles regles = new ReglesClassiques(); Partie partie = new Partie(regles); bool eventAppelle = false; partie.AjouterCode += (sender, e) => { eventAppelle = true; }; partie.Jouer(); Assert.True(eventAppelle); } [Fact] public void TestJouerAppellePasserMainEvent() { IRegles regles = new ReglesClassiques(); Partie partie = new Partie(regles); bool eventAppelle = false; partie.PasserMain += (sender, e) => { eventAppelle = true; }; partie.Jouer(); Assert.True(eventAppelle); } [Fact] public void TestJouerAppellePartieTermineeEvent() { IRegles regles = new ReglesClassiques(); Partie partie = new Partie(regles); bool eventAppelle = false; partie.PartieTerminee += (sender, e) => { eventAppelle = true; }; partie.Jouer(); Assert.True(eventAppelle); } } }