adding test for getCells and getReadCells

test_old_branch
rportet 12 months ago
parent 1302714adb
commit cfa84886d0

@ -1,59 +1,101 @@
using QwirkleClassLibrary; using QwirkleClassLibrary;
using System.Collections.ObjectModel;
namespace TestBase; namespace TestBase;
public class TestBoard public class TestBoard
{
public static IEnumerable<object[]> Data_Board()
{ {
public static IEnumerable<object[]> Data_Board() yield return new object[]
{ {
yield return new object[]
{
true, true,
1, 1,
2, 2,
new Tile(Shape.Round, Color.Red) new Tile(Shape.Round, Color.Red)
}; };
yield return new object[] yield return new object[]
{ {
false, false,
-5, -5,
9999, 9999,
new Tile(Shape.Round, Color.Red) new Tile(Shape.Round, Color.Red)
}; };
} }
[Theory] [Theory]
[MemberData(nameof(Data_Board))] [MemberData(nameof(Data_Board))]
public void Test_BoardAddSolo(bool except, int x, int y, Tile t) public void Test_BoardAddSolo(bool except, int x, int y, Tile t)
{ {
Board b = new Board(); Board b = new Board(x, y);
if (!except) if (!except)
{ {
Assert.False(b.AddTileInCell(x, y, t)); Assert.False(b.AddTileInCell(x, y, t));
return; return;
}
Assert.True(b.AddTileInCell(x, y, t));
} }
Assert.True(b.AddTileInCell(x, y, t));
}
public static IEnumerable<object[]> Data_BoardDouble() public static IEnumerable<object[]> Data_BoardDouble()
{
yield return new object[]
{ {
yield return new object[]
{
1, 1,
2, 2,
new Tile(Shape.Round, Color.Red) new Tile(Shape.Round, Color.Red)
}; };
}
[Theory]
[MemberData(nameof(Data_BoardDouble))]
public void Test_BoardFree(int x, int y, Tile t)
{
Board board = new Board(12, 12);
board.AddTileInCell(x, y, t);
Assert.False(board.AddTileInCell(x, y, t));
}
[Fact]
public void Test_GetCells()
{
Board board = new Board(12, 12);
List<Cell> cells = new List<Cell>();
for (int a = 0; a<12; a++)
{
for (int b = 0; b<12; b++)
{
Cell localcell = new(a, b);
cells.Add(localcell);
}
} }
[Theory] Assert.Equal(cells, board.GetCells());
[MemberData(nameof(Data_BoardDouble))] }
public void Test_BoardFree(int x, int y, Tile t)
[Fact]
public void Test_GetReadCells()
{
Board board = new Board(12, 12);
List<Cell> cells = new List<Cell>();
for (int a = 0; a < 12; a++)
{ {
Board board = new Board(); for (int b = 0; b < 12; b++)
board.AddTileInCell(x, y, t); {
Assert.False(board.AddTileInCell(x, y, t)); Cell localcell = new(a, b);
cells.Add(localcell);
}
} }
ReadOnlyCollection<Cell> readCells = cells.AsReadOnly();
Assert.Equal(readCells, board.GetReadCells());
} }
}

Loading…
Cancel
Save