using Giants.Core.Enums; using Giants.Core.Interfaces; using Giants.Infrastructure; namespace Giants.Core.Tests; public class BoardLayoutTests { [Fact] public void TestNeighbour() { IHexagonalGrid grid = new HexagonalGridImpl(); BoardLayout layout = new BoardLayout(grid); var test = layout.GetNeighbours(new AxialCoords(2, 6)).ToList(); foreach (var voisin in new List() { new AxialCoords(3,5), new AxialCoords(1,6), new AxialCoords(3,6), new AxialCoords(2,5), new AxialCoords(2,7), }) { Assert.Contains(voisin, test); } Assert.Equal(5, test.Count); } [Fact] public void TestNeighbourWhenAhu() { IHexagonalGrid grid = new HexagonalGridImpl(); BoardLayout layout = new BoardLayout(grid); var test = layout.GetNeighbours(new AxialCoords(14, -2)).ToList(); foreach (var voisin in new List() { new AxialCoords(13,-2), new AxialCoords(13,-1), new AxialCoords(14,-1), }) { Assert.Contains(voisin, test); } Assert.Equal(3, test.Count); } [Fact] public void CheckIndexToEnum() { IHexagonalGrid grid = new HexagonalGridImpl(); BoardLayout layout = new BoardLayout(grid); Assert.Equal(PiecePosition.tile144, layout.FromTileIndex(144)); } }