public void TestCloneSerializer() { TestObject[] copies = new TestObject[3]; TestObject objB, objA = TestObject.Create(); using (ObjectCloner cloner = new SerializerClone()) { objB = cloner.Clone(objA); for (int i = 0; i < copies.Length; i++) copies[i] = cloner.Clone(objB); } AssertDifferences(objA, objB); //not using serialization yields new instance of singleton Assert.IsTrue(Object.ReferenceEquals(objA.singletonData, objB.singletonData)); //not using serializaiton skips all custom routines Assert.IsFalse(objA.customData.CustomData); Assert.IsFalse(objA.customData.Deserialized); Assert.IsTrue(objB.customData.CustomData); Assert.IsTrue(objB.customData.Deserialized); }
public void TestCloneSerializer() { TestObject[] copies = new TestObject[3]; TestObject objB, objA = TestObject.Create(); using (ObjectCloner cloner = new SerializerClone()) { objB = cloner.Clone(objA); for (int i = 0; i < copies.Length; i++) { copies[i] = cloner.Clone(objB); } } AssertDifferences(objA, objB); //not using serialization yields new instance of singleton Assert.IsTrue(Object.ReferenceEquals(objA.singletonData, objB.singletonData)); //not using serializaiton skips all custom routines Assert.IsFalse(objA.customData.CustomData); Assert.IsFalse(objA.customData.Deserialized); Assert.IsTrue(objB.customData.CustomData); Assert.IsTrue(objB.customData.Deserialized); }
public void TestBadSerializer() { using (ObjectCloner c = new SerializerClone()) c.Clone(new BadSerializer()); }