Class QueryConfiguration
Inheritance: AbstractPropertyConfiguration
        public void Configure_DefaultValues_ConfigHasDefaults()
        {
            //Assign
            var attr = new StubQueryAttribute(string.Empty);
            var config = new QueryConfiguration();
			var propertyInfo = typeof(StubItem).GetProperty("X");

            //Act
            attr.Configure(propertyInfo, config);

            //Assert
            Assert.AreEqual(propertyInfo, config.PropertyInfo);
            Assert.IsTrue(config.IsLazy);
            Assert.IsFalse(config.InferType);
            Assert.IsFalse(config.IsRelative);
            Assert.IsNullOrEmpty(config.Query);
        }
        public void Configure_QueryHasValue_ConfigQueryHasValue()
        {
            //Assign
            var query = "some query";
            var attr = new StubQueryAttribute(query);
            var config = new QueryConfiguration();
			var propertyInfo = typeof(StubItem).GetProperty("X");

            //Act
            attr.Configure(propertyInfo, config);

            //Assert
            Assert.AreEqual(propertyInfo, config.PropertyInfo);
            Assert.IsTrue(config.IsLazy);
            Assert.IsFalse(config.InferType);
            Assert.IsFalse(config.IsRelative);
            Assert.AreEqual(query, config.Query);
        }
        public void Configure_IsLazyIsFalse_ConfigIsLazyIsFalse()
        {
            //Assign
            var attr = new StubQueryAttribute(string.Empty);
            var config = new QueryConfiguration();
            var propertyInfo = Substitute.For<PropertyInfo>();

            attr.IsLazy = false;

            //Act
            attr.Configure(propertyInfo, config);

            //Assert
            Assert.AreEqual(propertyInfo, config.PropertyInfo);
            Assert.IsFalse(config.IsLazy);
            Assert.IsFalse(config.InferType);
            Assert.IsFalse(config.IsRelative);
            Assert.IsNullOrEmpty(config.Query);
        }