Exemple #1
0
        public void AssertConfigurationIsValid補上全部的設定()
        {
            // Model
            var calendarEvent = new CalendarEvent
            {
                EventDate = new DateTime(2008, 12, 15, 20, 30, 0),
                Title     = "Company Holiday Party"
            };

            var config = new MapperConfiguration(cfg =>
            {
                //補上缺少的EventHour EventMinute
                cfg.CreateMap <CalendarEvent, CalendarEventForm>()
                .ForMember(dest => dest.EventHour, opt => opt.MapFrom(src => src.EventDate.Hour))
                .ForMember(dest => dest.EventMinute, opt => opt.MapFrom(src => src.EventDate.Minute));
            });

            config.AssertConfigurationIsValid();

            var mapper            = config.CreateMapper();
            CalendarEventForm act = mapper.Map <CalendarEvent, CalendarEventForm>(calendarEvent);

            Assert.Equal(20, act.EventHour);
            Assert.Equal(30, act.EventMinute);
        }
Exemple #2
0
        public void 可以設定忽略的欄位()
        {
            // Model
            var calendarEvent = new CalendarEvent
            {
                EventDate = new DateTime(2008, 12, 15, 20, 30, 0),
                Title     = "Company Holiday Party"
            };

            var config = new MapperConfiguration(cfg =>
            {
                //EventDate 因為名稱一樣 會自己處理
                //EventHour EventMinute 指定
                //Title 設定忽略
                cfg.CreateMap <CalendarEvent, CalendarEventForm>()
                .ForMember(dest => dest.EventHour, opt => opt.MapFrom(src => src.EventDate.Hour))
                .ForMember(dest => dest.EventMinute, opt => opt.MapFrom(src => src.EventDate.Minute))
                .ForMember(dest => dest.Title, opt => opt.Ignore());
            });

            config.AssertConfigurationIsValid();

            var mapper            = config.CreateMapper();
            CalendarEventForm act = mapper.Map <CalendarEvent, CalendarEventForm>(calendarEvent);

            Assert.Equal(new DateTime(2008, 12, 15, 20, 30, 0), act.EventDate);
            Assert.Equal(20, act.EventHour);
            Assert.Equal(30, act.EventMinute);
            Assert.Null(act.Title);
        }
Exemple #3
0
        public void 部分欄位不一樣自動處理時會帶預設值()
        {
            // Model
            var calendarEvent = new CalendarEvent
            {
                EventDate = new DateTime(2008, 12, 15, 20, 30, 0),
                Title     = "Company Holiday Party"
            };

            var config = new MapperConfiguration(cfg =>
            {
                //欄位不同 就只會處理相同欄位名稱
                cfg.CreateMap <CalendarEvent, CalendarEventForm>();
            });

            var mapper            = config.CreateMapper();
            CalendarEventForm act = mapper.Map <CalendarEvent, CalendarEventForm>(calendarEvent);

            Assert.Equal(new DateTime(2008, 12, 15, 20, 30, 0), act.EventDate);
            Assert.Equal(0, act.EventHour);
            Assert.Equal(0, act.EventMinute);
            Assert.Equal("Company Holiday Party", act.Title);
        }