Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/DerivedMacroStabilityInwardsOutputFactory.cs
===================================================================
diff -u -r74df3b2f37b578eb5f0d5c8d33379d965805bb8e -r7eb43c9d8cad4783b413a74fe290ba561f3afc03
--- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/DerivedMacroStabilityInwardsOutputFactory.cs (.../DerivedMacroStabilityInwardsOutputFactory.cs) (revision 74df3b2f37b578eb5f0d5c8d33379d965805bb8e)
+++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Data/DerivedMacroStabilityInwardsOutputFactory.cs (.../DerivedMacroStabilityInwardsOutputFactory.cs) (revision 7eb43c9d8cad4783b413a74fe290ba561f3afc03)
@@ -68,7 +68,7 @@
contribution);
double requiredReliability = StatisticsConverter.ProbabilityToReliability(requiredProbability);
- double macroStabilityInwardsReliability = CalculateEstimatedReliability(factorOfStability);
+ double macroStabilityInwardsReliability = CalculateEstimatedReliability(factorOfStability, failureMechanism.GeneralInput.ModelFactor);
double macroStabilityInwardsProbability = StatisticsConverter.ReliabilityToProbability(macroStabilityInwardsReliability);
double macroStabilityInwardsFactorOfSafety = macroStabilityInwardsReliability / requiredReliability;
@@ -97,13 +97,14 @@
///
/// Calculates the estimated reliability of the macro stability inwards failure mechanism
- /// based on the stability factor.
+ /// based on the stability factor and model factor.
///
/// The factory of stability to calculate the reliability for.
- /// The estimated reliability based on the stability factor.
- private static double CalculateEstimatedReliability(double factorOfStability)
+ /// The model factor of the calculation result.
+ /// The estimated reliability based on the stability and model factor.
+ private static double CalculateEstimatedReliability(double factorOfStability, double modelFactor)
{
- return (6.21 * factorOfStability) - 2.88;
+ return ((factorOfStability / modelFactor) - 0.41) / 0.15;
}
}
}
\ No newline at end of file
Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/DerivedMacroStabilityInwardsOutputFactoryTest.cs
===================================================================
diff -u -r5c7faf8283e49113a2c7b9e17086148a99f13d2e -r7eb43c9d8cad4783b413a74fe290ba561f3afc03
--- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/DerivedMacroStabilityInwardsOutputFactoryTest.cs (.../DerivedMacroStabilityInwardsOutputFactoryTest.cs) (revision 5c7faf8283e49113a2c7b9e17086148a99f13d2e)
+++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/DerivedMacroStabilityInwardsOutputFactoryTest.cs (.../DerivedMacroStabilityInwardsOutputFactoryTest.cs) (revision 7eb43c9d8cad4783b413a74fe290ba561f3afc03)
@@ -109,9 +109,9 @@
// Assert
Assert.AreEqual(output.FactorOfStability, derivedOutput.FactorOfStability, derivedOutput.FactorOfStability.GetAccuracy());
- Assert.AreEqual(0.707, derivedOutput.MacroStabilityInwardsFactorOfSafety, derivedOutput.MacroStabilityInwardsFactorOfSafety.GetAccuracy());
- Assert.AreEqual(0.073605149538226278, derivedOutput.MacroStabilityInwardsProbability, 1e-6);
- Assert.AreEqual(1.44946, derivedOutput.MacroStabilityInwardsReliability, derivedOutput.MacroStabilityInwardsReliability.GetAccuracy());
+ Assert.AreEqual(0.805, derivedOutput.MacroStabilityInwardsFactorOfSafety, derivedOutput.MacroStabilityInwardsFactorOfSafety.GetAccuracy());
+ Assert.AreEqual(0.049327007121741082, derivedOutput.MacroStabilityInwardsProbability, 1e-6);
+ Assert.AreEqual(1.65141, derivedOutput.MacroStabilityInwardsReliability, derivedOutput.MacroStabilityInwardsReliability.GetAccuracy());
Assert.AreEqual(0.020161290322580648d, derivedOutput.RequiredProbability, 1e-6);
Assert.AreEqual(2.05043, derivedOutput.RequiredReliability, derivedOutput.RequiredReliability.GetAccuracy());
mocks.VerifyAll();
Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/MacroStabilityInwardsFailureMechanismSectionResultDetailedAssessmentExtensionsTest.cs
===================================================================
diff -u -r5ac330cbf482b60883be8428b68ab1bde6848eeb -r7eb43c9d8cad4783b413a74fe290ba561f3afc03
--- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/MacroStabilityInwardsFailureMechanismSectionResultDetailedAssessmentExtensionsTest.cs (.../MacroStabilityInwardsFailureMechanismSectionResultDetailedAssessmentExtensionsTest.cs) (revision 5ac330cbf482b60883be8428b68ab1bde6848eeb)
+++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/MacroStabilityInwardsFailureMechanismSectionResultDetailedAssessmentExtensionsTest.cs (.../MacroStabilityInwardsFailureMechanismSectionResultDetailedAssessmentExtensionsTest.cs) (revision 7eb43c9d8cad4783b413a74fe290ba561f3afc03)
@@ -143,7 +143,7 @@
macroStabilityInwardsCalculationScenario3.IsRelevant = false;
- var calculations = new[]
+ MacroStabilityInwardsCalculationScenario[] calculations =
{
macroStabilityInwardsCalculationScenario1,
macroStabilityInwardsCalculationScenario2,
@@ -154,7 +154,7 @@
double detailedAssessmentProbability = failureMechanismSectionResult.GetDetailedAssessmentProbability(calculations, failureMechanism, assessmentSection);
// Assert
- Assert.AreEqual(0.99801160064610306, detailedAssessmentProbability, 1e-8);
+ Assert.AreEqual(0.99686512181936182, detailedAssessmentProbability, 1e-8);
mocks.VerifyAll();
}
@@ -194,7 +194,7 @@
FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection();
var failureMechanismSectionResult = new MacroStabilityInwardsFailureMechanismSectionResult(section);
- var calculationScenarios = new[]
+ MacroStabilityInwardsCalculationScenario[] calculationScenarios =
{
MacroStabilityInwardsCalculationScenarioTestFactory.CreateIrrelevantMacroStabilityInwardsCalculationScenario(section)
};
@@ -261,7 +261,7 @@
calculationScenario2.Contribution = (RoundedDouble) contribution2;
calculationScenario2.Output = MacroStabilityInwardsOutputTestFactory.CreateOutput();
- var calculations = new[]
+ MacroStabilityInwardsCalculationScenario[] calculations =
{
calculationScenario1,
calculationScenario2
@@ -350,7 +350,7 @@
MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario3 = MacroStabilityInwardsCalculationScenarioTestFactory.CreateIrrelevantMacroStabilityInwardsCalculationScenario(section);
- var calculationScenarios = new[]
+ MacroStabilityInwardsCalculationScenario[] calculationScenarios =
{
macroStabilityInwardsCalculationScenario,
macroStabilityInwardsCalculationScenario2,
@@ -438,7 +438,7 @@
MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario = MacroStabilityInwardsCalculationScenarioTestFactory.CreateNotCalculatedMacroStabilityInwardsCalculationScenario(section);
MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario2 = MacroStabilityInwardsCalculationScenarioTestFactory.CreateMacroStabilityInwardsCalculationScenarioWithNaNOutput(section);
- var calculationScenarios = new[]
+ MacroStabilityInwardsCalculationScenario[] calculationScenarios =
{
macroStabilityInwardsCalculationScenario,
macroStabilityInwardsCalculationScenario2
Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/PropertyClasses/MacroStabilityInwardsFailureMechanismPropertiesTest.cs
===================================================================
diff -u -r2109804607e2c1041dc78167f44c116f0bee45df -r7eb43c9d8cad4783b413a74fe290ba561f3afc03
--- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/PropertyClasses/MacroStabilityInwardsFailureMechanismPropertiesTest.cs (.../MacroStabilityInwardsFailureMechanismPropertiesTest.cs) (revision 2109804607e2c1041dc78167f44c116f0bee45df)
+++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Forms.Test/PropertyClasses/MacroStabilityInwardsFailureMechanismPropertiesTest.cs (.../MacroStabilityInwardsFailureMechanismPropertiesTest.cs) (revision 7eb43c9d8cad4783b413a74fe290ba561f3afc03)
@@ -108,7 +108,7 @@
// Assert
PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties);
- Assert.AreEqual(9, dynamicProperties.Count);
+ Assert.AreEqual(10, dynamicProperties.Count);
const string generalCategory = "Algemeen";
const string lengthEffectCategory = "Lengte-effect parameters";
@@ -151,7 +151,7 @@
PropertyDescriptor modelFactorProperty = dynamicProperties[modelFactorPropertyIndex];
PropertiesTestHelper.AssertRequiredPropertyDescriptorProperties(modelFactorProperty,
- generalCategory,
+ modelSettingsCategory,
"Modelfactor [-]",
"Modelfactor die wordt gebruikt bij de berekening van de benaderde faalkans op basis van de berekende stabiliteitsfactor.",
true);
Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Integration.Test/MacroStabilityInwardsFailureMechanismResultViewIntegrationTest.cs
===================================================================
diff -u -r4190ed11a0efa6f11e5b9c5b767afd8e8db6022b -r7eb43c9d8cad4783b413a74fe290ba561f3afc03
--- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Integration.Test/MacroStabilityInwardsFailureMechanismResultViewIntegrationTest.cs (.../MacroStabilityInwardsFailureMechanismResultViewIntegrationTest.cs) (revision 4190ed11a0efa6f11e5b9c5b767afd8e8db6022b)
+++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Integration.Test/MacroStabilityInwardsFailureMechanismResultViewIntegrationTest.cs (.../MacroStabilityInwardsFailureMechanismResultViewIntegrationTest.cs) (revision 7eb43c9d8cad4783b413a74fe290ba561f3afc03)
@@ -26,7 +26,6 @@
using NUnit.Framework;
using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Common.Data.Calculation;
-using Ringtoets.Common.Data.FailureMechanism;
using Ringtoets.Common.Forms.Helpers;
using Ringtoets.Integration.Data;
using Ringtoets.Integration.TestUtil;
@@ -62,7 +61,7 @@
// Import failure mechanism sections and ensure the data grid view is updated
DataImportHelper.ImportReferenceLine(assessmentSection);
- IFailureMechanism failureMechanism = assessmentSection.MacroStabilityInwards;
+ MacroStabilityInwardsFailureMechanism failureMechanism = assessmentSection.MacroStabilityInwards;
DataImportHelper.ImportFailureMechanismSections(assessmentSection, failureMechanism);
Assert.AreEqual(283, dataGridView.Rows.Count);
Assert.AreEqual("-", dataGridView.Rows[22].Cells[detailedAssessmentIndex].FormattedValue);
@@ -125,15 +124,19 @@
FactorOfStability = 0.5
});
calculation1.NotifyObservers();
- Assert.AreEqual(ProbabilityFormattingHelper.Format(0.5),
+ string expectedProbability = ProbabilityFormattingHelper.Format(
+ DerivedMacroStabilityInwardsOutputFactory.Create(calculation1.Output,
+ failureMechanism,
+ assessmentSection).MacroStabilityInwardsProbability);
+ Assert.AreEqual(expectedProbability,
dataGridView.Rows[22].Cells[detailedAssessmentIndex].FormattedValue);
Assert.IsEmpty(dataGridView.Rows[22].Cells[detailedAssessmentIndex].ErrorText);
// Add another, nested calculation without surface line and ensure the data grid view is updated when the surface line is set
var calculation3 = new MacroStabilityInwardsCalculationScenario();
nestedCalculationGroup.Children.Add(calculation3);
nestedCalculationGroup.NotifyObservers();
- Assert.AreEqual(ProbabilityFormattingHelper.Format(0.5),
+ Assert.AreEqual(expectedProbability,
dataGridView.Rows[22].Cells[detailedAssessmentIndex].FormattedValue);
Assert.IsEmpty(dataGridView.Rows[22].Cells[detailedAssessmentIndex].ErrorText);
@@ -167,7 +170,7 @@
// Set contribution again so we have a probability.
calculation1.Contribution = (RoundedDouble) 1.0;
calculation1.NotifyObservers();
- Assert.AreEqual(ProbabilityFormattingHelper.Format(0.5),
+ Assert.AreEqual(expectedProbability,
dataGridView.Rows[22].Cells[detailedAssessmentIndex].FormattedValue);
Assert.IsEmpty(dataGridView.Rows[22].Cells[detailedAssessmentIndex].ErrorText);