public void DeepClone_KeyValuePairWithNullItem(TypeModel model) { var obj = new KeyValuePairWrapper() { Property = new KeyValuePair<int, ItemClass>(12, null) }; var clone = (KeyValuePairWrapper)model.DeepClone(obj); Assert.AreEqual(obj.Field.Key, clone.Field.Key); Assert.IsNull(clone.Property.Value); }
public void DeepClone_KeyValuePairAsField(TypeModel model) { var obj = new KeyValuePairWrapper() { Field = new KeyValuePair<int, ItemClass>(12, new ItemClass() { Message = "ABC" }) }; var clone = (KeyValuePairWrapper)model.DeepClone(obj); Assert.AreEqual(obj.Field.Key, clone.Field.Key); Assert.AreEqual(obj.Field.Value.Message, clone.Field.Value.Message); }
public void DeepClone_KeyValuePairWithRef(TypeModel model) { var itemClass = new ItemClass() { Message = "ABC" }; var obj = new KeyValuePairWrapper() { Reference = new KeyValuePair<IItemClass, IItemClass>(itemClass, itemClass) }; var clone = (KeyValuePairWrapper)model.DeepClone(obj); Assert.AreEqual(obj.Reference.Key.Message, clone.Reference.Key.Message); Assert.IsTrue(object.ReferenceEquals(obj.Reference.Key, obj.Reference.Value), "Original reference failed"); Assert.IsTrue(object.ReferenceEquals(clone.Reference.Key, clone.Reference.Value), "Clone reference not maintained"); }
public void DeepClone_KeyValuePairWithRefDefinedBefore(TypeModel model) { var itemClass = new ItemClass() { Message = "ABC" }; var obj = new KeyValuePairWrapper() { ListRefDefinedBefore = new KeyValuePair<IItemClass, List<IItemClass>> ( itemClass, new List<IItemClass>() { new ItemClass() { Message = "Stewie" }, itemClass } ) }; var clone = (KeyValuePairWrapper)model.DeepClone(obj); Assert.AreEqual(obj.ListRefDefinedBefore.Key.Message, clone.ListRefDefinedBefore.Key.Message); Assert.AreEqual(obj.ListRefDefinedBefore.Value.Count, clone.ListRefDefinedBefore.Value.Count); Assert.AreEqual(obj.ListRefDefinedBefore.Value[0].Message, clone.ListRefDefinedBefore.Value[0].Message); Assert.AreEqual(obj.ListRefDefinedBefore.Value[1].Message, clone.ListRefDefinedBefore.Value[1].Message); Assert.IsTrue(object.ReferenceEquals(obj.ListRefDefinedBefore.Key, obj.ListRefDefinedBefore.Value[1]), "Original reference failed"); Assert.IsTrue(object.ReferenceEquals(clone.ListRefDefinedBefore.Key, clone.ListRefDefinedBefore.Value[1]), "Clone reference not maintained"); }
private bool IsZoneLayerAlreadyAdded(KeyValuePairWrapper keyValuePairWrapper) { return(MapControl.Map.Layers.OfType <EidssUserBufZoneLayer>().Any(layer => (layer).LayerDbGuid == keyValuePairWrapper.Key)); }
public void DeepClone_KeyValuePairWithList(TypeModel model) { var obj = new KeyValuePairWrapper() { WithList = new KeyValuePair<int, List<IItemClass>> ( 12, new List<IItemClass>() { new ItemClass() { Message = "Homer" }, null, new ItemClass() { Message = "Simpsons" } } ) }; var clone = (KeyValuePairWrapper)model.DeepClone(obj); Assert.AreEqual(obj.WithList.Key, clone.WithList.Key); Assert.AreEqual(obj.WithList.Value.Count, clone.WithList.Value.Count); Assert.AreEqual(obj.WithList.Value.Count, clone.WithList.Value.Count); Assert.AreEqual(obj.WithList.Value[0].Message, clone.WithList.Value[0].Message); Assert.IsNull(clone.WithList.Value[1]); Assert.AreEqual(obj.WithList.Value[2].Message, clone.WithList.Value[2].Message); }
public void DeepClone_KeyValuePairWithListItemRef(TypeModel model) { var itemClass = new ItemClass() { Message = "Test test" }; var list = new List<IItemClass>() { itemClass, new ItemClass() { Message = "Filler" }, itemClass }; var obj = new KeyValuePairWrapper() { WithList = new KeyValuePair<int, List<IItemClass>>(12, list) }; var clone = (KeyValuePairWrapper)model.DeepClone(obj); Assert.AreEqual(obj.WithList.Key, clone.WithList.Key); Assert.AreEqual(3, clone.WithList.Value.Count); Assert.AreEqual(obj.WithList.Value[0].Message, clone.WithList.Value[0].Message); Assert.AreEqual(obj.WithList.Value[1].Message, clone.WithList.Value[1].Message); Assert.AreEqual(obj.WithList.Value[2].Message, clone.WithList.Value[2].Message); Assert.IsTrue(object.ReferenceEquals(obj.WithList.Value[0], obj.WithList.Value[2]), "Original reference failed"); Assert.IsTrue(object.ReferenceEquals(clone.WithList.Value[0], clone.WithList.Value[2]), "Clone reference not maintained"); }
public void DeepClone_KeyValuePairWithListRef(TypeModel model) { var list = new List<IItemClass>() { new ItemClass() { Message = "Homer" } }; var obj = new KeyValuePairWrapper() { ListRef = new KeyValuePair<List<IItemClass>, List<IItemClass>>(list, list) }; var clone = (KeyValuePairWrapper)model.DeepClone(obj); Assert.AreEqual(1, clone.ListRef.Key.Count); Assert.AreEqual(1, clone.ListRef.Value.Count); Assert.AreEqual(obj.ListRef.Key[0].Message, clone.ListRef.Key[0].Message); Assert.AreEqual(obj.ListRef.Value[0].Message, clone.ListRef.Value[0].Message); Assert.IsTrue(object.ReferenceEquals(obj.ListRef.Key, obj.ListRef.Value), "Original reference failed"); Assert.IsTrue(object.ReferenceEquals(clone.ListRef.Key, clone.ListRef.Value), "Clone reference not maintained"); }