public void DecodeNullBulkString()
        {
            var channel = new EmbeddedChannel(
                new RedisDecoder(),
                new RedisBulkStringAggregator(),
                new RedisArrayAggregator());

            const long NullValue = -1;

            Assert.False(channel.WriteInbound("$".Buffer()));
            Assert.False(channel.WriteInbound(NullValue.Buffer()));
            Assert.True(channel.WriteInbound("\r\n".Buffer()));

            Assert.True(channel.WriteInbound("$".Buffer()));
            Assert.True(channel.WriteInbound(NullValue.Buffer()));
            Assert.True(channel.WriteInbound("\r\n".Buffer()));

            var message = channel.ReadInbound <IFullBulkStringRedisMessage>();

            Assert.NotNull(message);
            Assert.True(message.IsNull);
            ReferenceCountUtil.Release(message);

            message = channel.ReadInbound <IFullBulkStringRedisMessage>();
            Assert.NotNull(message);
            Assert.True(message.IsNull);
            ReferenceCountUtil.Release(message);

            message = channel.ReadInbound <IFullBulkStringRedisMessage>();
            Assert.Null(message);

            Assert.False(channel.Finish());
        }