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