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); }
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); }