public byte[] DeflateDecompressor_DecompressStream(CompressedSize input) { using var decompressed = new MemoryStream(); using var data = new MemoryStream(input.Data); DeflateDecompressor.Decompress(data, decompressed); return(decompressed.ToArray()); }
public void Decompress_Ptt5() { var corpusItem = new CorpusInfo("ptt5"); var decompressed = DeflateDecompressor.Decompress(corpusItem.Compressed); CollectionAssert.AreEqual(corpusItem.Raw, decompressed); }
public byte[] Burnside_Stream(CorpusInfo input) { using var decompressed = new MemoryStream(); using var data = new MemoryStream(input.Data); DeflateDecompressor.Decompress(data, decompressed); return(decompressed.ToArray()); }
public void Decompress_Grammar() { var corpusItem = new CorpusInfo("grammar.lsp"); var decompressed = DeflateDecompressor.Decompress(corpusItem.Compressed); CollectionAssert.AreEqual(corpusItem.Raw, decompressed); }
public void Decompress_Kennedy() { var corpusItem = new CorpusInfo("kennedy.xls"); var decompressed = DeflateDecompressor.Decompress(corpusItem.Compressed); CollectionAssert.AreEqual(corpusItem.Raw, decompressed); }
public void Decompress_Lcet10() { var corpusItem = new CorpusInfo("lcet10.txt"); var decompressed = DeflateDecompressor.Decompress(corpusItem.Compressed); CollectionAssert.AreEqual(corpusItem.Raw, decompressed); }
public void DecompressString() { var data = "thisissomestringdatathatwillbeusedtotestthedecompressionofthealgorithm"; var compressed = Compress(data); var decompressed = DeflateDecompressor.Decompress(compressed); Assert.AreEqual(data, Encoding.UTF8.GetString(decompressed)); }
public void StreamDecompress_Random10MiB() { using var outStream = new MemoryStream(); using var inStream = new MemoryStream(Compressed_10MiB); DeflateDecompressor.Decompress(inStream, outStream); var decompressed = outStream.ToArray(); CollectionAssert.AreEqual(UnCompressed_10MiB, decompressed); }
public void StreamDecompress_Xargs() { var corpusItem = new CorpusInfo("xargs.1"); using var outStream = new MemoryStream(); using var inStream = new MemoryStream(corpusItem.Compressed); DeflateDecompressor.Decompress(inStream, outStream); var decompressed = outStream.ToArray(); CollectionAssert.AreEqual(corpusItem.Raw, decompressed); }
public void DeflateCompressorStringExtesionWorks() { var compressor = new DeflateCompressor(); var compressed = compressor.Compress("test"); compressed.Should().NotBeNull(); var decompressor = new DeflateDecompressor(); var decompressed = decompressor.Decompress(compressed); decompressed.Should().NotBeNull(); Encoding.UTF8.GetString(decompressed).Should().Be("test"); }
public void DeflateCompressorStringExtesionWorks() { var compressor = new DeflateCompressor(); var compressed = compressor.Compress("test"); Assert.IsNotNull(compressed); var decompressor = new DeflateDecompressor(); var decompressed = decompressor.Decompress(compressed); Assert.IsNotNull(decompressed); Assert.AreEqual("test", Encoding.UTF8.GetString(decompressed)); }
public void StreamDecompress_String() { var data = "thisissomestringdatathatwillbeusedtotestthedecompressionofthealgorithm"; var compressed = Compress(data); using var outStream = new MemoryStream(); using var inStream = new MemoryStream(compressed); DeflateDecompressor.Decompress(inStream, outStream); var decompressed = outStream.ToArray(); Assert.AreEqual(data, Encoding.UTF8.GetString(decompressed)); }
public bool TrySetFor(MessageHead head) { ThrowIfEnded(); BodyType?bodyType = BodyType.TryDetectFor(head); if (bodyType == null) { return(false); } CompressionType compression = bodyType.Value.CompressionType; TransferEncoding transfer = bodyType.Value.TransferEncoding; int contentLength = bodyType.Value.ContentLength; if (IsSet) { Reset(); } TransferEncoding = transfer; if (transfer == TransferEncoding.Raw) { ContentLength = contentLength; State = BodyParserState.RawRead; } else if (transfer == TransferEncoding.Chunked) { State = BodyParserState.Chunked_Length; StringQueue = new StringQueue(); } if (transfer != TransferEncoding.None) { CompressionType = compression; switch (compression) { case CompressionType.None: ContentTransform = new RawUnifiedDuplex(); break; case CompressionType.Gzip: ContentTransform = new GzipDecompressor(); break; case CompressionType.Deflate: ContentTransform = new DeflateDecompressor(); break; case CompressionType.Compress: return(false); default: return(false); } } IsSet = true; return(true); }
public static void Decompress(Stream input, Stream output) { var buffer = new byte[10]; input.Read(buffer, 0, 10); if (buffer[0] != 0x1F || buffer[1] != 0x8B) { throw new FormatException("Invalid gzip header"); } if (buffer[2] != 8) { throw new NotSupportedException("Compression method is not deflate"); } int FLG = buffer[3]; if (FLG != FNAME && FLG != 0) { throw new NotSupportedException("Only FNAME flag is supported"); } // 4-7: MTIME int XFL = buffer[8]; if (XFL == 2) { Console.Out.WriteLine("Extra flag: best compression algorithm (XFL = 2)"); } if (XFL == 4) { Console.Out.WriteLine("Extra flag: fastest compression algorithm (XFL = 4)"); } // 9: OS if ((FLG & FNAME) != 0) { buffer = new byte[256]; var offset = 0; do { input.Read(buffer, offset, 1); offset++; } while (buffer[offset - 1] != '\0'); var name = System.Text.Encoding.ASCII.GetString(buffer, 0, offset); Console.WriteLine("filename=" + name); } DeflateDecompressor.Decompress(input, output); }
public void DeflateICompressorIDecompressorWorks() { var compressor = new DeflateCompressor(); var data = Encoding.UTF8.GetBytes("test"); byte[] compressed; using (var inputStream = new MemoryStream(data)) { compressed = compressor.Compress(inputStream); } Console.WriteLine(compressed.Length); compressed.Should().NotBeNull(); var decompressor = new DeflateDecompressor(); byte[] decompressed; using (var inputStream = new MemoryStream(compressed)) { decompressed = decompressor.Decompress(inputStream); } decompressed.Should().NotBeNull(); Encoding.UTF8.GetString(decompressed).Should().Be("test"); }
public void DeflateICompressorIDecompressorWorks() { var compressor = new DeflateCompressor(); var data = Encoding.UTF8.GetBytes("test"); byte[] compressed; using (var inputStream = new MemoryStream(data)) { compressed = compressor.Compress(inputStream); } Console.WriteLine(compressed.Length); Assert.IsNotNull(compressed); var decompressor = new DeflateDecompressor(); byte[] decompressed; using (var inputStream = new MemoryStream(compressed)) { decompressed = decompressor.Decompress(inputStream); } Assert.IsNotNull(decompressed); Assert.AreEqual("test", Encoding.UTF8.GetString(decompressed)); }
public byte[] Burnside_ByteArray(CorpusInfo input) { return(DeflateDecompressor.Decompress(input.Data)); }
public byte[] DeflateDecompressor_Decompress(CompressedSize input) { return(DeflateDecompressor.Decompress(input.Data)); }
public void Decompress_Random50MiB() { var decompressed = DeflateDecompressor.Decompress(Compressed_50MiB); CollectionAssert.AreEqual(UnCompressed_50MiB, decompressed); }