public void ValidateBreadthFirstForEachSingleRoot() { var rootTreeNode = new TreeNode(1, new List<TreeNode>() { new TreeNode(2, new List<TreeNode>() { new TreeNode(5), new TreeNode(6), new TreeNode(7) }), new TreeNode(3, new List<TreeNode>() { new TreeNode(8), new TreeNode(9), new TreeNode(10) }), new TreeNode(4, new List<TreeNode>() { new TreeNode(11), new TreeNode(12), new TreeNode(13) }), }); var results = new List<int>(); rootTreeNode.ForEach(TraversalType.BreadthFirst, i => i.ChildItems, i => results.Add(i.Index)); CollectionAssert.AreEqual(Enumerable.Range(1, 13), results); }