public void BuildReturnsZipFilesWithFoldersAndFiles () { //complex //-file1 //-Directory1 //--file2 //--file3 //-Directory2 //--Directory3 ü //---file4 //---file5 //--file6 var file1 = new TempFile(); var file2 = new TempFile(); var file3 = new TempFile(); var file4 = new TempFile(); var file5 = new TempFile(); var file6 = new TempFile(); var bytes = new byte[8191]; for (int i = 0; i < 8191; i++) bytes[i] = (byte) i; file1.WriteAllBytes (bytes); file2.WriteAllBytes (bytes); file3.WriteAllBytes (bytes); file4.WriteAllBytes (bytes); file5.WriteAllBytes (bytes); file6.WriteAllBytes (bytes); var rootPath = Path.Combine (Path.GetTempPath(), Guid.NewGuid().ToString()); var directory1 = Directory.CreateDirectory (Path.Combine (rootPath, "Directory1")); var directory2 = Directory.CreateDirectory (Path.Combine (rootPath, "Directory2")); var directory3 = Directory.CreateDirectory (Path.Combine (directory2.FullName, "Directory3 ü")); File.Move (file1.FileName, Path.Combine (rootPath, Path.GetFileName (file1.FileName))); File.Move (file2.FileName, Path.Combine (directory1.FullName, Path.GetFileName (file2.FileName))); File.Move (file3.FileName, Path.Combine (directory1.FullName, Path.GetFileName (file3.FileName))); File.Move (file4.FileName, Path.Combine (directory3.FullName, Path.GetFileName (file4.FileName))); File.Move (file5.FileName, Path.Combine (directory3.FullName, Path.GetFileName (file5.FileName))); File.Move (file6.FileName, Path.Combine (directory2.FullName, Path.GetFileName (file6.FileName))); var zipFileName = Path.GetTempFileName(); var zipBuilder = new ZipFileBuilder(); zipBuilder.Progress += ((sender, e) => { }); zipBuilder.AddDirectory (new DirectoryInfoWrapper (new DirectoryInfo (rootPath))); using (zipBuilder.Build (zipFileName)) { } var expectedFiles = new List<string> { Path.GetFileName (file1.FileName), Path.GetFileName (file2.FileName), Path.GetFileName (file3.FileName), Path.GetFileName (file4.FileName), Path.GetFileName (file5.FileName), Path.GetFileName (file6.FileName) }; try { CheckUnzippedFiles (zipFileName, expectedFiles); } finally { Directory.Delete (rootPath, true); } }
public void BuildReturnsZipFileWithFolder () { var zipBuilder = new ZipFileBuilder(); zipBuilder.Progress += ((sender, e) => { }); zipBuilder.AddDirectory (new DirectoryInfoWrapper (new DirectoryInfo (_path))); var zipFileName = Path.GetTempFileName(); using (zipBuilder.Build (zipFileName)) { } var expectedFiles = new List<string> { Path.GetFileName (_file1.FileName), Path.GetFileName (_file2.FileName) }; CheckUnzippedFiles (zipFileName, expectedFiles); }