Continous Integration in der Praxis Gruppenarbeit
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.
 
 
 
 

181 lines
4.7 KiB

using MiniGames.Shared.Models;
using Xunit;
namespace MiniGamesTests
{
public class TicTacToeBrettTest
{
public TicTacToeBrett TestBrett(
int a = -1, int b = -1, int c = -1,
int d = -1, int e = -1, int f = -1,
int g = -1, int h = -1, int i = -1
)
{
return new(
new int[,]
{
{ a, b, c, },
{ d, e, f, },
{ g, h, i, },
}
);
}
[Fact]
public void Set_FreiesFeldBelegenTest()
{
// arrange
TicTacToeBrett brett = new();
TicTacToeBrett erwartetesBrett = TestBrett(-1, -1, -1, -1, 0);
int pos = 4;
int wert = 0;
bool erwartetGesetzt = true;
// act
bool erhaltenGesetzt = brett.Set(pos, wert);
// assert
Assert.Equal(erwartetGesetzt, erhaltenGesetzt);
Assert.True(brett.Gleich(erwartetesBrett));
}
[Fact]
public void Set_BelegtesFeldBelegenTest()
{
// arrange
TicTacToeBrett brett = TestBrett(1);
TicTacToeBrett erwartetesBrett = TestBrett(1);
int pos = 0;
int wert = 1;
bool erwartetGesetzt = false;
// act
bool erhaltenGesetzt = brett.Set(pos, wert);
// assert
Assert.Equal(erwartetGesetzt, erhaltenGesetzt);
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]
public void Gleich_LeereBretterGleichTest()
{
// arrange
TicTacToeBrett b1 = new();
TicTacToeBrett b2 = new();
bool erwartetGleich = true;
// act
bool erhaltenGleich = b1.Gleich(b2);
// assert
Assert.Equal(erwartetGleich, erhaltenGleich);
}
[Fact]
public void Gleich_NichtLeereBretterGleichTest()
{
// arrange
TicTacToeBrett b1 = TestBrett(1, 2, 3, 4, 5, 6, 7, 8, 9);
TicTacToeBrett b2 = TestBrett(1, 2, 3, 4, 5, 6, 7, 8, 9);
bool erwartetGleich = true;
// act
bool erhaltenGleich = b1.Gleich(b2);
// assert
Assert.Equal(erwartetGleich, erhaltenGleich);
}
[Fact]
public void Gleich_ErsteUngleichTest()
{
// arrange
TicTacToeBrett b1 = TestBrett(1);
TicTacToeBrett b2 = TestBrett(2);
bool erwartetGleich = false;
// act
bool erhaltenGleich = b1.Gleich(b2);
// assert
Assert.Equal(erwartetGleich, erhaltenGleich);
}
[Fact]
public void Gleich_LetzteUngleichTest()
{
// arrange
TicTacToeBrett b1 = TestBrett(1, 2, 3, 4, 5, 6, 7, 8, 9);
TicTacToeBrett b2 = TestBrett(1, 2, 3, 4, 5, 6, 7, 8, 10);
bool erwartetGleich = false;
// act
bool erhaltenGleich = b1.Gleich(b2);
// assert
Assert.Equal(erwartetGleich, erhaltenGleich);
}
[Fact]
public void Voll_LeeresBrettTest()
{
// arrange
TicTacToeBrett brett = TestBrett();
bool erwartetVoll = false;
// act
bool erhaltenVoll = brett.Voll();
// assert
Assert.Equal(erwartetVoll, erhaltenVoll);
}
[Fact]
public void Voll_VollesBrettTest()
{
// arrange
TicTacToeBrett brett = TestBrett(1, 2, 3, 4, 5, 6, 7, 8, 9);
bool erwartetVoll = true;
// act
bool erhaltenVoll = brett.Voll();
// assert
Assert.Equal(erwartetVoll, erhaltenVoll);
}
[Fact]
public void Voll_FastVollesBrettTest()
{
// arrange
TicTacToeBrett brett = TestBrett(1, 2, 3, 4, 5, 6, 7, 8);
bool erwartetVoll = false;
// act
bool erhaltenVoll = brett.Voll();
// assert
Assert.Equal(erwartetVoll, erhaltenVoll);
}
}
}