예제 #1
0
        public void CanCloneModel()
        {
            var model = new CloneModel {
                IntProperty    = 1,
                StringProperty = "test",
                ListProperty   = new List <int> {
                    1
                },
                ObjectProperty = new CloneModel {
                    IntProperty = 1
                }
            };

            var cloned = model.DeepClone();

            Assert.Equal(model.IntProperty, cloned.IntProperty);
            Assert.Equal(model.StringProperty, cloned.StringProperty);
            Assert.Equal(model.ListProperty, cloned.ListProperty);
            Assert.Equal(((CloneModel)model.ObjectProperty).IntProperty, ((CloneModel)model.ObjectProperty).IntProperty);
        }
예제 #2
0
        public void CanCloneModel()
        {
            var model = new CloneModel {
                IntProperty    = 1,
                StringProperty = "test",
                ListProperty   = new List <int> {
                    1
                },
                HashSet        = new HashSet <string>(),
                ObjectProperty = new CloneModel {
                    IntProperty = 1
                }
            };

            var cloned = model.DeepClone();

            Assert.Equal(model.IntProperty, cloned.IntProperty);
            Assert.Equal(model.StringProperty, cloned.StringProperty);
            Assert.Equal(model.ListProperty, cloned.ListProperty);
            Assert.Equal(model.EmptyStringList, cloned.EmptyStringList);
            Assert.Equal(model.EmptyHashSet, cloned.EmptyHashSet);
            Assert.Equal(model.HashSet, cloned.HashSet);
            Assert.Equal(((CloneModel)model.ObjectProperty).IntProperty, ((CloneModel)model.ObjectProperty).IntProperty);
        }