示例#1
0
 private IEnumerable <ExFatEntryInformation> GetEntries(ExFatEntryInformation entryInformation, int depth)
 {
     if (depth == 0 || !entryInformation.Attributes.HasAny(FileAttributes.Directory))
     {
         return(_noEntry);
     }
     return(_filesystem.EnumerateEntries(entryInformation.Path).SelectMany(e => new[] { e }.Concat(GetEntries(e, depth - 1))));
 }
 public void ReadSubFolderFilesTest()
 {
     using (var testEnvironment = StreamTestEnvironment.FromExistingVhdx())
         using (var filesystem = new ExFatPathFilesystem(testEnvironment.PartitionStream))
         {
             var entries = filesystem.EnumerateEntries(DiskContent.LongFolderFileName).ToArray();
             Assert.AreEqual(DiskContent.LongFolderEntriesCount, entries.Length);
         }
 }
 public void DeleteTree()
 {
     using (var testEnvironment = StreamTestEnvironment.FromExistingVhdx(true))
     {
         using (var filesystem = new ExFatPathFilesystem(testEnvironment.PartitionStream))
         {
             filesystem.DeleteTree(DiskContent.LongFolderFileName);
             Assert.IsFalse(filesystem.EnumerateEntries("")
                            .Any(e => e.Path == $@"\{DiskContent.LongFolderFileName}"));
         }
     }
 }
 public void ReadRootFolderEntriesTest()
 {
     using (var testEnvironment = StreamTestEnvironment.FromExistingVhdx())
         using (var filesystem = new ExFatPathFilesystem(testEnvironment.PartitionStream))
         {
             var entries = filesystem.EnumerateEntries(@"\").ToArray();
             Assert.IsTrue(entries.Any(e => e.Path == DiskContent.LongContiguousFileName));
             Assert.IsTrue(entries.Any(e => e.Path == DiskContent.LongSparseFile1Name));
             Assert.IsTrue(entries.Any(e => e.Path == DiskContent.EmptyRootFolderFileName));
             Assert.IsTrue(entries.Any(e => e.Path == DiskContent.LongFolderFileName));
         }
 }