public void Recursive_object_tree() { var p = new Parent(); p.grandParent = p; _sut.Process(p); Assert.AreEqual(5, _fragments.Count); Assert.AreEqual(new ObjectReferenceFragment(1), _fragments[3]); }
public void Multiple_refs_to_same_obj() { var c = new Child {s = "a"}; var p = new Parent {left = c, right = c}; _sut.Process(p); Assert.AreEqual(7, _fragments.Count); Assert.AreEqual(new OpeningFragment(c.GetType().ToString()), _fragments[1]); Assert.AreEqual("a", _fragments[2]); Assert.AreEqual(new ObjectReferenceFragment(2), _fragments[4]); }