public void SelectBreadthFirst ()
{
#region SelectBreadthFirst
TreeNode<int>[] root = new TreeNode<int>[] {
new TreeNode<int> {
Value = 1, Children = new [] {
new TreeNode<int> { Value = 2 },
new TreeNode<int> {
Value = 3, Children = new [] {
new TreeNode<int> { Value = 5 },
}
},
new TreeNode<int> { Value = 4 },
}
},
new TreeNode<int> { Value = -1 },
};
IEnumerable<int> values = root
.SelectBreadthFirst (x => x.Value, x => x.Children);
AssertAreSame (new[]{ 1, 2, 3, 4, 5, -1 }, values);
#endregion
}