|
|
|
@ -0,0 +1,87 @@
|
|
|
|
|
using ConsoleApp;
|
|
|
|
|
using CoreLibrary.Core;
|
|
|
|
|
using CoreLibrary.Events;
|
|
|
|
|
using CoreLibrary.Joueurs;
|
|
|
|
|
using Xunit;
|
|
|
|
|
|
|
|
|
|
namespace UnitTesting
|
|
|
|
|
{
|
|
|
|
|
public class EvenementUT
|
|
|
|
|
{
|
|
|
|
|
[Fact]
|
|
|
|
|
public void DemanderJoueurTest()
|
|
|
|
|
{
|
|
|
|
|
string nom = "Céleste";
|
|
|
|
|
TextReader entreeDefaut = Console.In;
|
|
|
|
|
using StringReader entreeModifiee = new StringReader(nom + Environment.NewLine);
|
|
|
|
|
|
|
|
|
|
TextWriter sortieDefaut = Console.Out;
|
|
|
|
|
using StringWriter sortieModifiee = new StringWriter();
|
|
|
|
|
|
|
|
|
|
Console.SetIn(entreeModifiee);
|
|
|
|
|
Console.SetOut(sortieModifiee);
|
|
|
|
|
|
|
|
|
|
Assert.Equal(nom, Evenements.DemanderJoueur(null, new DemanderJoueurEventArgs(1)));
|
|
|
|
|
|
|
|
|
|
Console.SetIn(entreeDefaut);
|
|
|
|
|
Console.SetOut(sortieDefaut);
|
|
|
|
|
|
|
|
|
|
Assert.Contains("Joueur 1", sortieModifiee.ToString());
|
|
|
|
|
Assert.Contains(">>>", sortieModifiee.ToString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void CommencerLaPartieTest()
|
|
|
|
|
{
|
|
|
|
|
TextWriter sortieDefaut = Console.Out;
|
|
|
|
|
using StringWriter sortieModifiee = new StringWriter();
|
|
|
|
|
|
|
|
|
|
Console.SetOut(sortieModifiee);
|
|
|
|
|
|
|
|
|
|
Evenements.CommencerLaPartie(null, new DebutPartieEventArgs());
|
|
|
|
|
|
|
|
|
|
Console.SetOut(sortieDefaut);
|
|
|
|
|
|
|
|
|
|
Assert.Contains("La partie commence, bonne chance à tous !", sortieModifiee.ToString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void NouveauTourTest()
|
|
|
|
|
{
|
|
|
|
|
TextWriter sortieDefaut = Console.Out;
|
|
|
|
|
using StringWriter sortieModifiee = new StringWriter();
|
|
|
|
|
|
|
|
|
|
Console.SetOut(sortieModifiee);
|
|
|
|
|
|
|
|
|
|
Plateau plateau = new Plateau(4, 12);
|
|
|
|
|
Joueur joueur = new Joueur("céleste", plateau);
|
|
|
|
|
|
|
|
|
|
Evenements.NouveauTour(null, new NouveauTourEventArgs(joueur, 4, plateau.Grille(), plateau.Indicateurs()));
|
|
|
|
|
|
|
|
|
|
Console.SetOut(sortieDefaut);
|
|
|
|
|
|
|
|
|
|
Assert.Contains("Tour 4 - céleste", sortieModifiee.ToString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[Fact]
|
|
|
|
|
public void DemanderJetonTest()
|
|
|
|
|
{
|
|
|
|
|
string saisie = $"{(char)ConsoleKey.RightArrow}{(char)ConsoleKey.RightArrow}{(char)ConsoleKey.Enter}";
|
|
|
|
|
TextReader entreeDefaut = Console.In;
|
|
|
|
|
using StringReader entreeModifiee = new StringReader(saisie);
|
|
|
|
|
|
|
|
|
|
TextWriter sortieDefaut = Console.Out;
|
|
|
|
|
using StringWriter sortieModifiee = new StringWriter();
|
|
|
|
|
|
|
|
|
|
Console.SetIn(entreeModifiee);
|
|
|
|
|
Console.SetOut(sortieModifiee);
|
|
|
|
|
|
|
|
|
|
Assert.Equal(new Jeton(Couleur.BLEU), Evenements.DemanderJeton(null, new DemanderJetonEventArgs(0)));
|
|
|
|
|
|
|
|
|
|
Console.SetIn(entreeDefaut);
|
|
|
|
|
Console.SetOut(sortieDefaut);
|
|
|
|
|
|
|
|
|
|
Assert.Contains("O", sortieModifiee.ToString());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|