Ejemplo n.º 1
0
        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");
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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");
        }