using CoreLibrary.Core;
using CoreLibrary.Events;
using CoreLibrary.Joueurs;
using Xunit;

namespace UnitTesting
{
    public class NouveauTourEventArgsUT
    {
        [Fact]
        public void TestConstructeurValide()
        {
            Joueur joueur = new Joueur("Céleste");
            Plateau plateau = new Plateau(4, 12);
            int tour = 10;
            Code code = new Code([new Jeton(Couleur.BLEU), new Jeton(Couleur.ROUGE), new Jeton(Couleur.ROUGE), new Jeton(Couleur.JAUNE)]);

            NouveauTourEventArgs evenement = new NouveauTourEventArgs(
                   joueur, tour, code, plateau.Grille(), plateau.Indicateurs()
            );

            Assert.Equal(joueur, evenement.Joueur);
            Assert.Equal(tour, evenement.Tour);
            Assert.Equal(code, evenement.Code);
            Assert.Equal(plateau.Grille(), evenement.Grille);
            Assert.Equal(plateau.Indicateurs(), evenement.Indicateurs);
        }
    }
}
