public void TestVerifyInvalidFileHeader()
 {
     var fileHeader = new AnnoRDA.FileEntities.FileHeader() {
         Path = "path/to/file.txt",
         DataOffset = 11111111,
         CompressedFileSize = 1234,
         UncompressedFileSize = 36960,
         ModificationTimestamp = 1448398881,
     };
     var exception = Assert.Throws<AnnoRDA.FileFormatException>(() => {
         this.verifier.VerifyFileHeader(fileHeader, false, 42);
     });
     Assert.Equal(new AnnoRDA.FileFormatException(AnnoRDA.FileFormatException.EntityType.FileHeader, AnnoRDA.FileFormatException.Error.InvalidValue, 42, "The compressed file size should match the uncompressed size when compression is disabled."), exception);
 }
Пример #2
0
        public void TestReadFileHeader()
        {
            AnnoRDA.FileEntities.FileHeader actual;
            using (var reader = new ContainerFileLoaderStructureReader(TestData.GetReader("FileHeaders/2.2_file_header.bin"), false)) {
                actual = reader.ReadFileHeader();
            }
            var expected = new AnnoRDA.FileEntities.FileHeader()
            {
                Path                  = "path/to/file.txt",
                DataOffset            = 11111111,
                CompressedFileSize    = 36960,
                UncompressedFileSize  = 36960,
                ModificationTimestamp = 1448398881,
            };

            Assert.Equal(expected, actual);
        }
Пример #3
0
        public void TestOverwriteFileInFileSystem()
        {
            var folderPath = new AnnoRDA.Folder("path");
            {
                var folderTo = new AnnoRDA.Folder("to");
                {
                    folderTo.Add(new AnnoRDA.File("file.txt")
                    {
                        ModificationDate = new DateTime(),
                    });
                }
                folderPath.Add(folderTo);
            }

            var file = new AnnoRDA.FileEntities.FileHeader()
            {
                Path                  = "path/to/file.txt",
                DataOffset            = 11111111,
                CompressedFileSize    = 36960,
                UncompressedFileSize  = 36960,
                ModificationTimestamp = 1448398881,
            };

            var loader = new ContainerFileLoader();

            AnnoRDA.FileSystem fileSystem;
            using (var context = new ContainerFileLoader.Context("dummy.rda", TestData.GetStream(), false, new PassThroughFileHeaderTransformer())) {
                fileSystem = context.FileSystem;
                fileSystem.Root.Add(folderPath);
                loader.AddFileToFileSystem(context, file, TestData.GetDummyBlockContentsSource());
            }

            Assert.FolderAndFileCountAreEqual(1, 0, fileSystem.Root);
            Assert.FolderAndFileCountAreEqual(1, 0, fileSystem.Root.Folders.First());
            Assert.FolderAndFileCountAreEqual(0, 1, fileSystem.Root.Folders.First().Folders.First());
            Assert.ContainsFile(fileSystem, new Assert.FileSpec("path", "to", "file.txt")
            {
                CompressedFileSize    = 36960,
                UncompressedFileSize  = 36960,
                ModificationTimestamp = 1448398881,
            });
        }
        public void TestVerifyValidFileHeader()
        {
            var fileHeader = new AnnoRDA.FileEntities.FileHeader() {
                Path = "path/to/file.txt",
                DataOffset = 11111111,
                CompressedFileSize = 36960,
                UncompressedFileSize = 36960,
                ModificationTimestamp = 1448398881,
            };
            this.verifier.VerifyFileHeader(fileHeader, false, 42);

            var fileHeaderWithCompression = new AnnoRDA.FileEntities.FileHeader() {
                Path = "path/to/file.txt",
                DataOffset = 11111111,
                CompressedFileSize = 1234,
                UncompressedFileSize = 36960,
                ModificationTimestamp = 1448398881,
            };
            this.verifier.VerifyFileHeader(fileHeaderWithCompression, true, 42);
        }
Пример #5
0
        public void TestAddFileToEmptyFileSystem()
        {
            var file = new AnnoRDA.FileEntities.FileHeader()
            {
                Path                  = "path/to/file.txt",
                DataOffset            = 11111111,
                CompressedFileSize    = 36960,
                UncompressedFileSize  = 36960,
                ModificationTimestamp = 1448398881,
            };

            var loader = new ContainerFileLoader();

            AnnoRDA.FileSystem fileSystem;
            using (var context = new ContainerFileLoader.Context("dummy.rda", TestData.GetStream(), false, new PassThroughFileHeaderTransformer())) {
                loader.AddFileToFileSystem(context, file, TestData.GetDummyBlockContentsSource());
                fileSystem = context.FileSystem;
            }

            Assert.FolderAndFileCountAreEqual(1, 0, fileSystem);
            Assert.ContainsFile(fileSystem, new Assert.FileSpec("path", "to", "file.txt"));
        }