public void InspectObject_With_CircularReference() { var parent = new ClassWithCircularReference_Parent(); parent.Child = new ClassWithCircularReference_Child(); parent.Child.Parent = parent; var itensFounded = new List<object>(); _objectInspector.InspectObject(parent, value => { itensFounded.Add(value); }); Assert.AreEqual(1, itensFounded.Count(p => p.Equals(parent)), "Deveria ter achado o objeto parent apenas uma vez"); Assert.AreEqual(1, itensFounded.Count(p => p.Equals(parent.Child)), "Deveria ter achado o objeto parent.Child apenas uma vez"); }
public void InspectObject_With_CircularReference() { var parent = new ClassWithCircularReference_Parent(); parent.Child = new ClassWithCircularReference_Child(); parent.Child.Parent = parent; var itensFounded = new List <object>(); _objectInspector.InspectObject(parent, value => { itensFounded.Add(value); }); Assert.AreEqual(1, itensFounded.Count(p => p.Equals(parent)), "Deveria ter achado o objeto parent apenas uma vez"); Assert.AreEqual(1, itensFounded.Count(p => p.Equals(parent.Child)), "Deveria ter achado o objeto parent.Child apenas uma vez"); }