Browse Source

TicTacToe verhindert überschreiben des ersten Gewinners

feature/tictactoe
Felix Detig 3 years ago
parent
commit
2e56a1e0cb
  1. 7
      BlazorSolution/MiniGames/Client/ViewModel/TicTacToe.cs
  2. 18
      BlazorSolution/MiniGamesTests/TicTacToeTest.cs

7
BlazorSolution/MiniGames/Client/ViewModel/TicTacToe.cs

@ -26,7 +26,12 @@ namespace MiniGames.Client.ViewModel
public int GewinnerIndex public int GewinnerIndex
{ {
get { return Model.GewinnerIndex; } get { return Model.GewinnerIndex; }
set { Model.GewinnerIndex = value; }
set {
if (Model.GewinnerIndex < 0)
{
Model.GewinnerIndex = value;
}
}
} }
public void SpielerInput(int posIndex) public void SpielerInput(int posIndex)

18
BlazorSolution/MiniGamesTests/TicTacToeTest.cs

@ -102,20 +102,20 @@ namespace MiniGamesTests
Assert.Equal(erwarteterSpielerIndex, spiel.AktiverSpielerIndex); Assert.Equal(erwarteterSpielerIndex, spiel.AktiverSpielerIndex);
} }
[Fact]
public void SpielerInput_GewinnerTest()
[Theory]
[InlineData(0, 0, 3, 1, 4, 2)]
[InlineData(0, 3, 0, 4, 1, 5, 2)]
public void SpielerInput_GewinnerTest(int gewinnerIndex, params int[] inputs)
{ {
// arrange // arrange
TicTacToe spiel = StandardSpiel(); TicTacToe spiel = StandardSpiel();
spiel.AktiverSpielerIndex = 0;
int erwarteterGewinnerIndex = 0;
int erwarteterGewinnerIndex = gewinnerIndex;
// act // act
spiel.SpielerInput(0);
spiel.SpielerInput(3);
spiel.SpielerInput(1);
spiel.SpielerInput(4);
spiel.SpielerInput(2);
foreach (int input in inputs)
{
spiel.SpielerInput(input);
}
// assert // assert
Assert.Equal(spiel.GewinnerIndex, erwarteterGewinnerIndex); Assert.Equal(spiel.GewinnerIndex, erwarteterGewinnerIndex);

Loading…
Cancel
Save