public void CloneArchiveTest() { PboArchive pboArchive = new PboArchive("testdata/cba_common.pbo"); Dictionary <FileEntry, string> files = new Dictionary <FileEntry, string>(); foreach (FileEntry entry in pboArchive.Files) { FileInfo info = new FileInfo(Path.Combine("testdata\\cba_common", entry.FileName)); Assert.That(info.Exists); files.Add(entry, info.FullName); } PboArchive.Clone("clone_common.pbo", pboArchive.ProductEntry, files, pboArchive.Checksum); PboArchive cloneArchive = new PboArchive("clone_common.pbo"); Assert.That(pboArchive.Checksum.SequenceEqual(cloneArchive.Checksum), "Checksum dosen't match"); Assert.That(pboArchive.Files.Count == cloneArchive.Files.Count, "Checksum dosen't match"); Assert.That(pboArchive.ProductEntry.Name == cloneArchive.ProductEntry.Name); Assert.That(pboArchive.ProductEntry.Prefix == cloneArchive.ProductEntry.Prefix); Assert.That(pboArchive.ProductEntry.Addtional.Count == cloneArchive.ProductEntry.Addtional.Count); }