public void DescendantsAndSelfFromLeave() { var startNode = _tree[111112]; var result = HierarchyWalker.DescendantsAndSelf(startNode, n => n.Children).SingleOrDefault(); Assert.True(result != null); Assert.True(result.NodeId == 111112); }
public void DescendantsAndSelf() { var startNode = _tree[1111]; var expectedNodes = new[] { 1111, 11111, 11112, 11113, 111111, 111112 }; var result = HierarchyWalker.DescendantsAndSelf(startNode, n => n.Children); var resultNodes = result.Select(n => n.NodeId).ToList(); Assert.True(expectedNodes.Length == resultNodes.Count); Assert.True(expectedNodes.All(node => resultNodes.Contains(node))); }