Exemplo n.º 1
0
        public void ObjectMapConfig_IgnoreUnderscorePropertyMappingRule()
        {
            var config = new ObjectMapConfig();

            var rule = new IgnoreUnderscorePropertyMappingRule();

            config.PropertyMapRules.Add(rule);

            var u1 = new User();

            u1.Int32Nullable = 3;
            var u2 = config.Map(u1, new User());

            Assert.AreEqual(u1.Int32Nullable, u2.Int32_Nullable);
        }
Exemplo n.º 2
0
        public void ObjectMapConfig_Map_Inherit_New_List_Property()
        {
            var config = new ObjectMapConfig();

            var s1 = new ScheduleRecord();

            s1.Title     = "s1";
            s1.StartTime = new DateTimeOffset();
            s1.EndTime   = new DateTimeOffset();
            var s2 = new ScheduleRecordChild();

            config.Map(s1, s2);

            Assert.AreEqual(s1.Title, s2.Title);
        }
Exemplo n.º 3
0
        public void ObjectMapConfig_CustomStructConverter()
        {
            var config = new ObjectMapConfig();
            config.AddConverter(DayOfWeekConverter);

            config.PropertyMapRules.Clear();
            var rule = new PropertyNameMappingRule();
            rule.PropertyNameMaps.Add("Value", "DayOfWeek");
            config.PropertyMapRules.Add(rule);

            var u1 = new User();
            u1.Value = "Friday";
            var u2 = config.Map(u1, new User());

            Assert.AreEqual(DayOfWeek.Friday, u2.DayOfWeek);
        }
