Parameters for working with archives, common for both of the methods (create and download)
Inheritance: BaseParams
        public void TestCreateArchiveMultiplePublicIds()
        {
            // should support archiving based on multiple public IDs
            string archiveTag = string.Format("archive_tag_{0}", UnixTimeNow());
            string targetPublicId = string.Format("archive_id_{0}", UnixTimeNow());

            UploadImageForTestArchive(archiveTag, 2.0, true);

            ArchiveParams parameters = new ArchiveParams().Tags(new List<string> { archiveTag, "sadf" }).TargetPublicId(targetPublicId);
            ArchiveResult result = m_cloudinary.CreateArchive(parameters);
            Assert.AreEqual(string.Format("{0}.zip", targetPublicId), result.PublicId);
            Assert.AreEqual(1, result.FileCount);
        }
        public void TestDownloadArchive()
        {
            string archiveTag = string.Format("archive_tag_{0}", UnixTimeNow());
            string targetPublicId = string.Format("archive_id_{0}", UnixTimeNow());

            UploadImageForTestArchive(archiveTag, 2.0, true);
            UploadImageForTestArchive(archiveTag, 500, false);

            var parameters = new ArchiveParams().Tags(new List<string> { archiveTag }).TargetPublicId(targetPublicId);
            string url = m_cloudinary.DownloadArchiveUrl(parameters);

            using (var client = new WebClient())
            {
                byte[] data = client.DownloadData(url);
                using (var s = new MemoryStream(data))
                {
                    ZipFile zip = ZipFile.Read(s);
                    var cnt = zip.Entries.Count;
                    Assert.AreEqual(2, cnt);
                }
            }
        }
        public void TestCreateArchive()
        {
            string archiveTag = string.Format("archive_tag_{0}", UnixTimeNow());
            string targetPublicId = string.Format("archive_id_{0}", UnixTimeNow());

            ImageUploadResult res = UploadImageForTestArchive(archiveTag, 2.0, true);

            ArchiveParams parameters = new ArchiveParams().Tags(new List<string> { archiveTag, "no_such_tag" }).TargetPublicId(targetPublicId);
            ArchiveResult result = m_cloudinary.CreateArchive(parameters);
            Assert.AreEqual(string.Format("{0}.zip", targetPublicId), result.PublicId);
            Assert.AreEqual(1, result.FileCount);

            ImageUploadResult res2 = UploadImageForTestArchive(archiveTag, 500, false);

            parameters = new ArchiveParams().PublicIds(new List<string> { res.PublicId, res2.PublicId })
                                            .Transformations(new List<Transformation> { new Transformation().Width("0.5"), new Transformation().Width(2) })
                                            .FlattenFolders(true)
                                            .UseOriginalFilename(true);
            result = m_cloudinary.CreateArchive(parameters);
            Assert.AreEqual(2, result.FileCount);
        }