public void CheckAddingFetchingAndMovingAPiece(int[] dimensions, int[] location, int[] destination) { var gameBoard = new GameBoard2d(dimensions, 4); var piece = new GamePiece(-1, "Test", new NoMovementStrategy(), true); gameBoard.PlacePiece(piece, location); var resultingPieces = gameBoard.GetPiecesInLocation(location); Assert.IsNotNull(resultingPieces); Assert.AreEqual(1, resultingPieces.Count()); Assert.IsNotNull(resultingPieces.FirstOrDefault()); gameBoard.MovePiece(piece, destination); resultingPieces = gameBoard.GetPiecesInLocation(location); Assert.IsNotNull(resultingPieces); Assert.AreEqual(0, resultingPieces.Count()); resultingPieces = gameBoard.GetPiecesInLocation(destination); Assert.IsNotNull(resultingPieces); Assert.AreEqual(1, resultingPieces.Count()); Assert.IsNotNull(resultingPieces.FirstOrDefault()); }
public void CheckAddingAPiece(int[] dimensions, int[] location) { var gameBoard = new GameBoard2d(dimensions, 4); var piece = new GamePiece(-1, "Test", new NoMovementStrategy(), true); gameBoard.PlacePiece(piece, location); }
public void CannotRemovePieceThatIsNotAdded(int[] dimensions, int[] location) { var gameBoard = new GameBoard2d(dimensions, 4); var piece = new GamePiece(-1, "Test", new NoMovementStrategy(), true); Assert.ThrowsException <ArgumentException>(() => gameBoard.RemovePiece(piece)); }
public void CheckAddingAPieceOutsideTheBoardIsHandled(int[] dimensions, int[] location) { var gameBoard = new GameBoard2d(dimensions, 4); var piece = new GamePiece(-1, "Test", new NoMovementStrategy(), true); Assert.ThrowsException <ArgumentOutOfRangeException>(() => gameBoard.PlacePiece(piece, location)); }
public void CannotUseLocationWithWrongNumberOfDimensions(int[] location) { var sides = 4; var board = new GameBoard2d(new[] { 10, 10 }, sides); Assert.ThrowsException <ArgumentOutOfRangeException>(() => board.GetAdjacentLocations(location)); }
public void GetAdjacentLocations(int[] dimensions, int[] location, int expected) { var gameBoard = new GameBoard2d(dimensions, 4); var adjacentLocations = gameBoard.GetAdjacentLocations(location); Assert.AreEqual(expected, adjacentLocations.Count()); }
public void CannotAddSamePieceTwice(int[] dimensions, int[] location) { var gameBoard = new GameBoard2d(dimensions, 4); var piece = new GamePiece(-1, "Test", new NoMovementStrategy(), true); gameBoard.PlacePiece(piece, location); Assert.ThrowsException <ArgumentException>(() => gameBoard.PlacePiece(piece, location)); }
public void GetPiecesInLocation(int[] dimensions, int[] location) { var gameBoard = new GameBoard2d(dimensions, 4); var piece = new GamePiece(-1, "Test", new NoMovementStrategy(), true); gameBoard.PlacePiece(piece, location); var pieces = gameBoard.GetPiecesInLocation(location); Assert.AreSame(piece, pieces.FirstOrDefault()); }
public void GetPiecesLocation(int[] dimensions, int[] location) { var gameBoard = new GameBoard2d(dimensions, 4); var piece = new GamePiece(-1, "Test", new NoMovementStrategy(), true); gameBoard.PlacePiece(piece, location); var piecesLocation = gameBoard.GetPiecesLocation(piece); Assert.AreEqual(location[0], piecesLocation.ElementAt(0)); Assert.AreEqual(location[1], piecesLocation.ElementAt(1)); }
public void CanCreate2dGameBoardWithDifferentSidedTiles(int sides) { var boardSize = new int[] { 1, 1 }; var dimensions = 2; var gameBoard = new GameBoard2d(boardSize, sides); Assert.AreEqual(dimensions, gameBoard.NoOfDimensions); Assert.AreEqual(sides, gameBoard.Sides); for (var i = 0; i < gameBoard.NoOfDimensions; i++) { Assert.AreEqual(boardSize[i], gameBoard.Dimensions.ElementAt(i)); } }
public void CheckMultipleAddingAndFetching3SidedPiece(int[] dimensions, int[] location, int noOfPieces) { var gameBoard = new GameBoard2d(dimensions, 3); var pieces = new List <IGamePiece>(); for (var i = 0; i < noOfPieces; i++) { var piece = new GamePiece(-1, "Test", new NoMovementStrategy(), true); gameBoard.PlacePiece(piece, location); } var resultingPieces = gameBoard.GetPiecesInLocation(location); Assert.IsNotNull(resultingPieces); Assert.AreEqual(noOfPieces, resultingPieces.Count()); }
public void GetAdjacentPieces(int[] dimensions, int[] location, int expected) { var gameBoard = new GameBoard2d(dimensions, 4); int x, y; x = dimensions[0]; y = dimensions[1]; for (var i = 0; i < x; i++) { for (var j = 0; j < y; j++) { gameBoard.PlacePiece(new GamePiece(-1, "Test", new NoMovementStrategy(), true), new[] { i, j }); } } var piece = gameBoard.GetPiecesInLocation(location).FirstOrDefault(); var adjacentLocations = gameBoard.GetAdjacentPieces(piece); Assert.AreEqual(expected, adjacentLocations.Count()); }
public void TestGame() { var gameboard = new GameBoard2d(new[] { 10, 10 }, 4); }
public void CheckNoOfTiles(int[] dimensions, int noOfTiles) { var gameBoard = new GameBoard2d(dimensions, 4); Assert.AreEqual(noOfTiles, gameBoard.GetLocationCount()); }