public void GetFailureMechanismAssemblyGroups_AssemblySucceeds_CorrectlySetsProperties()
        {
            // Setup
            var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike);

            using (new AssemblyToolCalculatorFactoryConfig())
            {
                // Call
                var properties = new FailureMechanismSectionAssemblyGroupsProperties(assessmentSection);

                // Assert
                FailureMechanismSectionAssemblyGroupProperties[]             failureMechanismAssemblyGroups = properties.FailureMechanismAssemblyGroups;
                IEnumerable <FailureMechanismSectionAssemblyGroupBoundaries> output =
                    FailureMechanismSectionAssemblyGroupsHelper.GetFailureMechanismSectionAssemblyGroupBoundaries(assessmentSection);

                Assert.AreEqual(output.Count(), failureMechanismAssemblyGroups.Length);
                for (var i = 0; i < output.Count(); i++)
                {
                    FailureMechanismSectionAssemblyGroupBoundaries assemblyGroupBoundaries = output.ElementAt(i);

                    FailureMechanismSectionAssemblyGroupProperties property = failureMechanismAssemblyGroups[i];
                    Assert.AreEqual(assemblyGroupBoundaries.FailureMechanismSectionAssemblyGroup, property.Group);
                    Assert.AreEqual(assemblyGroupBoundaries.UpperBoundary, property.UpperBoundary);
                    Assert.AreEqual(assemblyGroupBoundaries.LowerBoundary, property.LowerBoundary);
                }
            }
        }
        public void Constructor_ValidParameters_ExpectedValues()
        {
            // Setup
            var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike);

            // Call
            var properties = new FailureMechanismSectionAssemblyGroupsProperties(assessmentSection);

            // Assert
            Assert.IsInstanceOf <FailureMechanismSectionAssemblyGroupsProperties>(properties);
            Assert.AreSame(assessmentSection, properties.Data);
            TestHelper.AssertTypeConverter <FailureMechanismSectionAssemblyGroupsProperties, ExpandableArrayConverter>(
                nameof(FailureMechanismSectionAssemblyGroupsProperties.FailureMechanismAssemblyGroups));
        }
        public void Constructor_Always_PropertiesHaveExpectedAttributesValues()
        {
            // Call
            var properties = new FailureMechanismSectionAssemblyGroupsProperties(new AssessmentSection(AssessmentSectionComposition.Dike));

            // Assert
            PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties);

            Assert.AreEqual(1, dynamicProperties.Count);

            const string generalCategoryName = "Algemeen";

            PropertyDescriptor failureMechanismSectionCategoriesProperty = dynamicProperties[0];

            PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(failureMechanismSectionCategoriesProperty,
                                                                            generalCategoryName,
                                                                            "Duidingsklassen",
                                                                            "De duidingsklassen voor het traject.",
                                                                            true);
        }