/// <summary>
        /// Creates a NuGet package with .nupkg extension and with a PNG image named "icon.png"
        /// </summary>
        /// <param name="path">Path to NuGet package</param>
        /// <param name="iconName">Icon filename with .png extension</param>
        private static void CreateDummyPackage(
            string zipPath,
            string iconName = "icon.png",
            string iconFile = "icon.png",
            string iconFileSourceElement = "icon.png",
            string iconFileTargetElement = "",
            bool isRealImage             = true)
        {
            var dir        = Path.GetDirectoryName(zipPath);
            var holdDir    = "pkg";
            var folderPath = Path.Combine(dir, holdDir);

            // base dir
            Directory.CreateDirectory(folderPath);

            // create nuspec
            var nuspec = NuspecBuilder.Create()
                         .WithIcon(iconName)
                         .WithFile(iconFileSourceElement, iconFileTargetElement);

            // create png image
            var iconPath = Path.Combine(folderPath, iconFile);
            var iconDir  = Path.GetDirectoryName(iconPath);

            Directory.CreateDirectory(iconDir);

            if (isRealImage)
            {
                CreateNoisePngImage(iconPath);
            }
            else
            {
                File.WriteAllText(iconPath, "I am an image");
            }

            // Create nuget package
            using (var nuspecStream = new MemoryStream())
                using (FileStream nupkgStream = File.Create(zipPath))
                    using (var writer = new StreamWriter(nuspecStream))
                    {
                        nuspec.Write(writer);
                        writer.Flush();
                        nuspecStream.Position = 0;
                        var pkgBuilder = new PackageBuilder(stream: nuspecStream, basePath: folderPath);
                        pkgBuilder.Save(nupkgStream);
                    }
        }