示例#1
0
        public void MapProperty_GivenANonPropertyExpression_ThrowsArgumentException()
        {
            var validatedObject = new Mock <IValidatedObject>();
            var entity          = new PropertyMapperTestEntity();

            var propertyMapper = new PropertyMapper <PropertyMapperTestEntity>(entity, validatedObject.Object);

            propertyMapper.MapProperty(e => e.SomeMethod(), "SomeString");
        }
示例#2
0
        public void Map_GivenAPropertyInfoWithPrivateSet_Succeeds()
        {
            var validatedObject = new Mock <IValidatedObject>();
            var entity          = new PropertyMapperTestEntity();
            var propertyMapper  = new PropertyMapper <PropertyMapperTestEntity>(entity, validatedObject.Object);

            propertyMapper.MapProperty(p => p.ObjectPropertyWithPrivateSetter, null);

            bool returnValue = propertyMapper.Map();
        }
示例#3
0
        public void Map_GivenAReadOnlyPropertyInfo_ThrowsArgumentException()
        {
            var validatedObject = new Mock <IValidatedObject>();
            var entity          = new PropertyMapperTestEntity();
            var propertyMapper  = new PropertyMapper <PropertyMapperTestEntity>(entity, validatedObject.Object);

            propertyMapper.MapProperty(p => p.ReadOnlyIntProperty, 1);

            propertyMapper.Map();
        }
示例#4
0
        public void Map_GivenNoPropertyValueListItems_Succeeds()
        {
            var validatedObject = new Mock <IValidatedObject>();
            var entity          = new PropertyMapperTestEntity();
            var propertyMapper  = new PropertyMapper <PropertyMapperTestEntity>(entity, validatedObject.Object);

            bool returnValue = propertyMapper.Map();

            Assert.IsTrue(returnValue);
        }
示例#5
0
        public void MapProperty_GivenAllProperParameters_Succeeds()
        {
            var validatedObject = new Mock <IValidatedObject>();
            var entity          = new PropertyMapperTestEntity();

            var propertyMapper = new PropertyMapper <PropertyMapperTestEntity>(entity, validatedObject.Object);

            var returnValue = propertyMapper.MapProperty(e => e.StringProperty, "SomeString");

            Assert.AreSame(propertyMapper, returnValue);
        }
示例#6
0
        public void Map_GivenNullValueForNotNullableProperty_ShowsAnError()
        {
            var entity          = new PropertyMapperTestEntity();
            var validatedObject = new ValidatedObjectFixture();

            new PropertyMapper <PropertyMapperTestEntity> (entity, validatedObject)
            .MapProperty(p => p.NotNullableProperty, null)
            .Map();

            Assert.AreEqual(validatedObject.DataErrorInfoCollection.FirstOrDefault().Message, entity.NullArgumentMessage);
        }
示例#7
0
        public void Map_GivenAWritablePropertyInfo_Succeeds()
        {
            var stringValue     = "SomeString";
            var validatedObject = new Mock <IValidatedObject>();
            var entity          = new PropertyMapperTestEntity();
            var propertyMapper  = new PropertyMapper <PropertyMapperTestEntity>(entity, validatedObject.Object);

            propertyMapper.MapProperty(p => p.StringProperty, stringValue);

            bool returnValue = propertyMapper.Map();

            Assert.IsTrue(returnValue);
            Assert.AreEqual(entity.StringProperty, stringValue);
        }
示例#8
0
        public void Map_GivenMultipleItemsInPropertyValueList_Succeeds()
        {
            var stringValue     = "SomeString";
            var boolValue       = true;
            var objectValue     = new object();
            var validatedObject = new Mock <IValidatedObject>();
            var entity          = new PropertyMapperTestEntity();
            var propertyMapper  = new PropertyMapper <PropertyMapperTestEntity>(entity, validatedObject.Object);

            propertyMapper.MapProperty(p => p.StringProperty, stringValue);
            propertyMapper.MapProperty(p => p.BooleanProperty, boolValue);

            bool returnValue = propertyMapper.Map();

            Assert.IsTrue(returnValue);
            Assert.AreEqual(entity.StringProperty, stringValue);
            Assert.AreEqual(entity.BooleanProperty, boolValue);
        }