public void CanAddGrandGrandChildWithChildren()
{
var parent = new TestTreeEntry { Name = "parent" };
var child = new TestTreeEntry { Name = "child" };
var grandChild = new TestTreeEntry { Name = "grandChild" };
var grandGrandChild = new TestTreeEntry { Name = "grandGrandChild" };
grandChild.AddChild(grandGrandChild);
child.AddChild(grandChild);
parent.AddChild(child);
parent.IsParentOf(child);
parent.IsAncestorOf(grandChild);
parent.IsAncestorOf(grandGrandChild);
child.IsParentOf(grandChild);
child.IsAncestorOf(grandGrandChild);
grandChild.IsParentOf(grandGrandChild);
}