public async Task PartwiseStreamReaderTest()
        {
            var buffer = TestMessagePartwiseStreamContent.Concat(TestMessagePartwiseStreamContent).ToArray();

            using (var stream = new MemoryStream(buffer, false))
            {
                using (var reader = new PartwiseStreamMessageReader(stream))
                {
                    var message1 = await reader.ReadAsync(m => true, CancellationToken.None);

                    Output.WriteLine(message1.ToString());
                    var message2 = await reader.ReadAsync(m => true, CancellationToken.None);

                    Output.WriteLine(message2.ToString());
                    Assert.Null(await reader.ReadAsync(m => true, CancellationToken.None));
                    Assert.Equal(JsonConvert.SerializeObject(TestMessage), JsonConvert.SerializeObject(message1));
                    Assert.Equal(JsonConvert.SerializeObject(TestMessage), JsonConvert.SerializeObject(message2));
                }
            }
        }
        public async Task PartwiseStreamReaderExceptionTest(string jsonContent)
        {
            var buffer = Encoding.UTF8.GetBytes(jsonContent);

            using (var stream = new MemoryStream(buffer, false))
            {
                using (var reader = new PartwiseStreamMessageReader(stream))
                {
                    var ex = await Assert.ThrowsAsync <MessageReaderException>(() =>
                                                                               reader.ReadAsync(m => true, CancellationToken.None));

                    Output.WriteLine(ex.Message);
                }
            }
        }