public void ReadInvalidMessages(string encoded, string expectedMessage)
        {
            ReadOnlyBuffer <byte> buffer = Encoding.UTF8.GetBytes(encoded);
            var ex = Assert.Throws <FormatException>(() =>
            {
                LengthPrefixedTextMessageParser.TryParseMessage(ref buffer, out _);
            });

            Assert.Equal(expectedMessage, ex.Message);
        }
        public void ReadInvalidEncodedMessage()
        {
            // Invalid because first character is a UTF-8 "continuation" character
            // We need to include the ':' so that
            ReadOnlyBuffer <byte> buffer = new byte[] { 0x48, 0x65, 0x80, 0x6C, 0x6F, (byte)':' };
            var ex = Assert.Throws <FormatException>(() =>
            {
                LengthPrefixedTextMessageParser.TryParseMessage(ref buffer, out _);
            });

            Assert.Equal("Invalid length: 'He�lo'", ex.Message);
        }
        public void ReadIncompleteMessages(string encoded)
        {
            ReadOnlyBuffer <byte> buffer = Encoding.UTF8.GetBytes(encoded);

            Assert.False(LengthPrefixedTextMessageParser.TryParseMessage(ref buffer, out _));
        }