Exemplo n.º 4
0
        public void ObjectMapConfig_CustomPropertyMappingRule()
        {
            var config = new ObjectMapConfig();
            config.PropertyMapRules.Clear();
            var rule = new SuffixPropertyMappingRule("Nullable");
            config.PropertyMapRules.Add(rule);

            var u1 = new User();
            var u2 = config.Map(u1, new User());

            Assert.AreEqual(u1.Name, u2.Name);
            Assert.AreEqual(u1.Int32, u2.Int32Nullable);
            Assert.AreEqual(u1.Decimal, u2.DecimalNullable);
            Assert.AreEqual(u1.DateTime, u2.DateTimeNullable);
            Assert.AreEqual(u1.DayOfWeek, u2.DayOfWeekNullable);
        }
        public void ObjectMapConfig_Map_Flatten()
        {
            var config = new ObjectMapConfig();

            config.AddPostAction <User, UserFlatten>((source, target) =>
            {
                source.Vector2.Map(target);
                source.MapPoint.Map(target);
            });
            var u1 = new User();
            var u2 = config.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 ObjectMapConfig_Map_Dictionary_ClassPropertyMapMode_NewObject()
        {
            var config = new ObjectMapConfig();

            config.ClassPropertyMapMode = ClassPropertyMapMode.NewObject;

            var d = new Dictionary <String, String>();

            d["Int32Nullable"] = "abc";
            var u2 = new User();

            u2.Int32Nullable = null;
            config.Map(d, u2);

            Assert.AreEqual(null, u2.Int32Nullable);
        }
        public void ObjectMapConfig_CustomDictionaryMappingRule()
        {
            var config = new ObjectMapConfig();

            var rule = new DictionaryKeyMappingRule(DictionaryMappingDirection.DictionaryToObject, typeof(User), TypeFilterCondition.Inherit);

            rule.AddMap("Int32Nullable", "int_nullable");
            config.DictionaryMappingRules.Add(rule);

            var d = new Dictionary <String, String>();

            d["int_nullable"] = "8";
            var u2 = config.Map(d, new User());

            Assert.AreEqual(8, u2.Int32Nullable);
        }
        public void ObjectMapConfig_Map_CollectionElementMapMode_CollectionElement_NewObject_NoDefaultConstructor()
        {
            var config = new ObjectMapConfig();

            config.CollectionElementMapMode = CollectionElementMapMode.NewObject;

            var u1 = new List <User>();

            for (int i = 0; i < 3; i++)
            {
                u1.Add(new User("TestUser" + i.ToString()));
            }
            var u2 = config.Map(u1, new List <UserNoDefaultConstructor>());

            Assert.AreEqual(0, u2.Count);
        }
Exemplo n.º 9
0
        public void ObjectMapConfig_Map_Object_Object()
        {
            var config = new ObjectMapConfig();

            var u1 = new User();

            var u2 = config.Map(u1, new User());

            Assert.AreEqual(u1.Name, u2.Name);
            Assert.AreEqual(u1.Int32, u2.Int32);
            Assert.AreEqual(u1.Decimal, u2.Decimal);
            Assert.AreEqual(u1.DateTime, u2.DateTime);
            Assert.AreEqual(u1.DayOfWeek, u2.DayOfWeek);

            Assert.AreEqual(u1.MapPoint.Latitude, u2.MapPoint.Latitude);
            Assert.AreEqual(u1.MapPoint.Longitude, u2.MapPoint.Longitude);
        }
Exemplo n.º 10
0
        public void ObjectMapConfig_CustomClassConverter()
        {
            var config = new ObjectMapConfig();
            config.AddConverter<MapPoint>(MapPointConverter);

            config.PropertyMapRules.Clear();
            var rule = new PropertyNameMappingRule();
            rule.PropertyNameMaps.Add("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_Map_ClassPropertyMapMode_NullProperty_None()
        {
            var config = new ObjectMapConfig();

            config.ClassPropertyMapMode = ClassPropertyMapMode.None;
            config.MaxCallStackCount    = 100;

            var u1 = new User();

            u1.ParentUser = null;
            var u2 = new User();

            u2.ParentUser = null;
            config.Map(u1, u2);

            Assert.IsNull(u2.ParentUser);
        }
        public void ObjectMapConfig_RemovePropertyMap()
        {
            var config = new ObjectMapConfig();

            config.RemovePropertyMap <User, VipUser>("Timestamp");

            var u1 = new User();

            u1.Timestamp = new Byte[] { 1, 3, 6 };

            var u2 = config.Map(u1, new VipUser());

            Assert.IsNull(u2.Timestamp);

            Assert.AreEqual(u1.MapPoint.Latitude, u2.MapPoint.Latitude);
            Assert.AreEqual(u1.MapPoint.Longitude, u2.MapPoint.Longitude);
        }
        public void ObjectMapConfig_ReplacePropertyMap()
        {
            var config = new ObjectMapConfig();

            config.ReplacePropertyMap <User, User>((source, target) =>
            {
                target.Decimal = Decimal.Parse(source.Value);
            });

            var u1 = new User();

            u1.Value = "23.456";
            var u2 = config.Map(u1, new User());

            Assert.AreNotEqual(u1.Value, u2.Value);
            Assert.AreEqual(23.456m, u2.Decimal);
        }
Exemplo n.º 14
0
        public void ObjectMapConfig_RemovePropertyMap()
        {
            var config = new ObjectMapConfig();

            config.RemovePropertyMap <User, User>(nameof(User.DecimalNullable), "DateTimeNullable", "DayOfWeekNullable");

            var u1 = new User();
            var u2 = config.Map(u1, new User());

            Assert.AreEqual(u1.Name, u2.Name);
            Assert.AreEqual(u1.Int32, u2.Int32);
            Assert.IsNull(u2.DecimalNullable);
            Assert.IsNull(u2.DateTimeNullable);
            Assert.IsNull(u2.DayOfWeekNullable);

            Assert.AreEqual(u1.MapPoint.Latitude, u2.MapPoint.Latitude);
            Assert.AreEqual(u1.MapPoint.Longitude, u2.MapPoint.Longitude);
        }
        public void ObjectMapConfig_SuffixPropertyMappingRule()
        {
            var config = new ObjectMapConfig();

            config.PropertyMapRules.Clear();
            var rule = new SuffixPropertyMappingRule("Nullable");

            config.PropertyMapRules.Add(rule);

            var u1 = new User();
            var u2 = config.Map(u1, new User());

            Assert.AreEqual(u1.Name, u2.Name);
            Assert.AreEqual(u1.Int32, u2.Int32Nullable);
            Assert.AreEqual(u1.Decimal, u2.DecimalNullable);
            Assert.AreEqual(u1.DateTime, u2.DateTimeNullable);
            Assert.AreEqual(u1.DayOfWeek, u2.DayOfWeekNullable);
        }
        public void ObjectMapConfig_Map_FromDecimalToInt32()
        {
            var config = new ObjectMapConfig();

            config.PropertyMapRules.Clear();

            var rule = new PropertyNameMappingRule();

            rule.AddPropertyNameMap("Int32", "Decimal");
            config.PropertyMapRules.Add(rule);

            var u1 = new User();

            u1.Int32 = 23;
            var u2 = config.Map(u1, new User());

            Assert.AreEqual(23m, u2.Decimal);
        }
        public void ObjectMapConfig_Map_CollectionElementMapMode_DeepCopy_Implement_Interface()
        {
            var config = new ObjectMapConfig();

            config.CollectionElementMapMode = CollectionElementMapMode.DeepCopy;

            var u1 = new UserListInfoWithInterface();
            var u2 = new UserListInfoWithInterface_SubClass();

            for (int i = 0; i < 3; i++)
            {
                u1.Users.Add(new VipUser("TestUser" + i.ToString()));
            }
            config.Map(u1, u2);
            u1.Users[0].Name = "Test20";

            Assert.AreEqual(3, u2.Users.Count);
            Assert.AreEqual("Test20", u2.Users[0].Name);
        }
        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_Map_CollectionElementMapMode_CollectionElement_DeepCopy_SameClass()
        {
            var config = new ObjectMapConfig();

            config.CollectionElementMapMode = CollectionElementMapMode.DeepCopy;

            var u1 = new User();

            for (int i = 0; i < 3; i++)
            {
                u1.Users.Add(new User("TestUser" + i.ToString()));
            }
            var u2 = config.Map(u1, new User());

            u1.Users[0].Name = "Test20";

            Assert.AreEqual(3, u2.Users.Count);
            Assert.AreEqual("Test20", u2.Users[0].Name);
        }
Exemplo n.º 20
0
        public void ObjectMapConfig_Map_Dictionary_Object()
        {
            var config = new ObjectMapConfig();

            var d = new Dictionary <String, String>();

            d["Name"]      = "N";
            d["Int32"]     = "46";
            d["Decimal"]   = "46.46";
            d["DateTime"]  = "2014/12/17";
            d["DayOfWeek"] = "Friday";
            var u2 = config.Map(d, new User());

            Assert.AreEqual("N", u2.Name);
            Assert.AreEqual(46, u2.Int32);
            Assert.AreEqual(46.46m, u2.Decimal);
            Assert.AreEqual(new DateTime(2014, 12, 17), u2.DateTime);
            Assert.AreEqual(DayOfWeek.Friday, u2.DayOfWeek);
        }
        public void ObjectMapConfig_PropertyNameMappingRule_Failure()
        {
            var config = new ObjectMapConfig();

            config.PropertyMapRules.Clear();

            var rule = new PropertyNameMappingRule();

            rule.AddPropertyNameMap("Value", "Decimal");
            config.PropertyMapRules.Add(rule);

            var u1 = new User();

            u1.Value = "abc";
            var u2 = config.Map(u1, new User());

            //Not changed...
            Assert.AreEqual(20.4m, u2.Decimal);
        }
        public void ObjectMapConfig_Map_ClassPropertyMapMode_NullProperty_DeepCopy()
        {
            var config = new ObjectMapConfig();

            config.ClassPropertyMapMode = ClassPropertyMapMode.DeepCopy;
            var u1 = new User();

            u1.ParentUser = new User("ParentUser");
            var u2 = new User();

            u2.ParentUser = null;
            config.Map(u1, u2);

            Assert.IsNotNull(u2.ParentUser);

            u1.ParentUser.Name = "ParentUserChanged";
            //Same object
            Assert.AreEqual("ParentUserChanged", u2.ParentUser.Name);
        }
Exemplo n.º 23
0
        public void ObjectMapConfig_CustomStructConverter()
        {
            var config = new ObjectMapConfig();

            config.AddConverter(DayOfWeekConverter);

            config.PropertyMapRules.Clear();
            var rule = new PropertyNameMappingRule();

            rule.PropertyNameMaps.Add("Value", "DayOfWeek");
            config.PropertyMapRules.Add(rule);

            var u1 = new User();

            u1.Value = "Friday";
            var u2 = config.Map(u1, new User());

            Assert.AreEqual(DayOfWeek.Friday, u2.DayOfWeek);
        }
        public void ObjectMapConfig_Map_NullListProperty_DeepCopy_AddElement()
        {
            var config = new ObjectMapConfig();

            config.ClassPropertyMapMode = ClassPropertyMapMode.DeepCopy;
            var u1 = new User();
            var u2 = new User();

            u2.Users = null;
            config.Map(u1, u2);

            Assert.IsNotNull(u2.Users);

            u1.Users.Add(new User("ChildUser1"));
            Assert.AreEqual(1, u2.Users.Count);
            Assert.AreEqual("ChildUser1", u2.Users[0].Name);

            u1.Users[0].Name = "ChildUser2";
            Assert.AreEqual("ChildUser2", u2.Users[0].Name);
        }
        public void ObjectMapConfig_Map_IDataReader_Object_With_DictionaryMappingRule()
        {
            var config = new ObjectMapConfig();

            var connectionString = File.ReadAllText("C:\\GitHub\\ConnectionString.txt");

            using (SqlConnection cn = new SqlConnection(connectionString))
            {
                var cm = new SqlCommand("select * from sys.databases where name = 'master'", cn);
                cn.Open();
                var dr = cm.ExecuteReader();
                while (dr.Read())
                {
                    var s1 = config.Map(dr, new Sys_Database());
                    //May be because we connect to database.
                    Assert.AreEqual("master", s1.Name);
                    Assert.AreEqual(1, s1.Database_ID);
                }
            }
        }
Exemplo n.º 26
0
        public void ObjectMapConfig_CustomClassConverter()
        {
            var config = new ObjectMapConfig();

            config.AddConverter <MapPoint>(MapPointConverter);

            config.PropertyMapRules.Clear();
            var rule = new PropertyNameMappingRule();

            rule.PropertyNameMaps.Add("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_Map_List_NullableList()
        {
            var config = new ObjectMapConfig();

            config.PropertyMapRules.Clear();

            var rule = new PropertyNameMappingRule();

            rule.AddPropertyNameMap("Vectors", "NullableVectors");
            config.PropertyMapRules.Add(rule);

            var l1 = new VectorList();

            l1.Vectors.Add(new Vector2()
            {
                X = 1, Y = 2
            });
            var l2 = config.Map(l1, new VectorList());

            Assert.AreEqual(1, l2.NullableVectors[0].Value.X);
        }
        public void ObjectMapConfig_Map_DynamicObject_Object()
        {
            var config = new ObjectMapConfig();

            config.ClassPropertyMapMode = ClassPropertyMapMode.NewObject;

            dynamic u1 = new User();

            u1.Name               = "TestUser";
            u1.Int32              = 23;
            u1.MapPoint.Latitude  = 32.44m;
            u1.MapPoint.Longitude = 139.22m;

            var u2 = config.Map(u1, new User());

            Assert.AreEqual(u1.Name, u2.Name);
            Assert.AreEqual(u1.Int32, u2.Int32);

            Assert.AreEqual(u1.MapPoint.Latitude, u2.MapPoint.Latitude);
            Assert.AreEqual(u1.MapPoint.Longitude, u2.MapPoint.Longitude);
        }
        public void ObjectMapConfig_Map_Object_Object()
        {
            var config = new ObjectMapConfig();

            config.ClassPropertyMapMode = ClassPropertyMapMode.NewObject;

            var u1 = new User();

            var u2 = config.Map(u1, new User());

            Assert.AreEqual(u1.Name, u2.Name);
            Assert.AreEqual(u1.Int32, u2.Int32);
            Assert.AreEqual(u1.Decimal, u2.Decimal);
            Assert.AreEqual(u1.DateTime, u2.DateTime);
            Assert.AreEqual(u1.DayOfWeek, u2.DayOfWeek);

            Assert.AreEqual(u1.MapPoint.Latitude, u2.MapPoint.Latitude);
            Assert.AreEqual(u1.MapPoint.Longitude, u2.MapPoint.Longitude);

            Assert.AreEqual(u1.Vector2.X, u2.Vector2.X);
            Assert.AreEqual(u1.Vector2.Y, u2.Vector2.Y);
        }
Exemplo n.º 30
0
        public void ObjectMapConfig_RemovePropertyMap()
        {
            var config = new ObjectMapConfig();

            config.PropertyMapRules.Clear();
            var rule = new SuffixPropertyMappingRule("Nullable");

            config.PropertyMapRules.Add(rule);
            config.RemovePropertyMap <User, User>(new String[] { "DecimalNullable", "DateTimeNullable", "DayOfWeekNullable" }, null);

            var u1 = new User();
            var u2 = config.Map(u1, new User());

            Assert.AreEqual(u1.Name, u2.Name);
            Assert.AreEqual(u1.Int32, u2.Int32Nullable);
            Assert.IsNull(u2.DecimalNullable);
            Assert.IsNull(u2.DateTimeNullable);
            Assert.IsNull(u2.DayOfWeekNullable);

            Assert.AreEqual(u1.MapPoint.Latitude, u2.MapPoint.Latitude);
            Assert.AreEqual(u1.MapPoint.Longitude, u2.MapPoint.Longitude);
        }
        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);
        }
Exemplo n.º 32
0
        public void ObjectMapConfig_MapCollection_CollectionElement_DeepCopy()
        {
            var config = new ObjectMapConfig();

            config.CollectionElementMapMode = CollectionElementMapMode.DeepCopy;

            var u1 = new VipUserListInfo();

            u1.GroupName = "Group1";
            var u2 = new UserListInfo();

            for (int i = 0; i < 3; i++)
            {
                u1.Users.Add(new VipUser("TestUser" + i.ToString()));
            }
            config.Map(u1, u2);
            u1.Users[0].Name = "Test20";

            Assert.AreEqual(3, u2.Users.Count);
            Assert.AreEqual("Group1", u2.GroupName);
            Assert.AreEqual("Test20", u2.Users[0].Name);
        }
        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);
        }
Exemplo n.º 34
0
        public void ObjectMapConfig_Map_ArrayProperty()
        {
            var config = new ObjectMapConfig();
            config.AddConverter<String[]>(o =>
            {
                if (o is String[])
                {
                    return new ConvertResult<String[]>(true, o as String[]);
                }
                return new ConvertResult<String[]>();
            });

            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]);
        }
