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());
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
    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);
        }
Beispiel #5
0
        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);
            }
        }
Beispiel #7
0
        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);
      }
    }
        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);
            }
        }
    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);
      }
    }