public void StringInterned() { var obj = new StringInternedType { Foo = GetString(), Bar = GetString() }; Assert.False(ReferenceEquals(obj.Foo, obj.Bar)); var clone = Serializer.DeepClone(obj); Assert.Equal(obj.Foo, clone.Foo); Assert.Equal(obj.Bar, clone.Bar); Assert.True(ReferenceEquals(clone.Foo, clone.Bar)); }
public void StringInterned() { var model = RuntimeTypeModel.Create(); model.InternStrings = true; var obj = new StringInternedType { Foo = GetString(), Bar = GetString() }; Assert.False(ReferenceEquals(obj.Foo, obj.Bar)); var clone = (StringInternedType)model.DeepClone(obj); Assert.Equal(obj.Foo, clone.Foo); Assert.Equal(obj.Bar, clone.Bar); Assert.True(ReferenceEquals(clone.Foo, clone.Bar)); }
public void StringInterned() { var obj = new StringInternedType { Foo = GetString(), Bar = GetString() }; Assert.IsFalse(ReferenceEquals(obj.Foo, obj.Bar)); var clone = Serializer.DeepClone(obj); Assert.AreEqual(obj.Foo, clone.Foo); Assert.AreEqual(obj.Bar, clone.Bar); Assert.IsTrue(ReferenceEquals(clone.Foo, clone.Bar)); }