Ejemplo n.º 1
0
        public void DefragementArchiveTest()
        {
            var ppx = TestCommon.GeneratePPX();

            ExtendedArchiveAppender appender = new ExtendedArchiveAppender(ppx);

            AssertCRC(ppx);

            Assert.IsFalse(appender.WastedSpaceExists);

            appender.Defragment();

            var file3 = appender.BaseArchive.RawFiles.Find(x => x.Name == "test00");

            appender.FilesToRemove.Add(file3);

            appender.Write();

            Assert.IsTrue(appender.WastedSpaceExists);

            AssertCRC(appender.BaseArchive);

            appender.Defragment();

            Assert.IsFalse(appender.WastedSpaceExists);

            AssertCRC(appender.BaseArchive);

            TestCommon.TeardownPPX(ppx);
        }
Ejemplo n.º 2
0
        public void AppendMetadataTest()
        {
            var ppx = TestCommon.GeneratePPX();

            ExtendedArchiveAppender appender = new ExtendedArchiveAppender(ppx);

            appender.Name = "test-appended";

            var file1 = new Subfile(
                new MemorySource(TestData),
                "test3-2",
                "t",
                ArchiveFileType.Raw);

            var file2 = new Subfile(
                new MemorySource(Encoding.UTF8.GetBytes("short data")),
                "test4-2",
                "t",
                ArchiveFileType.Raw);

            var file3 = appender.BaseArchive.RawFiles.Find(x => x.Name == "test00");

            appender.FilesToAdd.Add(file1);
            appender.FilesToAdd.Add(file2);

            appender.FilesToRemove.Add(file3);

            appender.Write();


            ppx = new ExtendedArchive(ppx.Filename);

            Assert.AreEqual("test-appended", ppx.Title);

            Assert.AreEqual(33, ppx.Files.Count);

            Assert.IsTrue(ppx.Files.Any(x => x.Name == file1.Name));
            Assert.IsTrue(ppx.Files.Any(x => x.Name == file2.Name));

            Assert.IsFalse(ppx.Files.Any(x => x.Name == file3.Name));

            AssertCRC(ppx);

            TestCommon.TeardownPPX(ppx);
        }