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.
86 lines
2.2 KiB
86 lines
2.2 KiB
using MiniGames.Client.ViewModel;
|
|
using MiniGames.Shared.Models;
|
|
using Xunit;
|
|
|
|
namespace MiniGamesTests
|
|
{
|
|
public class TicTacToeTest
|
|
{
|
|
TicTacToeBrett StandardBrett()
|
|
{
|
|
return new TicTacToeBrett();
|
|
}
|
|
|
|
SpielerModel[] StandardSpieler()
|
|
{
|
|
return new SpielerModel[]
|
|
{
|
|
new SpielerModel
|
|
{
|
|
SpielerName = "Spieler 1",
|
|
Punkte = 0
|
|
},
|
|
new SpielerModel
|
|
{
|
|
SpielerName = "Spieler 2",
|
|
Punkte = 1
|
|
}
|
|
};
|
|
}
|
|
|
|
TicTacToeModel StandardModel()
|
|
{
|
|
return new TicTacToeModel
|
|
{
|
|
Spieler = StandardSpieler(),
|
|
Brett = StandardBrett(),
|
|
};
|
|
}
|
|
|
|
TicTacToe StandardSpiel()
|
|
{
|
|
return new(StandardModel());
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(0, 1)]
|
|
[InlineData(1, 0)]
|
|
public void SpielerWechselTest(int vorher, int nachher)
|
|
{
|
|
// arrange
|
|
TicTacToe spiel = StandardSpiel();
|
|
spiel.AktiverSpielerIndex = vorher;
|
|
int erwarteterIndex = nachher;
|
|
|
|
// act
|
|
spiel.SpielerWechsel();
|
|
|
|
// assert
|
|
Assert.Equal(erwarteterIndex, spiel.AktiverSpielerIndex);
|
|
}
|
|
|
|
[Fact]
|
|
public void SpielerInput_ValidesInputTest()
|
|
{
|
|
// arrange
|
|
TicTacToe spiel = StandardSpiel();
|
|
spiel.AktiverSpielerIndex = 0;
|
|
int erwarteterSpielerIndex = 1;
|
|
|
|
int pos = 2;
|
|
TicTacToeBrett erwartetesBrett = new(new int[,]
|
|
{
|
|
{ TicTacToeBrett.LEER, TicTacToeBrett.LEER, TicTacToeBrett.LEER, },
|
|
{ TicTacToeBrett.LEER, TicTacToeBrett.LEER, TicTacToeBrett.LEER, },
|
|
{ spiel.AktiverSpielerIndex, TicTacToeBrett.LEER, TicTacToeBrett.LEER, },
|
|
});
|
|
|
|
// act
|
|
spiel.SpielerInput(pos);
|
|
|
|
// assert
|
|
Assert.True(spiel.Brett.Gleich(erwartetesBrett));
|
|
Assert.Equal(erwarteterSpielerIndex, spiel.AktiverSpielerIndex);
|
|
}
|
|
}
|
|
}
|