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); }
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); }