public void SelectRecursive_returns_enumerable_with_all_items_when_the_child_selector_returns_null()
        {
            IEnumerable <Test> data = new List <Test> {
                new Test {
                    Children = new List <Test> {
                        new Test()
                    }
                },
                new Test()
            };

            Assert.Equal(3, data.SelectRecursive(parent => parent.Children).Count());
        }
        public void SelectRecursive_returns_enumerable_with_all_items_from_homogenous_enimerable_hierarchy()
        {
            IEnumerable <Test> data = new List <Test> {
                new Test {
                    Children = new List <Test> {
                        new Test()
                        {
                            Children = new List <Test>()
                        }
                    }
                },
                new Test {
                    Children = new List <Test>()
                }
            };

            Assert.Equal(3, data.SelectRecursive(parent => parent.Children).Count());
        }
        public void SelectRecursive_returns_enumerable_with_all_items_when_the_child_selector_returns_null()
        {
            IEnumerable<Test> data = new List<Test> {
                new Test {
                    Children = new List<Test> { new Test()}
                },
                new Test()
            };

            Assert.Equal(3, data.SelectRecursive(parent => parent.Children).Count());
        }
        public void SelectRecursive_returns_enumerable_with_all_items_from_homogenous_enimerable_hierarchy()
        {
            IEnumerable<Test> data = new List<Test> {
                new Test {
                    Children = new List<Test> { new Test() {Children = new List<Test>()}}
                },
                new Test {
                    Children = new List<Test>()
                }
            };

            Assert.Equal(3, data.SelectRecursive(parent => parent.Children).Count());
        }