Exemplo n.º 35
0
        public void ObjectMapConfig_Map_Dictionary_Object()
        {
            var config = new ObjectMapConfig();

            var d = new Dictionary<String, String>();
            d["Name"] = "N";
            d["Int32"] = "46";
            d["Decimal"] = "46.46";
            d["DateTime"] = "2014/12/17";
            d["DayOfWeek"] = "Friday";
            var u2 = config.Map(d, new User());

            Assert.AreEqual("N", u2.Name);
            Assert.AreEqual(46, u2.Int32);
            Assert.AreEqual(46.46m, u2.Decimal);
            Assert.AreEqual(new DateTime(2014, 12,17), u2.DateTime);
            Assert.AreEqual(DayOfWeek.Friday, u2.DayOfWeek);
        }
Exemplo n.º 36
0
        public void ObjectMapConfig_Map_Dictionary_Object_Convert_Failure()
        {
            var config = new ObjectMapConfig();

            var d = new Dictionary<String, String>();
            d["Decimal"] = "abc";
            var u2 = config.Map(d, new User());
            //Not changed...
            Assert.AreEqual(20.4m, u2.Decimal);
        }
Exemplo n.º 37
0
        public void ObjectMapConfig_Map_FromDecimalToInt32()
        {
            var config = new ObjectMapConfig();
            config.PropertyMapRules.Clear();

            var rule = new PropertyNameMappingRule();
            rule.PropertyNameMaps.Add("Int32", "Decimal");
            config.PropertyMapRules.Add(rule);

            var u1 = new User();
            u1.Int32 = 23;
            var u2 = config.Map(u1, new User());

            Assert.AreEqual(23m, u2.Decimal);
        }
