public void ItCanAddChildrenProviders()
            {
                var childProvider = new SomeGenericProvider();

                var parentProvider = _control.AsValueControl<TestValueControl>()
                        .WithChildren(childProvider).ControlProvider;

                childProvider.Parent.Should().BeSameAs(parentProvider);
                parentProvider.Children.Should().Equal(new [] { childProvider });
            }
            public void ItCanAddChildrenProviders()
            {
                var childProvider = new SomeGenericProvider();

                var parentProvider = _control.AsValueControl <TestValueControl>()
                                     .WithChildren(childProvider).ControlProvider;

                childProvider.Parent.Should().BeSameAs(parentProvider);
                parentProvider.Children.Should().Equal(new [] { childProvider });
            }
            public void ItCanAddMultipleChildrenProviders()
            {
                var firstChild = new SomeGenericProvider();
                var secondChild = new SomeGenericProvider();

                var parentProvider = _control.AsValueControl<TestValueControl>()
                       .WithChildren(firstChild, secondChild).ControlProvider;

                parentProvider.Children.Should().Equal(new[] {firstChild, secondChild});
                parentProvider.Children.TrueForAll(child => child.Parent == parentProvider);
            }
            public void ItCanAddMultipleChildrenProviders()
            {
                var firstChild  = new SomeGenericProvider();
                var secondChild = new SomeGenericProvider();

                var parentProvider = _control.AsValueControl <TestValueControl>()
                                     .WithChildren(firstChild, secondChild).ControlProvider;

                parentProvider.Children.Should().Equal(new[] { firstChild, secondChild });
                parentProvider.Children.TrueForAll(child => child.Parent == parentProvider);
            }