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); }
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); }
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); }