public void DeepClone_ArrayWithNullItem_AsReference(TypeModel model) { var list = new ArrayOfClass() { Collection = new ItemClass[] { new ItemClass() { Message = "Hi there"}, null, new ItemClass() { Message = "How are you ?"} } }; var clone = (ArrayOfClass)model.DeepClone(list); Assert.AreEqual(list.Collection.Length, clone.Collection.Length); Assert.AreEqual(list.Collection[0].Message, clone.Collection[0].Message); Assert.IsNull(clone.Collection[1]); Assert.AreEqual(list.Collection[2].Message, clone.Collection[2].Message); }
public void DeepClone_ArrayNull_NotAsReference(TypeModel model) { var manualModel = TypeModel.Create(); manualModel.Add(typeof(ArrayOfClass), true).AddField(1, "Collection"); manualModel.Add(typeof(ItemClass), true); var array = new ArrayOfClass() { Collection = null }; var clone = (ArrayOfClass)manualModel.DeepClone(array); Assert.IsNull(clone.Collection); }
public void DeepClone_ArrayEmpty_AsReference(TypeModel model) { var array = new ArrayOfClass() { Collection = new ItemClass[] { } }; var clone = (ArrayOfClass)model.DeepClone(array); Assert.IsNotNull(clone.Collection); Assert.AreEqual(clone.Collection.Length, 0); }
public void DeepClone_ArrayNull_AsReference(TypeModel model) { var array = new ArrayOfClass() { Collection = null }; var clone = (ArrayOfClass)model.DeepClone(array); Assert.IsNull(clone.Collection); }
public void DeepClone_ArrayOfClass_AsReference(TypeModel model) { var array = new ArrayOfClass() { Collection = new ItemClass[] { new ItemClass() { Message = "hello" }, new ItemClass() { Message = "lol" } } }; var clone = (ArrayOfClass)model.DeepClone(array); Assert.AreEqual(array.Collection.Length, clone.Collection.Length); Assert.AreEqual(array.Collection[0].Message, clone.Collection[0].Message); Assert.AreEqual(array.Collection[1].Message, clone.Collection[1].Message); }