using CoreLibrary.Core; using CoreLibrary.Evenements; using CoreLibrary.Joueurs; using System.Reflection; using Xunit; namespace UnitTesting { public class JoueurBuilderUT { [Fact] public void JoueurBuilderTest() { string nom = "Céleste"; string? nomEvenement = ""; JoueurBuilder builder = new JoueurBuilder(); builder.ConstruireJoueur += (Object? sender, ConstruireJoueurEventArgs e) => nomEvenement = e.Nom; builder.Nom(nom); Assert.Equal(nom, nomEvenement); } [Fact] public void JoueurBuilderQuandConstruireJoueur() { string nom = "Céleste"; string? nomEvenement = ""; JoueurBuilder builder = new JoueurBuilder(); builder.ConstruireJoueur += (Object? sender, ConstruireJoueurEventArgs e) => nomEvenement = e.Nom; Type type = typeof(JoueurBuilder); MethodInfo? methodInfo = type.GetMethod("QuandConstruireJoueur", BindingFlags.NonPublic | BindingFlags.Instance); Assert.NotNull(methodInfo); methodInfo.Invoke(builder, [nom]); Assert.Equal(nom, nomEvenement); } [Fact] public void JoueurBuilderQuandConstruireJoueurSansBranchement() { JoueurBuilder builder = new JoueurBuilder(); Assert.Null(Record.Exception(() => builder.Nom("Pauline"))); } } }