Browse Source

TicTacToeBrett.Set gibt bei ungültigem Index false zurück und verändert das Brett nicht

feature/tictactoe
Felix Detig 3 years ago
parent
commit
6c9fc338d2
  1. 11
      BlazorSolution/MiniGames/Shared/Models/TicTacToeBrett.cs
  2. 19
      BlazorSolution/MiniGamesTests/TicTacToeBrettTest.cs

11
BlazorSolution/MiniGames/Shared/Models/TicTacToeBrett.cs

@ -45,9 +45,16 @@ namespace MiniGames.Shared.Models
{ {
int x = pos / 3; int x = pos / 3;
int y = pos % 3; int y = pos % 3;
if (Felder[x, y] != -1)
try
{
if (Felder[x, y] != -1)
return false;
}
catch (IndexOutOfRangeException e)
{
return false; return false;
}
Felder[x, y] = wert; Felder[x, y] = wert;

19
BlazorSolution/MiniGamesTests/TicTacToeBrettTest.cs

@ -62,6 +62,25 @@ namespace MiniGamesTests
Assert.True(brett.Gleich(erwartetesBrett)); Assert.True(brett.Gleich(erwartetesBrett));
} }
[Theory]
[InlineData(-1)]
[InlineData(9)]
public void Set_OutOfBoundsTest(int pos)
{
// arrange
TicTacToeBrett brett = new();
TicTacToeBrett erwartetesBrett = new();
int wert = 0;
bool erwartetGesetzt = false;
// act
bool erhaltenGesetzt = brett.Set(pos, wert);
// assert
Assert.Equal(erwartetGesetzt, erhaltenGesetzt);
Assert.True(brett.Gleich(erwartetesBrett));
}
[Fact] [Fact]
public void Gleich_LeereBretterGleichTest() public void Gleich_LeereBretterGleichTest()
{ {

Loading…
Cancel
Save