public void When_Bytes_Are_Null_Return_Default()
        {
            var typeSerializer = new Mock <ITypeSerializerProvider>();
            var fragment       = new DocumentFragment <dynamic>(typeSerializer.Object)
            {
                Value = new List <OperationSpec>
                {
                    new OperationSpec
                    {
                        Bytes  = null, //ack!
                        OpCode = OperationCode.Get
                    }
                }
            };

            Assert.DoesNotThrow(() => fragment.Content <dynamic>(0));
            Assert.AreEqual(default(dynamic), fragment.Content <dynamic>(0));
            Assert.IsNull(fragment.Content <Poco>(0));
        }
        public void When_Bytes_Are_Empty_For_Poco_Return_Default()
        {
            var typeSerializer = new Mock <ITypeSerializerProvider>();

            typeSerializer.Setup(x => x.Serializer).Returns(new DefaultSerializer());

            var fragment = new DocumentFragment <dynamic>(typeSerializer.Object)
            {
                Value = new List <OperationSpec>
                {
                    new OperationSpec
                    {
                        Bytes  = new byte[] {}, //doh!
                        OpCode = OperationCode.Get
                    }
                }
            };

            Assert.DoesNotThrow(() => fragment.Content <Poco>(0));
            Assert.AreEqual(default(Poco), fragment.Content <Poco>(0));
            Assert.IsNull(fragment.Content <Poco>(0));
        }