public void DoubleStarWithFilePattern() { var files = DataFactory.CreateFiles("C:/file0.log", "C:/root/file1.log", "C:/root/a/file2.log", "C:/root/a/b/file3.txt", "C:/root/a/b/file4.log", "C:/root/a/b/c/file5.log", "C:/root/a/b/c/file6.txt", "C:/root/a/d/file7.log").ToList(); var mock = FileSystemMock.Create(); files.ForEach(mock.BaseFileSystemHelper.AddFile); const string pattern = "C:/root/**/*.log"; var fileSystemHelper = new FileSystemHelper(mock.Object); var actual = fileSystemHelper.FindFilesWildcard(pattern); var expected = new List<string> { //"C:/file0.log", "C:/root/file1.log", "C:/root/a/file2.log", //"C:/root/a/b/file3.txt", "C:/root/a/b/file4.log", "C:/root/a/b/c/file5.log", //"C:/root/a/b/c/file6.txt", "C:/root/a/d/file7.log", }.OrderBy(new PathSorter()).ToList(); CollectionAssert.AreEqual(expected, actual); }
public void Archive() { const string archiveFileName = "archive.zip"; const string archiveRootFolder = "C:/io_testing"; const string archiveOutputPath = archiveRootFolder + "/" + archiveFileName; const string archiveFolder = archiveRootFolder + "/files"; const string fileName1 = archiveFolder + "/file1.txt"; const string fileName2 = archiveFolder + "/file2.txt"; const string fileName3 = archiveFolder + "/subfolder/file3.txt"; var files = DataFactory.CreateFiles(fileName1, fileName2, fileName3).ToList(); var fileSystem = new FileSystem(); var directoryManager = new FileSystemHelper(fileSystem); if (fileSystem.DirExists(archiveRootFolder)) fileSystem.DeleteDir(archiveRootFolder, true); files.ForEach(directoryManager.AddFile); var sut = new ZipFileCompressorMock(fileSystem); sut.CreateFromDirectory(archiveFolder, archiveOutputPath); Assert.IsTrue(fileSystem.FileExists(archiveOutputPath)); var file = directoryManager.GetFile(archiveOutputPath); Assert.AreEqual(archiveFileName, file.Name); Assert.AreEqual(archiveOutputPath, file.Path); //Assert.IsInstanceOfType(file, typeof(ZipFileMock)); //var zipFile = (ZipFileMock)file; //Assert.AreEqual(files.Count, zipFile.FileCount); }
public void GetStructure_WindowsUsersFolder() { const string dirPath = "C:/Users"; var fileSystem = new FileSystem(); var sut = new FileSystemHelper(fileSystem); var structure = sut.GetStructure(dirPath); Assert.IsNotNull(structure); Assert.AreEqual(1, structure.Count); Assert.IsTrue(structure.ContainsKey(dirPath)); }
public void ArchiveAndUnarchive() { const string archiveFileName = "archive.zip"; const string archiveRootFolder = "C:/io_testing"; const string archiveOutputPath = archiveRootFolder + "/" + archiveFileName; const string archiveFolder = archiveRootFolder + "/files"; const string fileName1 = archiveFolder + "/file1.txt"; const string fileName2 = archiveFolder + "/file2.txt"; const string fileName3 = archiveFolder + "/subfolder/file3.txt"; var files = DataFactory.CreateFiles(fileName1, fileName2, fileName3).ToList(); var fileSystem = new FileSystem(); var directoryManager = new FileSystemHelper(fileSystem); if (fileSystem.DirExists(archiveRootFolder)) fileSystem.DeleteDir(archiveRootFolder, true); files.ForEach(directoryManager.AddFile); var sut = new ZipFileCompressorMock(fileSystem); var zipFile = sut.CreateFromDirectory(archiveFolder, archiveOutputPath); Assert.IsTrue(fileSystem.FileExists(archiveOutputPath)); //var file = directoryManager.GetFile(archiveOutputPath); //Assert.AreEqual(archiveFileName, file.Name); //Assert.AreEqual(archiveOutputPath, file.Path); //Assert.IsInstanceOfType(file, typeof(ZipFileMock)); //var zipFile = (ZipFileMock)file; Assert.AreEqual(files.Count, zipFile.FileCount); const string unarchiveOutputFolder = archiveRootFolder + "/output"; var i = 0; //var extractedFiles = ZipFileMock.Unarchive(file.Bytes, unarchiveOutputFolder); var extractedFiles = sut.ExtractToDirectory(archiveOutputPath, unarchiveOutputFolder); foreach (var extractedFile in extractedFiles) { var f = files[i++]; var relativePath = PathHelper.Subtract(f.Path, archiveFolder); var expectedPath = PathHelper.Combine(unarchiveOutputFolder, relativePath); Assert.AreEqual(expectedPath, extractedFile.Path); Assert.AreEqual(f.Name, extractedFile.Name); Assert.AreEqual(f.Content, extractedFile.Content); } }
public ZipFileCompressorMock(IFileSystem fileSystem) { _fileSystem = fileSystem; _fileSystemHelper = new FileSystemHelper(_fileSystem); }
public void CopyDir() { const string sourceDirName = "C:/root/a"; const string targetDirName = "C:/root/x"; const bool overwrite = true; var files = DataFactory.CreateFiles("C:/file0.log", "C:/root/file1.log", "C:/root/a/file2.log", "C:/root/a/b/file3.txt", "C:/root/a/b/file4.log", "C:/root/a/b/c/file5.log", "C:/root/a/b/c/file6.txt", "C:/root/a/b/c/assembly.dll", "C:/root/a/d/file7.log").ToList(); var mock = FileSystemMock.Create(); files.ForEach(mock.BaseFileSystemHelper.AddFile); var fileSystemHelper = new FileSystemHelper(mock.Object); fileSystemHelper.CopyDir(sourceDirName, targetDirName, overwrite); var actual = fileSystemHelper.FindFilesWildcard("C:/**"); var expected = new List<string> { "C:/file0.log", "C:/root/file1.log", "C:/root/a/file2.log", "C:/root/a/b/file3.txt", "C:/root/a/b/file4.log", "C:/root/a/b/c/file5.log", "C:/root/a/b/c/file6.txt", "C:/root/a/b/c/assembly.dll", "C:/root/a/d/file7.log", "C:/root/x/file2.log", "C:/root/x/b/file3.txt", "C:/root/x/b/file4.log", "C:/root/x/b/c/file5.log", "C:/root/x/b/c/file6.txt", "C:/root/x/b/c/assembly.dll", "C:/root/x/d/file7.log", }.OrderBy(new PathSorter()).ToList(); Assert.AreEqual(expected.Count, actual.Count); CollectionAssert.AreEqual(expected, actual); }