public void PrintArchiveProgress(object source, ArchiveProgressEventArgs e) { switch (e.ProgressType) { case ArchiveProgressType.StartFile: { Console.WriteLine("StartFile: {0}", e.CurrentFileName); } break; case ArchiveProgressType.FinishFile: { Console.WriteLine("FinishFile: {0}", e.CurrentFileName); } break; case ArchiveProgressType.StartArchive: { Console.WriteLine("StartArchive: {0} : {1}", e.CurrentArchiveNumber, e.CurrentArchiveName); } break; case ArchiveProgressType.FinishArchive: { Console.WriteLine("FinishArchive: {0} : {1}", e.CurrentArchiveNumber, e.CurrentArchiveName); } break; } File.AppendAllText(this.progressTextFile, e.ToString().Replace("\n", Environment.NewLine)); if (CompressionTestUtil.expectedProgress != null && e.ProgressType != ArchiveProgressType.PartialFile && e.ProgressType != ArchiveProgressType.PartialArchive) { Assert.AreNotEqual<int>(0, CompressionTestUtil.expectedProgress.Count); int[] expected = CompressionTestUtil.expectedProgress[0]; CompressionTestUtil.expectedProgress.RemoveAt(0); Assert.AreEqual<ArchiveProgressType>((ArchiveProgressType) expected[0], e.ProgressType, "Checking ProgressType."); Assert.AreEqual<int>(expected[1], e.CurrentFileNumber, "Checking CurrentFileNumber."); Assert.AreEqual<int>(expected[2], e.TotalFiles, "Checking TotalFiles."); Assert.AreEqual<int>(expected[4], e.CurrentArchiveNumber, "Checking CurrentArchiveNumber."); Assert.AreEqual<int>(expected[5], e.TotalArchives, "Checking TotalArchives."); } }