public void GetFieldDescriptionHierarchy_WhenEmptyEnumerableIsPassed_ReturnsRootFieldNodeWithNoChildren()
        {
            var provider = new InheritedLocalFieldDescriptionsProviderBase();
            var expectedNumberOfChildren = 0;

            var rootNode = provider.ExposedGetFieldDescriptionHierarchy(new List <IDataFieldInfo>()
            {
            });
            var actualNumberOfChildren = rootNode.Children.Count;

            Assert.AreEqual(expectedNumberOfChildren, actualNumberOfChildren);
        }
        public void GetFieldDescriptionHierarchy_WhenEnumerableWithValidDescriptionsIsPassed_ReturnsRootNodeWithSelectableFieldInfoNodes()
        {
            var provider = new InheritedLocalFieldDescriptionsProviderBase();

            var rootNode = provider.ExposedGetFieldDescriptionHierarchy(new List <IDataFieldInfo>()
            {
                new MockedFieldInfo(),
                new MockedFieldInfo()
            });

            var allChildrenAreSelectable = rootNode.Children.All(inf => inf.Role == ContainerNodeRole.Selectable);

            Assert.IsTrue(allChildrenAreSelectable);
        }
        public void GetFieldDescriptionHierarchy_WhenNullDescriptionsArePassed_ThrowsArgumentNullException()
        {
            var provider = new InheritedLocalFieldDescriptionsProviderBase();

            try
            {
                provider.ExposedGetFieldDescriptionHierarchy(null);

                Assert.Fail("ArgumentNullException expected.");
            }
            catch (ArgumentNullException)
            {
            }
        }
        public void GetFieldDescriptionHierarchy_WhenEnumerableWithValidDescriptionsIsPassed_ReturnsRootNodeWithFieldInfoNodeForEachFieldDescription()
        {
            var provider = new InheritedLocalFieldDescriptionsProviderBase();
            var expectedNumberOfChildren = 2;

            var rootNode = provider.ExposedGetFieldDescriptionHierarchy(new List <IDataFieldInfo>()
            {
                new MockedFieldInfo(),
                new MockedFieldInfo()
            });

            var actualNumberOfChildren = rootNode.Children.Count;

            Assert.AreEqual(expectedNumberOfChildren, actualNumberOfChildren);
        }