public void TryComputeLengthCannotCompute()
        {
            // Arrange
            var content = new GzippedContentWrapper(new StringContent("Some content"));

            // Act
            long length;
            var  result = content.CallTryComputeLength(out length);

            // Assert
            Assert.IsFalse(result);
            Assert.AreEqual(-1, length);
        }
        public void TryComputeLengthCannotCompute()
        {
            // Arrange
            var content = new GzippedContentWrapper(new StringContent("Some content"));

            // Act
            long length;
            var result = content.CallTryComputeLength(out length);

            // Assert
            Assert.IsFalse(result);
            Assert.AreEqual(-1, length);
        }
        public async Task SerializeToStreamGzipsContent()
        {
            // Arrange
            var testContent = "Here is some test content";
            var content = new GzippedContentWrapper(new StringContent(testContent));
            string decompressedMessage;
            
            // Act
            using (var memoryStream = new MemoryStream())
            {
                await content.CallSerializeToStreamAsync(memoryStream);
                memoryStream.Position = 0;

                using (Stream decompressedStream = new GZipStream(memoryStream, CompressionMode.Decompress, true))
                using (TextReader reader = new StreamReader(decompressedStream, Encoding.UTF8))
                {
                    decompressedMessage = reader.ReadToEnd();
                }
            }

            // Assert
            Assert.AreEqual(testContent, decompressedMessage);
        }
        public async Task SerializeToStreamGzipsContent()
        {
            // Arrange
            var    testContent = "Here is some test content";
            var    content     = new GzippedContentWrapper(new StringContent(testContent));
            string decompressedMessage;

            // Act
            using (var memoryStream = new MemoryStream())
            {
                await content.CallSerializeToStreamAsync(memoryStream);

                memoryStream.Position = 0;

                using (Stream decompressedStream = new GZipStream(memoryStream, CompressionMode.Decompress, true))
                    using (TextReader reader = new StreamReader(decompressedStream, Encoding.UTF8))
                    {
                        decompressedMessage = reader.ReadToEnd();
                    }
            }

            // Assert
            Assert.AreEqual(testContent, decompressedMessage);
        }