Exemple #1
0
        public void Verify_FirstEntry_IsHeader()
        {
            var reader = new LocateDBEnumerator(testStream1, true);

            var entries = reader.EnumerateEntries();

            var firstEntry = entries.First();

            Assert.That(firstEntry, Is.TypeOf <DBHeader>());
        }
Exemple #2
0
        public void Verify_DirectoryEntries_ShouldNotContainDoubleBackSlashes()
        {
            var reader = new LocateDBEnumerator(testStream1, true);

            var entries = reader.EnumerateEntries().Skip(1);

            foreach (var entry in entries.Select(e => e as DBDirectoryEntry).Where(e => e != null))
            {
                Assert.That(entry.FullName, Does.Not.Contain("\\\\"));
            }
        }
Exemple #3
0
        public void Verify_SecondEntry_IsValidRootDirectory()
        {
            var reader = new LocateDBEnumerator(testStream1, true);

            var entries = reader.EnumerateEntries();

            var secondEntry = entries.Skip(1).First();

            Assert.That(secondEntry, Is.TypeOf <DBRootDirectoryEntry>());
            Assert.That(secondEntry is DBRootDirectoryEntry, Is.True);
            Assert.That(((DBRootDirectoryEntry)secondEntry).DataLength, Is.EqualTo(986));
            Assert.That(((DBRootDirectoryEntry)secondEntry).RootType, Is.EqualTo(DBRootType.Removable));
            Assert.That(((DBRootDirectoryEntry)secondEntry).VolumeName, Is.EqualTo("LOCATE32_NTFS"));
            Assert.That(((DBRootDirectoryEntry)secondEntry).VolumeSerial, Is.EqualTo(3838827262));
            Assert.That(((DBRootDirectoryEntry)secondEntry).FileSystem, Is.EqualTo("NTFS"));
            Assert.That(((DBRootDirectoryEntry)secondEntry).NumberOfFiles, Is.EqualTo(10));
            Assert.That(((DBRootDirectoryEntry)secondEntry).NumberOfDirectories, Is.EqualTo(7));
        }
Exemple #4
0
        public void Verify_ExcludedFolder_ProperlyExcludesSelfAndChildren()
        {
            var reader = new LocateDBEnumerator(testStream1);

            var entries = reader.EnumerateEntries(new ExcludeRootFolder1AndChildrenFilter());

            foreach (var entry in entries)
            {
                if (entry is DBFileEntry fileEntry)
                {
                    Assert.That(fileEntry.FullName, Does.Not.StartsWith(@"I:\RootFolder1"));
                }
                else if (entry is DBDirectoryEntry dirEntry)
                {
                    Assert.That(dirEntry.FullName, Does.Not.EqualTo(@"I:\RootFolder1"));
                }
            }
        }
Exemple #5
0
        public void Verify_Header_IsValid()
        {
            var reader = new LocateDBEnumerator(testStream1, true);

            var entries = reader.EnumerateEntries();

            var header = entries.First() as DBHeader;

            Assert.That(header, Is.Not.Null);
            Assert.That(header.Creator, Is.EqualTo("Creator goes here"));
            Assert.That(header.Description, Is.EqualTo("Description goes here"));
            Assert.That(header.Marker, Is.EqualTo("LOCATEDB"));
            Assert.That(header.Version, Is.EqualTo("20"));
            Assert.That(header.Flags.HasFlag(DBArchiveAttributes.LongFileName), Is.True);
            Assert.That(header.Flags.HasFlag(DBArchiveAttributes.UnicodeCharset), Is.True);
            Assert.That(header.Flags.HasFlag(DBArchiveAttributes.AnsiCharset), Is.False);
            Assert.That(header.NumberOfFiles, Is.EqualTo(10));
            Assert.That(header.NumberOfDirectories, Is.EqualTo(7));
            Assert.That(header.CreationTime, Is.EqualTo(new DBFileTime(2020, 4, 15, 13, 45, 12)));
            Assert.That(header.RemainingExtraBytes, Is.EqualTo(336));
        }