public void ObjectMapConfig_AddPostAction_Collection() { var config = new ObjectMapConfig(); config.AddPostAction <User>((source, target) => { target.Tags = source.Tags.ToArray(); }); var u1 = new User(); u1.Tags = new String[2]; u1.Tags[0] = "News"; u1.Tags[1] = "Sports"; var u2 = config.Map(u1, new User()); Assert.AreEqual(u1.Tags[0], u2.Tags[0]); Assert.AreEqual(u1.Tags[1], u2.Tags[1]); }
public void ObjectMapConfig_CustomPropertyMappingRule_AddPostAction() { var config = new ObjectMapConfig(); config.AddPostAction <User>((source, target) => { target.MapPoint = MapPointConverter(source.Value) ?? target.MapPoint; }); config.PropertyMapRules.Clear(); var rule = new PropertyNameMappingRule(); rule.AddPropertyNameMap("Value", "MapPoint"); config.PropertyMapRules.Add(rule); var u1 = new User(); u1.Value = "23, 45"; var u2 = config.Map(u1, new User()); Assert.AreEqual(23m, u2.MapPoint.Latitude); Assert.AreEqual(45m, u2.MapPoint.Longitude); }
public void ObjectMapConfig_AddPostAction_String_DayOfWeek() { var config = new ObjectMapConfig(); config.AddPostAction <String, DayOfWeek>((source, target) => { return(DayOfWeekConverter(source) ?? target); }); config.PropertyMapRules.Clear(); var rule = new PropertyNameMappingRule(); rule.AddPropertyNameMap("Value", "DayOfWeek"); config.PropertyMapRules.Add(rule); var u1 = new User(); u1.Value = "Fri"; var u2 = config.Map(u1, new User()); Assert.AreEqual(DayOfWeek.Friday, u2.DayOfWeek); }