public void DeepClone_ObjectTypeAsProperty_StructType(TypeModel model) { var obj = new ObjectAsMember() { ObjectProperty = new ItemStruct() { Item = new ItemClass() { Message = "test" }, Message = "12,12" } }; var clone = (ObjectAsMember)model.DeepClone(obj); var originalObj = (ItemStruct)obj.ObjectProperty; var cloneObj = (ItemStruct)clone.ObjectProperty; Assert.AreEqual(originalObj.Message, cloneObj.Message); Assert.AreEqual(originalObj.Item.Message, cloneObj.Item.Message); }
public void DeepClone_ObjectTypeAsProperty_CheckReference(TypeModel model) { var itemClass = new ItemClass() { Message = "Maintain Reference Please" }; var obj = new ObjectAsMember() { ObjectProperty = itemClass, _objectField = itemClass }; var clone = (ObjectAsMember)model.DeepClone(obj); var originalObj = (ItemClass)obj.ObjectProperty; var cloneObj = (ItemClass)clone.ObjectProperty; Assert.AreEqual(originalObj.Message, cloneObj.Message); Assert.IsTrue(object.ReferenceEquals(obj.ObjectProperty, obj._objectField), "Original reference failed"); Assert.IsTrue(object.ReferenceEquals(clone.ObjectProperty, clone._objectField), "Clone reference not maintained"); }
public void DeepClone_ObjectTypeAsProperty_GuidStructType(TypeModel model) { var obj = new ObjectAsMember() { ObjectProperty = new Guid("8BE18D34-9477-11E1-993E-6331BBE59B18") }; var clone = (ObjectAsMember)model.DeepClone(obj); var originalObj = (Guid)obj.ObjectProperty; var cloneObj = (Guid)clone.ObjectProperty; Assert.AreEqual(originalObj, cloneObj); }
public void DeepClone_ObjectTypeAsProperty_DateTimeStructType(TypeModel model) { var obj = new ObjectAsMember() { ObjectProperty = new DateTime(2012, 05, 02) }; var clone = (ObjectAsMember)model.DeepClone(obj); var originalObj = (DateTime)obj.ObjectProperty; var cloneObj = (DateTime)clone.ObjectProperty; Assert.AreEqual(originalObj, cloneObj); }
public void DeepClone_ObjectTypeAsProperty_PrimitiveType(TypeModel model) { var obj = new ObjectAsMember() { ObjectProperty = 620 }; var clone = (ObjectAsMember)model.DeepClone(obj); var originalObj = (int)obj.ObjectProperty; var cloneObj = (int)clone.ObjectProperty; Assert.AreEqual(originalObj, cloneObj); }
public void DeepClone_ObjectTypeAsProperty_ReferenceType(TypeModel model) { var obj = new ObjectAsMember() { ObjectProperty = new ItemClass() { Message = "Test" } }; var clone = (ObjectAsMember)model.DeepClone(obj); var originalObj = (ItemClass)obj.ObjectProperty; var cloneObj = (ItemClass)clone.ObjectProperty; Assert.AreEqual(originalObj.Message, cloneObj.Message); }
public void DeepClone_ObjecTypeAsField(TypeModel model) { var obj = new ObjectAsMember() { _objectField = new ItemClass() { Message = "Test" } }; var clone = (ObjectAsMember)model.DeepClone(obj); var originalObj = (ItemClass)obj._objectField; var cloneObj = (ItemClass)clone._objectField; Assert.AreEqual(originalObj.Message, cloneObj.Message); }