Exemplo n.º 38
0
        public void ObjectMapConfig_Map_ListProperty()
        {
            var config = new ObjectMapConfig();
            config.AddConverter<String[]>(o =>
            {
                if (o is String[])
                {
                    return new ConvertResult<String[]>(true, o as String[]);
                }
                return new ConvertResult<String[]>();
            });

            var u1 = new User();
            for (int i = 0; i < 3; i++)
            {
                u1.Users.Add(new User("TestUser" + i.ToString()));
            }
            var u2 = config.Map(u1, new User());

            Assert.AreEqual(0, u2.Users.Count);
        }
Exemplo n.º 39
0
        public void ObjectMapConfig_Map_Object_Dictionary()
        {
            var config = new ObjectMapConfig();

            var u1 = new User();
            var d = config.Map(u1, new Dictionary<String, Object>());

            Assert.AreEqual(u1.Name, d["Name"]);
            Assert.AreEqual(u1.Int32, d["Int32"]);
            Assert.AreEqual(u1.Decimal, d["Decimal"]);
            Assert.AreEqual(u1.DateTime, d["DateTime"]);
            Assert.AreEqual(u1.DayOfWeek, d["DayOfWeek"]);
            Assert.AreEqual(u1.MapPoint, d["MapPoint"]);
        }
