You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mastermind/Sources/UnitTesting/JoueurBuilderUT.cs

51 lines
1.4 KiB

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")));
}
}
}