public void GzipDeflateEncodingDecodeDeflate() { byte[] encoded; using (MemoryStream stream = new MemoryStream(Encoding.Unicode.GetBytes(GzipDeflateEncodingTests.Content))) { using (MemoryStream outputStream = new MemoryStream()) { using (DeflateStream compressionStream = new DeflateStream(outputStream, CompressionMode.Compress)) { stream.CopyTo(compressionStream); } encoded = outputStream.ToArray(); } } using (Stream stream = new MemoryStream(encoded)) { Stream decodeStream = null; try { decodeStream = new GzipDeflateEncoding().Decode(EncodingType.Parse("deflate"), stream); using (StreamReader reader = new StreamReader(decodeStream, Encoding.Unicode)) { decodeStream = null; Assert.AreEqual(GzipDeflateEncodingTests.Content, reader.ReadToEnd()); } } finally { if (decodeStream != null) { decodeStream.Dispose(); } } } }
public void GzipDeflateEncodingEncodeGzip() { byte[] encoded, comparison; using (MemoryStream stream = new MemoryStream(Encoding.Unicode.GetBytes(GzipDeflateEncodingTests.Content))) { using (MemoryStream outputStream = new MemoryStream()) { using (Stream encodeStream = new GzipDeflateEncoding().Encode(EncodingType.Parse("gzip"), outputStream)) { stream.CopyTo(encodeStream); } encoded = outputStream.ToArray(); } } using (MemoryStream stream = new MemoryStream(Encoding.Unicode.GetBytes(GzipDeflateEncodingTests.Content))) { using (MemoryStream outputStream = new MemoryStream()) { using (GZipStream compressionStream = new GZipStream(outputStream, CompressionMode.Compress)) { stream.CopyTo(compressionStream); } comparison = outputStream.ToArray(); } } Assert.IsTrue(encoded.SequenceEqual(comparison)); }