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));
        }
Exemplo n.º 5
0
        public void CannotUseLocationWithWrongNumberOfDimensions(int[] location)
        {
            var sides = 4;

            var board = new GameBoard2d(new[] { 10, 10 }, sides);

            Assert.ThrowsException <ArgumentOutOfRangeException>(() => board.GetAdjacentLocations(location));
        }
Exemplo n.º 6
0
        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));
        }
Exemplo n.º 10
0
        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());
        }
Exemplo n.º 13
0
 public void TestGame()
 {
     var gameboard = new GameBoard2d(new[] { 10, 10 }, 4);
 }
Exemplo n.º 14
0
        public void CheckNoOfTiles(int[] dimensions, int noOfTiles)
        {
            var gameBoard = new GameBoard2d(dimensions, 4);

            Assert.AreEqual(noOfTiles, gameBoard.GetLocationCount());
        }