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 CheckAddingFetchingAndRemovingAPiece(int[] dimensions, int[] location)
        {
            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.RemovePiece(piece);

            resultingPieces = gameBoard.GetPiecesInLocation(location);

            Assert.IsNotNull(resultingPieces);

            Assert.AreEqual(0, resultingPieces.Count());
        }