Пример #1
0
        public void JsonClonePropertyToFieldTests()
        {
            var test = new PropertyClass
            {
                Name         = "hello",
                Age          = 1,
                Weight       = 47.11,
                DayOfWeek    = DayOfWeek.Monday,
                ListOfString = new List <string> {
                    "A", "B", "C"
                }
            };
            var result = test.JsonClone <PropertyClass, FieldClass>();

            Assert.Equal(typeof(FieldClass), result.GetType());
            Assert.Equal(test.Name, result.Name);
            Assert.Equal(test.Age, result.Age);
            Assert.Equal(test.Weight, result.Weight);
            Assert.Equal(test.DayOfWeek, result.DayOfWeek);
            Assert.Equal(test.ListOfString.Count, result.ListOfString.Count);
            Assert.Equal(test.ListOfString[0], result.ListOfString[0]);
            Assert.Equal(test.ListOfString[1], result.ListOfString[1]);
            Assert.Equal(test.ListOfString[2], result.ListOfString[2]);
            test.Name = "";
            Assert.NotEqual(test.Name, result.Name);
            test.Age = 0;
            Assert.NotEqual(test.Age, result.Age);
            test.Weight = 0;
            Assert.NotEqual(test.Weight, result.Weight);
            test.DayOfWeek = DayOfWeek.Friday;
            Assert.NotEqual(test.DayOfWeek, result.DayOfWeek);
            test.ListOfString.Add("D");
            Assert.Equal(4, test.ListOfString.Count);
            Assert.Equal(3, result.ListOfString.Count);
            result.ListOfString.Add("D");
            result.ListOfString.Add("E");
            Assert.Equal(4, test.ListOfString.Count);
            Assert.Equal(5, result.ListOfString.Count);
        }