Exemplo n.º 40
0
        public void ObjectMapConfig_Map_List_List()
        {
            var config = new ObjectMapConfig();

            var l1 = new List<User>();
            l1.Capacity = 100;
            l1.Add(new User());
            var l2 = config.Map(l1, new List<User>());

            Assert.AreEqual(0, l2.Count);
            Assert.AreEqual(100, l2.Capacity);
        }
Exemplo n.º 41
0
        public void ObjectMapConfig_Map_Object_Object()
        {
            var config = new ObjectMapConfig();

            var u1 = new User();

            var u2 = config.Map(u1, new User());

            Assert.AreEqual(u1.Name, u2.Name);
            Assert.AreEqual(u1.Int32, u2.Int32);
            Assert.AreEqual(u1.Decimal, u2.Decimal);
            Assert.AreEqual(u1.DateTime, u2.DateTime);
            Assert.AreEqual(u1.DayOfWeek, u2.DayOfWeek);

            Assert.AreEqual(u1.MapPoint.Latitude, u2.MapPoint.Latitude);
            Assert.AreEqual(u1.MapPoint.Longitude, u2.MapPoint.Longitude);
        }
Exemplo n.º 42
0
        public void ObjectMapConfig_Map_Object_Object_Convert_Failure()
        {
            var config = new ObjectMapConfig();
            config.PropertyMapRules.Clear();

            var rule = new PropertyNameMappingRule();
            rule.PropertyNameMaps.Add("Value", "Decimal");
            config.PropertyMapRules.Add(rule);

            var u1 = new User();
            u1.Value = "abc";
            var u2 = config.Map(u1, new User());
            //Not changed...
            Assert.AreEqual(20.4m, u2.Decimal);
        }
