public void ObjectMapper_Map_CollectionElementCreateMode_CollectionPropertyCreateMode_None() { var mapper = new ObjectMapper(); mapper.CompilerConfig.CollectionPropertyCreateMode = CollectionPropertyCreateMode.None; var u1 = new User(); for (int i = 0; i < 3; i++) { u1.Users.Add(new User("TestUser" + i.ToString())); } var u2 = mapper.Map(u1, new User()); mapper.AddPostAction <User, User>((source, target) => { if (source == null) { return; } target.Users.AddRange(source.Users); }); var u3 = mapper.Map(u1, new User()); Assert.AreEqual(0, u2.Users.Count); Assert.AreEqual(3, u3.Users.Count); }
public void ObjectMapper_CustomPropertyMappingRule_AddPostAction() { var mapper = new ObjectMapper(); mapper.AddPostAction <User, User>((source, target) => { target.MapPoint = MapPointConverter(source.Value) ?? target.MapPoint; }); mapper.CompilerConfig.PropertyMatchRule = (c1, p1, c2, p2) => { if (c1 == typeof(User) && c2 == typeof(User)) { return(p1.Name == "Value" && p2.Name == "MapPoint"); } return(false); }; var u1 = new User(); u1.Value = "23, 45"; var u2 = mapper.Map(u1, new User()); Assert.AreEqual(23m, u2.MapPoint.Latitude); Assert.AreEqual(45m, u2.MapPoint.Longitude); }
public void ObjectMapper_AddPostAction_IUser() { var mapper = new ObjectMapper(); mapper.AddPostAction <User, IUser>((source, target) => { //Do nothing... }); var u1 = new User(); var u2 = mapper.Map(u1, new User()); Assert.AreEqual(u1.Name, u2.Name); }
public void ObjectMapper_AddPostAction_EnumNullable() { var mapper = new ObjectMapper(); mapper.AddPostAction <User, User>((source, target) => { target.DayOfWeekNullable = DayOfWeekConverter(source.Value); }); var u1 = new User(); u1.Value = "Fri"; var u2 = mapper.Map(u1, new User()); Assert.AreEqual(DayOfWeek.Friday, u2.DayOfWeekNullable); }
public void ObjectMapper_Map_Flatten() { var mapper = new ObjectMapper(); mapper.AddPostAction <User, UserFlatten>((source, target) => { mapper.Map(source.Vector2, target); mapper.Map(source.MapPoint, target); }); var u1 = new User(); var u2 = mapper.Map(u1, new UserFlatten()); Assert.AreEqual(u1.MapPoint.Latitude, u2.Latitude); Assert.AreEqual(u1.MapPoint.Longitude, u2.Longitude); Assert.AreEqual(u1.Vector2.X, u2.X); }
public void ObjectMapper_AddPostAction_Collection() { var mapper = new ObjectMapper(); mapper.AddPostAction <User, 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 = mapper.Map(u1, new User()); Assert.AreEqual(u1.Tags[0], u2.Tags[0]); Assert.AreEqual(u1.Tags[1], u2.Tags[1]); }
public void ObjectMapper_AddPostAction_Encoding() { var mapper = new ObjectMapper(); mapper.AddPostAction <User, TextParser>((source, target) => { if (source.Value == "U8") { target.Encoding = Encoding.UTF8; } }); var u1 = new User(); u1.Value = "U8"; var p2 = new TextParser(); p2.Encoding = null; mapper.Map(u1, p2); Assert.AreEqual(Encoding.UTF8, p2.Encoding); }