using QwirkleClassLibrary; using System.Collections.ObjectModel; namespace TestBase; public class TestBoard { public static IEnumerable Data_Board() { yield return new object[] { true, 1, 2, new Tile(Shape.Round, Color.Red) }; 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) { Board b = new Board(12, 12); if (!except) { Assert.False(b.AddTileInCell(x, y, t)); return; } Assert.True(b.AddTileInCell(x, y, t)); } public static IEnumerable Data_BoardDouble() { 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); Assert.Equal((12 * 12), board.GetCells().Count()); } [Fact] public void Test_GetReadCells() { 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); } } ReadOnlyCollection readCells = cells.AsReadOnly(); Assert.Equal(readCells.Count(), board.GetReadCells().Count()); } }