public void Constructor_Always_PropertiesHaveExpectedAttributesValues()
        {
            // Call
            var properties = new WaterLevelCalculationsForNormTargetProbabilityProperties(new ObservableList <HydraulicBoundaryLocationCalculation>(), 0.1);

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

            Assert.AreEqual(2, dynamicProperties.Count);

            PropertyDescriptor targetProbabilityProperty = dynamicProperties[targetProbabilityPropertyIndex];

            PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(targetProbabilityProperty,
                                                                            "Algemeen",
                                                                            "Doelkans [1/jaar]",
                                                                            "Overschrijdingskans waarvoor de hydraulische belastingen worden berekend.",
                                                                            true);

            PropertyDescriptor locationsProperty = dynamicProperties[calculationsPropertyIndex];

            PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(locationsProperty,
                                                                            "Algemeen",
                                                                            "Locaties",
                                                                            "Locaties uit de hydraulische belastingendatabase.",
                                                                            true);
        }
        public void Constructor_ValidParameters_ExpectedValues()
        {
            // Setup
            var hydraulicBoundaryLocationCalculations = new ObservableList <HydraulicBoundaryLocationCalculation>();

            // Call
            var properties = new WaterLevelCalculationsForNormTargetProbabilityProperties(hydraulicBoundaryLocationCalculations, 0.1);

            // Assert
            Assert.IsInstanceOf <DesignWaterLevelCalculationsProperties>(properties);
            Assert.AreSame(hydraulicBoundaryLocationCalculations, properties.Data);
            TestHelper.AssertTypeConverter <WaterLevelCalculationsForNormTargetProbabilityProperties, ExpandableArrayConverter>(
                nameof(WaterLevelCalculationsForNormTargetProbabilityProperties.Calculations));
            TestHelper.AssertTypeConverter <WaterLevelCalculationsForNormTargetProbabilityProperties, NoProbabilityValueDoubleConverter>(
                nameof(WaterLevelCalculationsForNormTargetProbabilityProperties.TargetProbability));
        }
        public void GetProperties_WithData_ReturnExpectedValues()
        {
            // Setup
            const double targetProbability = 0.1;
            var          hydraulicBoundaryLocationCalculations = new ObservableList <HydraulicBoundaryLocationCalculation>
            {
                new HydraulicBoundaryLocationCalculation(new TestHydraulicBoundaryLocation())
            };

            // Call
            var properties = new WaterLevelCalculationsForNormTargetProbabilityProperties(hydraulicBoundaryLocationCalculations, targetProbability);

            // Assert
            Assert.AreEqual(targetProbability, properties.TargetProbability);
            Assert.AreEqual(1, properties.Calculations.Length);
        }