Index: Riskeer/DuneErosion/src/Riskeer.DuneErosion.Forms/Properties/Resources.Designer.cs =================================================================== diff -u -rd021fa9279b7ee0c48e83cf3ca5b3ffbcb2231e4 -rdf63d148df9de3967107de41ddc0ce67e14b94f9 --- Riskeer/DuneErosion/src/Riskeer.DuneErosion.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision d021fa9279b7ee0c48e83cf3ca5b3ffbcb2231e4) +++ Riskeer/DuneErosion/src/Riskeer.DuneErosion.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision df63d148df9de3967107de41ddc0ce67e14b94f9) @@ -132,6 +132,15 @@ } /// + /// Looks up a localized string similar to Berekende rekenwaarde voor de gemiddelde getijamplitude voor het uitvoeren van een sterkteberekeningen voor het faalmechanisme duinen.. + /// + internal static string DuneLocationCalculationOutput_MeanTidalAmplitude_Description { + get { + return ResourceManager.GetString("DuneLocationCalculationOutput_MeanTidalAmplitude_Description", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Gemiddelde getijamplitude [m]. /// internal static string DuneLocationCalculationOutput_MeanTidalAmplitude_DisplayName { @@ -141,6 +150,15 @@ } /// + /// Looks up a localized string similar to Berekende rekenwaarde voor de faseverschuiving tussen getij en opzet voor het uitvoeren van een sterkteberekeningen voor het faalmechanisme duinen.. + /// + internal static string DuneLocationCalculationOutput_TideSurgePhaseDifference_Description { + get { + return ResourceManager.GetString("DuneLocationCalculationOutput_TideSurgePhaseDifference_Description", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Berekende rekenwaarde voor de waterstand voor het uitvoeren van een sterkteberekening voor het faalmechanisme duinen.. /// internal static string DuneLocationCalculationOutput_WaterLevel_Description { @@ -159,6 +177,15 @@ } /// + /// Looks up a localized string similar to Berekende rekenwaarde voor de golfrichtingspreiding voor het uitvoeren van een sterkteberekeningen voor het faalmechanisme duinen.. + /// + internal static string DuneLocationCalculationOutput_WaveDirectionalSpread_Description { + get { + return ResourceManager.GetString("DuneLocationCalculationOutput_WaveDirectionalSpread_Description", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Golfrichtingspreiding [°]. /// internal static string DuneLocationCalculationOutput_WaveDirectionalSpread_DisplayName { Index: Riskeer/DuneErosion/src/Riskeer.DuneErosion.Forms/Properties/Resources.resx =================================================================== diff -u -rd021fa9279b7ee0c48e83cf3ca5b3ffbcb2231e4 -rdf63d148df9de3967107de41ddc0ce67e14b94f9 --- Riskeer/DuneErosion/src/Riskeer.DuneErosion.Forms/Properties/Resources.resx (.../Resources.resx) (revision d021fa9279b7ee0c48e83cf3ca5b3ffbcb2231e4) +++ Riskeer/DuneErosion/src/Riskeer.DuneErosion.Forms/Properties/Resources.resx (.../Resources.resx) (revision df63d148df9de3967107de41ddc0ce67e14b94f9) @@ -192,4 +192,13 @@ Faseverschuiving tussen getij en opzet - {0} + + Berekende rekenwaarde voor de faseverschuiving tussen getij en opzet voor het uitvoeren van een sterkteberekeningen voor het faalmechanisme duinen. + + + Berekende rekenwaarde voor de gemiddelde getijamplitude voor het uitvoeren van een sterkteberekeningen voor het faalmechanisme duinen. + + + Berekende rekenwaarde voor de golfrichtingspreiding voor het uitvoeren van een sterkteberekeningen voor het faalmechanisme duinen. + \ No newline at end of file Index: Riskeer/DuneErosion/src/Riskeer.DuneErosion.Forms/PropertyClasses/DuneLocationCalculationProperties.cs =================================================================== diff -u -r3a373f58d7b900028886c692d07002299eb4bd9b -rdf63d148df9de3967107de41ddc0ce67e14b94f9 --- Riskeer/DuneErosion/src/Riskeer.DuneErosion.Forms/PropertyClasses/DuneLocationCalculationProperties.cs (.../DuneLocationCalculationProperties.cs) (revision 3a373f58d7b900028886c692d07002299eb4bd9b) +++ Riskeer/DuneErosion/src/Riskeer.DuneErosion.Forms/PropertyClasses/DuneLocationCalculationProperties.cs (.../DuneLocationCalculationProperties.cs) (revision df63d148df9de3967107de41ddc0ce67e14b94f9) @@ -151,18 +151,42 @@ } [ResourcesCategory(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.Categories_Result))] - [ResourcesDisplayName(typeof(Resources), nameof(Resources.DuneLocation_D50_DisplayName))] - [ResourcesDescription(typeof(Resources), nameof(Resources.DuneLocation_D50_Description))] + [ResourcesDisplayName(typeof(Resources), nameof(Resources.DuneLocationCalculationOutput_MeanTidalAmplitude_DisplayName))] + [ResourcesDescription(typeof(Resources), nameof(Resources.DuneLocationCalculationOutput_MeanTidalAmplitude_Description))] [TypeConverter(typeof(NoValueRoundedDoubleConverter))] - public RoundedDouble D50 + public RoundedDouble MeanTidalAmplitude { get { - return data.DuneLocation.D50; + return data.Output?.MeanTidalAmplitude ?? RoundedDouble.NaN; } } - + [ResourcesCategory(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.Categories_Result))] + [ResourcesDisplayName(typeof(Resources), nameof(Resources.DuneLocationCalculationOutput_WaveDirectionalSpread_DisplayName))] + [ResourcesDescription(typeof(Resources), nameof(Resources.DuneLocationCalculationOutput_WaveDirectionalSpread_Description))] + [TypeConverter(typeof(NoValueRoundedDoubleConverter))] + public RoundedDouble WaveDirectionalSpread + { + get + { + return data.Output?.WaveDirectionalSpread ?? RoundedDouble.NaN; + } + } + + [ResourcesCategory(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.Categories_Result))] + [ResourcesDisplayName(typeof(Resources), nameof(Resources._DuneLocationCalculationOutput_TideSurgePhaseDifference_DisplayName))] + [ResourcesDescription(typeof(Resources), nameof(Resources.DuneLocationCalculationOutput_TideSurgePhaseDifference_Description))] + [TypeConverter(typeof(NoValueRoundedDoubleConverter))] + public RoundedDouble TideSurgePhaseDifference + { + get + { + return data.Output?.TideSurgePhaseDifference ?? RoundedDouble.NaN; + } + } + + [ResourcesCategory(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.Categories_Result))] [ResourcesDisplayName(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.CalculationOutput_TargetProbability_DisplayName))] [ResourcesDescription(typeof(RiskeerCommonFormsResources), nameof(RiskeerCommonFormsResources.CalculationOutput_TargetProbability_Description))] [TypeConverter(typeof(NoProbabilityValueDoubleConverter))] Index: Riskeer/DuneErosion/test/Riskeer.DuneErosion.Forms.Test/PropertyClasses/DuneLocationCalculationPropertiesTest.cs =================================================================== diff -u -rc9fe0ccb76e6f14d7a4cb891349402a85c856d8b -rdf63d148df9de3967107de41ddc0ce67e14b94f9 --- Riskeer/DuneErosion/test/Riskeer.DuneErosion.Forms.Test/PropertyClasses/DuneLocationCalculationPropertiesTest.cs (.../DuneLocationCalculationPropertiesTest.cs) (revision c9fe0ccb76e6f14d7a4cb891349402a85c856d8b) +++ Riskeer/DuneErosion/test/Riskeer.DuneErosion.Forms.Test/PropertyClasses/DuneLocationCalculationPropertiesTest.cs (.../DuneLocationCalculationPropertiesTest.cs) (revision df63d148df9de3967107de41ddc0ce67e14b94f9) @@ -48,12 +48,14 @@ private const int requiredWaterLevelPropertyIndex = 5; private const int requiredWaveHeightPropertyIndex = 6; private const int requiredWavePeriodPropertyIndex = 7; - private const int requiredD50PropertyIndex = 8; - private const int requiredTargetProbabilityPropertyIndex = 9; - private const int requiredTargetReliabilityPropertyIndex = 10; - private const int requiredCalculatedProbabilityPropertyIndex = 11; - private const int requiredCalculatedReliabilityPropertyIndex = 12; - private const int requiredConvergencePropertyIndex = 13; + private const int requiredMeanTidalAmplitudePropertyIndex = 8; + private const int requiredWaveDirectionalSpreadPropertyIndex = 9; + private const int requiredTideSurgePhaseDifferencePropertyIndex = 10; + private const int requiredTargetProbabilityPropertyIndex = 11; + private const int requiredTargetReliabilityPropertyIndex = 12; + private const int requiredCalculatedProbabilityPropertyIndex = 13; + private const int requiredCalculatedReliabilityPropertyIndex = 14; + private const int requiredConvergencePropertyIndex = 15; [Test] public void Constructor_DuneLocationCalculationNull_ThrowsArgumentNullException() @@ -84,8 +86,24 @@ Assert.AreEqual(duneLocation.Location, properties.Location); Assert.IsNaN(properties.WaterLevel); + TestHelper.AssertTypeConverter( + nameof(DuneLocationCalculationProperties.WaterLevel)); Assert.IsNaN(properties.WaveHeight); + TestHelper.AssertTypeConverter( + nameof(DuneLocationCalculationProperties.WaveHeight)); Assert.IsNaN(properties.WavePeriod); + TestHelper.AssertTypeConverter( + nameof(DuneLocationCalculationProperties.WavePeriod)); + + Assert.IsNaN(properties.MeanTidalAmplitude); + TestHelper.AssertTypeConverter( + nameof(DuneLocationCalculationProperties.MeanTidalAmplitude)); + Assert.IsNaN(properties.WaveDirectionalSpread); + TestHelper.AssertTypeConverter( + nameof(DuneLocationCalculationProperties.WaveDirectionalSpread)); + Assert.IsNaN(properties.TideSurgePhaseDifference); + TestHelper.AssertTypeConverter( + nameof(DuneLocationCalculationProperties.TideSurgePhaseDifference)); Assert.IsNaN(properties.TargetProbability); TestHelper.AssertTypeConverter( @@ -106,7 +124,7 @@ } [Test] - public void GetProperties_ValidDesignWaterLevel_ReturnsExpectedValues() + public void GetProperties_ValidOutput_ReturnsExpectedValues() { // Setup const long id = 1234L; @@ -119,10 +137,12 @@ var convergence = random.NextEnumValue(); double offset = random.NextDouble(); double orientation = random.NextDouble(); - double d50 = random.NextDouble(); double waterLevel = random.NextDouble(); double waveHeight = random.NextDouble(); double wavePeriod = random.NextDouble(); + double meanTidalAmplitude = random.NextDouble(); + double waveDirectionalSpread = random.NextDouble(); + double tideSurgePhaseDifference = random.NextDouble(); double targetProbability = random.NextDouble(); double targetReliability = random.NextDouble(); double calculatedProbability = random.NextDouble(); @@ -135,6 +155,9 @@ WaterLevel = waterLevel, WaveHeight = waveHeight, WavePeriod = wavePeriod, + MeanTidalAmplitude = meanTidalAmplitude, + WaveDirectionalSpread = waveDirectionalSpread, + TideSurgePhaseDifference = tideSurgePhaseDifference, TargetProbability = targetProbability, TargetReliability = targetReliability, CalculatedProbability = calculatedProbability, @@ -145,8 +168,7 @@ { CoastalAreaId = coastalAreaId, Offset = offset, - Orientation = orientation, - D50 = d50 + Orientation = orientation }); var duneLocationCalculation = new DuneLocationCalculation(duneLocation) { @@ -167,7 +189,9 @@ Assert.AreEqual(waterLevel, properties.WaterLevel, properties.WaterLevel.GetAccuracy()); Assert.AreEqual(waveHeight, properties.WaveHeight, properties.WaveHeight.GetAccuracy()); Assert.AreEqual(wavePeriod, properties.WavePeriod, properties.WavePeriod.GetAccuracy()); - Assert.AreEqual(d50, properties.D50, properties.D50.GetAccuracy()); + Assert.AreEqual(meanTidalAmplitude, properties.MeanTidalAmplitude, properties.MeanTidalAmplitude.GetAccuracy()); + Assert.AreEqual(waveDirectionalSpread, properties.WaveDirectionalSpread, properties.WaveDirectionalSpread.GetAccuracy()); + Assert.AreEqual(tideSurgePhaseDifference, properties.TideSurgePhaseDifference, properties.TideSurgePhaseDifference.GetAccuracy()); Assert.AreEqual(targetProbability, properties.TargetProbability); Assert.AreEqual(targetReliability, properties.TargetReliability, properties.TargetReliability.GetAccuracy()); @@ -191,7 +215,7 @@ TypeConverter classTypeConverter = TypeDescriptor.GetConverter(properties, true); PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties); - Assert.AreEqual(14, dynamicProperties.Count); + Assert.AreEqual(16, dynamicProperties.Count); Assert.IsInstanceOf(classTypeConverter); PropertyDescriptor idProperty = dynamicProperties[requiredIdPropertyIndex]; @@ -250,12 +274,26 @@ "Berekende rekenwaarde voor de piekperiode van de golven voor het uitvoeren van een sterkteberekening voor het faalmechanisme duinen.", true); - PropertyDescriptor d50Property = dynamicProperties[requiredD50PropertyIndex]; - PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(d50Property, + PropertyDescriptor meanTidalAmplitudeProperty = dynamicProperties[requiredMeanTidalAmplitudePropertyIndex]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(meanTidalAmplitudeProperty, "Resultaat", - "Rekenwaarde d50 [m]", - "Rekenwaarde voor de d50 voor het uitvoeren van een sterkteberekening voor het faalmechanisme duinen.", + "Gemiddelde getijamplitude [m]", + "Berekende rekenwaarde voor de gemiddelde getijamplitude voor het uitvoeren van een sterkteberekeningen voor het faalmechanisme duinen.", true); + + PropertyDescriptor waveDirectionalSpreadProperty = dynamicProperties[requiredWaveDirectionalSpreadPropertyIndex]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(waveDirectionalSpreadProperty, + "Resultaat", + "Golfrichtingspreiding [°]", + "Berekende rekenwaarde voor de golfrichtingspreiding voor het uitvoeren van een sterkteberekeningen voor het faalmechanisme duinen.", + true); + + PropertyDescriptor tideSurgePhaseDifferenceProperty = dynamicProperties[requiredTideSurgePhaseDifferencePropertyIndex]; + PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(tideSurgePhaseDifferenceProperty, + "Resultaat", + "Faseverschuiving tussen getij en opzet [uur]", + "Berekende rekenwaarde voor de faseverschuiving tussen getij en opzet voor het uitvoeren van een sterkteberekeningen voor het faalmechanisme duinen.", + true); PropertyDescriptor targetProbabilityProperty = dynamicProperties[requiredTargetProbabilityPropertyIndex]; PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(targetProbabilityProperty,