public void CompressDecompressProcessorsTest(int bufferSize) { var rnd = new Random(); var originalBuffer = new byte[bufferSize]; rnd.NextBytes(originalBuffer); byte[] processed = null; var compressor = new CompressApplicationProcessor(new GZipOperation(new CompressorDataTransform())); using (var source = new MemoryStream(originalBuffer)) using (var target = new MemoryStream()) { compressor.Process(source, target); processed = target.ToArray(); } byte[] decompressed = null; var decompressor = new DecompressApplicationProcessor(new GZipOperation(new DecompressorDataTransform())); using (var source = new MemoryStream(processed)) using (var target = new MemoryStream()) { decompressor.Process(source, target); decompressed = target.ToArray(); } Assert.AreEqual(originalBuffer.Length, decompressed.Length); Assert.IsTrue(originalBuffer.SequenceEqual(decompressed)); }
private void Decompress(string source, string target) { try { using var sourceStream = File.OpenRead(source); using var targetStream = File.Open(target, FileMode.Create); var operation = new GZipOperation(new DecompressorDataTransform()); var processor = new DecompressApplicationProcessor(operation); processor.Process(sourceStream, targetStream); } catch (Exception e) { _logger.Exception(e); } }