public void include_should_apply_condition() { var config = new MapperConfiguration(cfg => { cfg.CreateMap <ModelObject, DtoObject>() .ForMember(d => d.BaseString, m => { m.Condition(src => !string.IsNullOrWhiteSpace(src.DifferentBaseString)); m.MapFrom(s => s.DifferentBaseString); }) ; cfg.CreateMap <ModelSubObject, DtoSubObject>() .IncludeBase <ModelObject, DtoObject>() ; }); var dest = new DtoSubObject { BaseString = "12345" }; var mapper = config.CreateMapper(); mapper.Map(new ModelSubObject { DifferentBaseString = "", }, dest); dest.BaseString.ShouldEqual("12345"); }
public void included_mapping_should_inherit_base_mappings_should_not_throw() { Mapper.CreateMap <ModelObject, DtoObject>() .ForMember(d => d.BaseString, m => m.MapFrom(s => s.DifferentBaseString)) .Include <ModelSubObject, DtoSubObject>(); Mapper.CreateMap <ModelSubObject, DtoSubObject>(); var source = new ModelSubObject { DifferentBaseString = "123", SubString = "456" }; DtoSubObject dto = Mapper.Map <ModelSubObject, DtoSubObject>(source); Assert.Equal("123", dto.BaseString); Assert.Equal("456", dto.SubString); }
public void more_specific_map_should_override_base_mapping() { Mapper.CreateMap <ModelObject, DtoObject>() .ForMember(d => d.BaseString, m => m.MapFrom(s => s.DifferentBaseString)) .Include <ModelSubObject, DtoSubObject>(); Mapper.CreateMap <ModelSubObject, DtoSubObject>() .ForMember(d => d.BaseString, m => m.MapFrom(s => "789")); DtoSubObject dto = Mapper.Map <ModelSubObject, DtoSubObject>(new ModelSubObject { DifferentBaseString = "123", SubString = "456" }); Assert.Equal("789", dto.BaseString); Assert.Equal("456", dto.SubString); }
public void include_should_apply_condition() { Mapper.Initialize(cfg => { cfg.CreateMap<ModelObject, DtoObject>() .ForMember(d => d.BaseString, m => { m.Condition(src => !string.IsNullOrWhiteSpace(src.DifferentBaseString)); m.MapFrom(s => s.DifferentBaseString); }) .Include<ModelSubObject, DtoSubObject>(); cfg.CreateMap<ModelSubObject, DtoSubObject>(); }); var dest = new DtoSubObject { BaseString = "12345" }; Mapper.Map(new ModelSubObject { DifferentBaseString = "", }, dest); dest.BaseString.ShouldEqual("12345"); }