예제 #1
0
        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()));
        }
예제 #2
0
        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);
            });
        }
예제 #3
0
        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);
            });
        }