public ReflectedObject(object o, LeafRegistry registry) { this.o = o; leafRegister = registry; if (o != null) { @class = new Class(o.GetType()); @class.IgnoreClass(ignoredType); fields = new Fields(this.o); } }
public void Parent_object_refers_to_two_objects___the_objects_havent_changed_but_the_reference_on_parent_has_changed() { ParentObjectForTest parentObjectForTest = new ParentObjectForTest(); parentObjectForTest.ChildObjectForTest1 = new ChildObjectForTest(1); parentObjectForTest.ChildObjectForTest2 = new ChildObjectForTest(2); ParentObjectForTest clonedParent = new ParentObjectForTest(); parentObjectForTest.ChildObjectForTest1 = new ChildObjectForTest(1); clonedParent.ChildObjectForTest2 = clonedParent.ChildObjectForTest1; LeafRegistry registry = new LeafRegistry(); registry.IgnoreLeaf(typeof(MetaDataForTest)); new ObjectComparer().Compare(parentObjectForTest, clonedParent, registry); Assert.AreEqual(Tristate.Eager, clonedParent.ComparisonStatus.State); }