public void Requesting_Folders_With_Search_Pattern_Should_Return_Matches_Only() { var results = testFolder.GetFolders("dir_foo*").Select(f => f.MetaData); CheckResults(results, "dir_foo", "dir_foobar"); results = testFolder.GetFolders("*_*").Select(f => f.MetaData); Assert.AreEqual(4, results.Count()); }
public void Folders_Should_Indicate_Whether_They_Are_Empty_Or_Not() { VirtualFolder r = VirtualFolder.CreateRootFolder(provider); var folders = r.GetFolders(); var files = r.GetFiles(); bool testedEmpty = false; bool testedPopulated = false; folders.Do(f => { bool empty = f.GetFiles().Count() == 0 && f.GetFolders().Count() == 0; if (empty) { testedEmpty = true; } else { testedPopulated = true; } Assert.AreEqual(empty, f.MetaData.IsEmpty); files.First().Copy(provider.CreateFilePath(f.MetaData.FullName, "test.txt")); f.RefreshMetaData(); Assert.IsFalse(f.MetaData.IsEmpty); }); Assert.IsTrue(testedEmpty); Assert.IsTrue(testedPopulated); }
public void Deleting_A_Folder_Should_Remove_It_From_File_System() { DirectoryInfo dir = rootDirectory.GetDirectories().First(); Assert.True(dir.Exists); VirtualFolder folder = root.GetFolders(dir.Name).Single(); folder.Delete(); dir.Refresh(); Assert.False(dir.Exists); }
public void Getting_Parent_Should_Return_Expected_Folder() { var childFolder = root.GetFolders().First(); var parent = childFolder.GetParentFolder(); Assert.True(parent.MetaData.IsRootFolder); var file = parent.GetFiles().First(); var parent2 = file.GetParentFolder(); Assert.AreEqual(parent.MetaData.FullName, parent2.MetaData.FullName); }
public void Querying_SubFolders_Should_Return_Contents() { var subFolders = testFolder.GetFolders() .OrderBy(f => f.MetaData.Name) .ToList(); Assert.AreEqual(3, subFolders.Count); Assert.AreEqual("a", subFolders[0].MetaData.Name); Assert.AreEqual("b", subFolders[1].MetaData.Name); Assert.AreEqual("c", subFolders[2].MetaData.Name); subFolders.Do(vf => Assert.AreEqual(testFolder.MetaData.FullName, vf.MetaData.ParentFolderPath)); }
private static void TraverseFolders(VirtualFolder clientFolder, VirtualFolder serviceFolder, TraverseAction assertAction) { assertAction(clientFolder, serviceFolder); //get child folders var cFolders = clientFolder.GetFolders().ToArray(); var sFolders = serviceFolder.GetFolders().ToArray(); Assert.AreEqual(sFolders.Count(), cFolders.Count()); for (int i = 0; i < sFolders.Length; i++) { TraverseFolders(cFolders[i], sFolders[i], assertAction); } }
public void Copy_Should_Equal_Source() { VirtualFolder root = VirtualFolder.CreateRootFolder(Provider); var movedFolder = root.GetFolders().First().GetFolders().First(); foreach (var subFolder in movedFolder.GetFolders()) { Console.Out.WriteLine("subFolder.MetaData.FullName = {0}", subFolder.MetaData.FullName); } foreach (var virtualFile in movedFolder.GetFiles().ToArray()) { Console.Out.WriteLine("File: " + virtualFile.MetaData.Name + ", " + virtualFile.MetaData.FullName); virtualFile.Copy(virtualFile.MetaData.FullName + ".copy"); } }
public void Moving_Into_New_Folder_Should_Adjust_File() { VirtualFolder root = VirtualFolder.CreateRootFolder(Provider); var movedFolder = root.GetFolders().First(); foreach (var virtualFile in movedFolder.GetFiles()) { Console.Out.WriteLine("File: " + virtualFile.MetaData.Name + ", " + virtualFile.MetaData.FullName); } var testFolder = root.AddFolder("Test"); string targetPath = Provider.CreateFolderPath("/", "Nested"); movedFolder.Move(targetPath); Console.Out.WriteLine("movedFolder = {0}", movedFolder.MetaData.FullName); foreach (var virtualFile in movedFolder.GetFiles()) { Console.Out.WriteLine("File: " + virtualFile.MetaData.Name + ", " + virtualFile.MetaData.FullName); } }
private void BrowseFolder(VirtualFolder parentFolder, DirectoryInfo parentDir) { var contents = parentFolder.GetFolderContents(); var folders = parentFolder.GetFolders(); var files = parentFolder.GetFiles(); Assert.AreEqual(contents.Folders.Count(), folders.Count()); Assert.AreEqual(contents.Files.Count(), files.Count()); Assert.AreEqual(parentDir.GetDirectories().Count(), contents.Folders.Count()); Assert.AreEqual(parentDir.GetFiles().Count(), contents.Files.Count()); foreach (var file in files) { //make sure contents matches the files collection VirtualFile virtualFile = file; Assert.AreEqual(contents.Files.Single(f => f.MetaData.FullName == virtualFile.MetaData.FullName).MetaData.Length, file.MetaData.Length); FileInfo fi = parentDir.GetFiles(file.MetaData.Name).Single(); Assert.AreEqual(file.MetaData.Length, fi.Length); } foreach (var folder in contents.Folders) { //make sure contents matches the folders collection VirtualFolder virtualFolder = folder; Assert.AreEqual(contents.Folders.Single(f => f.MetaData.FullName == virtualFolder.MetaData.FullName).MetaData.Name, folder.MetaData.Name); DirectoryInfo dir = parentDir.GetDirectories(folder.MetaData.Name).Single(); Assert.True(dir.Exists); //browse recursively BrowseFolder(folder, dir); } }