public void AddingValidPrecompressedEntryToZipOutputStream() { using var ms = new MemoryStream(); using (var outStream = new ZipOutputStream(ms) { IsStreamOwner = false }) { var(compressedData, crc, size) = CreateDeflatedData(); var entry = new ZipEntry("dummyfile.tst") { CompressionMethod = CompressionMethod.Deflated, Size = size, Crc = (uint)crc.Value, CompressedSize = compressedData.Length, }; outStream.PutNextPassthroughEntry(entry); compressedData.CopyTo(outStream); } Assert.IsTrue(ZipTesting.TestArchive(ms.ToArray())); }
public void AddingPrecompressedEntryToZipOutputStreamWithInvalidCompressedSize() { using var outStream = new ZipOutputStream(new MemoryStream()); var(compressedData, crc, size) = CreateDeflatedData(); outStream.Password = "******"; var entry = new ZipEntry("dummyfile.tst") { CompressionMethod = CompressionMethod.Stored, Size = size, Crc = (uint)crc.Value, }; Assert.Throws <ZipException>(() => { outStream.PutNextPassthroughEntry(entry); }); }
public void AddingPrecompressedEntryToZipOutputStreamWithNonSupportedMethod() { using var outStream = new ZipOutputStream(new MemoryStream()); var(compressedData, crc, size) = CreateDeflatedData(); outStream.Password = "******"; var entry = new ZipEntry("dummyfile.tst") { CompressionMethod = CompressionMethod.LZMA, Size = size, Crc = (uint)crc.Value, CompressedSize = compressedData.Length, }; Assert.Throws <NotImplementedException>(() => { outStream.PutNextPassthroughEntry(entry); }); }