static void AssertValuesEqual(ContainerV1 clone, ContainerV2 obj) { Assert.That(clone.Value1, Is.EqualTo(obj.Value1)); Assert.That(clone.Value2, Is.EqualTo(obj.Value2)); Assert.That(clone.Value3, Is.EqualTo(obj.Value3)); Assert.That(clone.Value4, Is.EqualTo(obj.Value4)); Assert.That(clone.Value5, Is.EqualTo(obj.Value5)); Assert.That(clone.Value6, Is.EqualTo(obj.Value6)); }
public void ExecuteValuesReversed() { var tm = TypeModel.Create(); ContainerV2 obj = MakeWithRefs2(); ContainerV1 clone = tm.ChangeType <ContainerV2, ContainerV1>(obj); AssertValuesEqual(clone, obj); // was serialized as ref Assert.That(clone.Value6, Is.SameAs(clone.Value4)); }
public void ExecuteValues() { var tm = TypeModel.Create(); ContainerV1 obj = MakeWithRefs(); ContainerV2 clone = tm.ChangeType <ContainerV1, ContainerV2>(obj); AssertValuesEqual(clone, obj); // was serialized not as ref Assert.That(clone.Value6, Is.Not.SameAs(clone.Value4)); }
static ContainerV2 MakeWithRefs2() { var obj = new ContainerV2() { Value1 = "abc", Value2 = "def", Value4 = new Custom(1), Value5 = new Custom(2), }; obj.Value3 = obj.Value1; obj.Value6 = obj.Value4; return(obj); }