public void AddFileToZipArchiveAndUnzip() { // arrange MyZipArchive zipArchive = Factory.CreateZipArchive(Path.Combine (Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), Path.GetFileNameWithoutExtension(Path.GetRandomFileName()) + ".zip")); MyFile file = Factory.CreateFile(Path.Combine (Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), Path.GetRandomFileName())); MyFolder tempFolder = Factory.GetSpecialFolder(Environment.SpecialFolder.ApplicationData); // act file.FileAppendAllText("content1"); file.MoveToDirectory(zipArchive); //перемещаем файл в архив if (file.Exists) { Assert.Fail("File " + file.FullPath + "is moved, but Exists is true!"); } var files = zipArchive.DirectoryGetFiles; if (files.Count != 1) { Assert.Fail("Archive contains " + files.Count + " files, expected 1!"); } files[0].CopyToDirectory(tempFolder); //копируем файл из архива на прежнее место if (!file.Exists) { Assert.Fail("File " + file.FullPath + "is unzipped, but Exists is false!"); } string fileContent = file.FileReadAllLines()[0]; // удаляем все файлы zipArchive.Delete(); file.Delete(); // assert Assert.AreEqual("content1", fileContent); }