Exemplo n.º 43
0
        public void ObjectMapConfig_Map_Object_Object_SetNullablePropertyToNull()
        {
            var config = new ObjectMapConfig();

            var u1 = new User();
            u1.DecimalNullable = null;
            var u2 = config.Map(u1, new User() { DecimalNullable = 23.4m });

            Assert.IsNull(u2.DecimalNullable);
        }
Exemplo n.º 44
0
        public void ObjectMapConfig_RemovePropertyMap()
        {
            var config = new ObjectMapConfig();
            config.PropertyMapRules.Clear();
            var rule = new SuffixPropertyMappingRule("Nullable");
            config.PropertyMapRules.Add(rule);
            config.RemovePropertyMap<User, User>(new String[] { "DecimalNullable", "DateTimeNullable", "DayOfWeekNullable" }, null);

            var u1 = new User();
            var u2 = config.Map(u1, new User());

            Assert.AreEqual(u1.Name, u2.Name);
            Assert.AreEqual(u1.Int32, u2.Int32Nullable);
            Assert.IsNull(u2.DecimalNullable);
            Assert.IsNull(u2.DateTimeNullable);
            Assert.IsNull(u2.DayOfWeekNullable);

            Assert.AreEqual(u1.MapPoint.Latitude, u2.MapPoint.Latitude);
            Assert.AreEqual(u1.MapPoint.Longitude, u2.MapPoint.Longitude);
        }
Exemplo n.º 45
0
        public void ObjectMapConfig_DefaultTypeConverter()
        {
            var config = new ObjectMapConfig();
            var rules = config.PropertyMapRules.ToArray();
            config.PropertyMapRules.Clear();

            config.PropertyMapRules.Clear();
            var rule = new PropertyNameMappingRule();
            rule.PropertyNameMaps.Add("Value", "Int32");
            rule.PropertyNameMaps.Add("Value", "DateTime");
            rule.PropertyNameMaps.Add("Value", "Decimal");
            rule.PropertyNameMaps.Add("Value", "DayOfWeek");
            config.PropertyMapRules.Add(rule);

            var u1 = new User();
            {
                u1.Value = "23";
                var u2 = config.Map(u1, new User());
                Assert.AreEqual(23, u2.Int32);
            }
            {
                u1.Value = "2014/12/17 00:00:00";
                var u2 = config.Map(u1, new User());
                Assert.AreEqual(new DateTime(2014, 12, 17), u2.DateTime);
            }
            {
                u1.Value = "23.4";
                var u2 = config.Map(u1, new User());
                Assert.AreEqual(23.4m, u2.Decimal);
            }
            {
                u1.Value = "Friday";
                var u2 = config.Map(u1, new User());
                Assert.AreEqual(DayOfWeek.Friday, u2.DayOfWeek);
            }
        }