public void Integration_Test()
        {
            var textToCompress = "Hello World";
            var originalBytes  = Encoding.UTF8.GetBytes(textToCompress);

            byte[] compressedBytes;
            byte[] decompressedBytes;

            using (var memoryStream = new MemoryStreamWrap())
            {
                var compressInstance = new DeflateStreamWrap(memoryStream, CompressionMode.Compress);
                compressInstance.Write(originalBytes, 0, originalBytes.Length);
                compressInstance.Dispose();

                compressedBytes = memoryStream.ToArray();
            }

            using (var compressedMemoryStream = new MemoryStreamWrap(compressedBytes))
            {
                using (var deflateStream = new DeflateStreamWrap(compressedMemoryStream, CompressionMode.Decompress))
                {
                    using (var resultStream = new MemoryStreamWrap())
                    {
                        deflateStream.CopyTo(resultStream);
                        decompressedBytes = resultStream.ToArray();
                    }
                }
            }

            Assert.AreEqual(textToCompress, Encoding.UTF8.GetString(decompressedBytes));
        }
        public void Initialize_Sets_DeflateStreamInstance()
        {
            var mockStream = MockRepository.GenerateMock <IStream>();

            mockStream.Stub(mo => mo.StreamInstance).Return(_fileStream);
            var instance = new DeflateStreamWrap();

            instance.Initialize(mockStream, CompressionMode.Compress);
            Assert.IsNotNull(instance.DeflateStreamInstance);
        }