What is wrong with this code below. I always get FALSE, meaning after compression, decompressed data does not match original value.
public static bool Test()
Here's my cleaned up version of the final solution:
[Test]
public void Test_zipping_with_memorystream()
{
const string sample = "This is a compression test of microsoft .net gzip compression method and decompression methods";
var encoding = new ASCIIEncoding();
var data = encoding.GetBytes(sample);
string sampleOut;
byte[] cmpData;
// Compress
using (var cmpStream = new MemoryStream())
{
using (var hgs = new GZipStream(cmpStream, CompressionMode.Compress))
{
hgs.Write(data, 0, data.Length);
}
cmpData = cmpStream.ToArray();
}
using (var decomStream = new MemoryStream(cmpData))
{
using (var hgs = new GZipStream(decomStream, CompressionMode.Decompress))
{
using (var reader = new StreamReader(hgs))
{
sampleOut = reader.ReadToEnd();
}
}
}
Assert.IsNotNullOrEmpty(sampleOut);
Assert.AreEqual(sample, sampleOut);
}