private void Directory_Compress_And_Decompress(bool isNetwork, bool recursive) { UnitTestConstants.PrintUnitTestHeader(isNetwork); var tempPath = System.IO.Path.GetTempPath(); if (isNetwork) { tempPath = Alphaleonis.Win32.Filesystem.Path.LocalToUnc(tempPath); } using (var rootDir = new TemporaryDirectory(tempPath, MethodBase.GetCurrentMethod().Name)) { var folderRoot = rootDir.RandomDirectoryFullPath; Console.WriteLine("\nInput Directory Path: [{0}]", folderRoot); var folderAaa = System.IO.Path.Combine(folderRoot, "folder-aaa"); var folderBbb = System.IO.Path.Combine(folderRoot, "folder-bbb"); var folderCcc = System.IO.Path.Combine(folderBbb, "folder-ccc"); System.IO.Directory.CreateDirectory(folderAaa); System.IO.Directory.CreateDirectory(folderBbb); System.IO.Directory.CreateDirectory(folderCcc); var fileAaa = System.IO.Path.Combine(folderAaa, "file-aaa.txt"); var fileBbb = System.IO.Path.Combine(folderAaa, "file-bbb.txt"); var fileCcc = System.IO.Path.Combine(folderRoot, "file-ccc.txt"); var fileDdd = System.IO.Path.Combine(folderRoot, "file-ddd.txt"); using (System.IO.File.CreateText(fileAaa)) { } using (System.IO.File.CreateText(fileBbb)) { } using (System.IO.File.CreateText(fileCcc)) { } using (System.IO.File.CreateText(fileDdd)) { } Alphaleonis.Win32.Filesystem.Directory.Compress(folderRoot, recursive ? Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions.Recursive : Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions.None); DirectoryAssert.IsCompressed(folderRoot); DirectoryAssert.IsCompressed(folderAaa); DirectoryAssert.IsCompressed(folderBbb); FileAssert.IsCompressed(fileCcc); FileAssert.IsCompressed(fileDdd); if (recursive) { DirectoryAssert.IsCompressed(folderCcc); FileAssert.IsCompressed(fileAaa); FileAssert.IsCompressed(fileBbb); } else { DirectoryAssert.IsNotCompressed(folderCcc); FileAssert.IsNotCompressed(fileAaa); FileAssert.IsNotCompressed(fileBbb); } Alphaleonis.Win32.Filesystem.Directory.Decompress(folderRoot, recursive ? Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions.Recursive : Alphaleonis.Win32.Filesystem.DirectoryEnumerationOptions.None); if (recursive) { DirectoryAssert.IsNotCompressed(folderCcc); FileAssert.IsNotCompressed(fileAaa); FileAssert.IsNotCompressed(fileBbb); } else { DirectoryAssert.IsNotCompressed(folderCcc); FileAssert.IsNotCompressed(fileAaa); FileAssert.IsNotCompressed(fileBbb); } } Console.WriteLine(); }