Index: Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsScenarioRow.cs =================================================================== diff -u -r5c96bd1b305b12d24514428c126ff352fcbfa5a9 -r45a6ff0c1d73e7a36d0b1684fd70c7d3b548f79d --- Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsScenarioRow.cs (.../MacroStabilityInwardsScenarioRow.cs) (revision 5c96bd1b305b12d24514428c126ff352fcbfa5a9) +++ Riskeer/MacroStabilityInwards/src/Riskeer.MacroStabilityInwards.Forms/Views/MacroStabilityInwardsScenarioRow.cs (.../MacroStabilityInwardsScenarioRow.cs) (revision 45a6ff0c1d73e7a36d0b1684fd70c7d3b548f79d) @@ -78,8 +78,8 @@ { if (derivedOutput != null) { - return derivedOutput.MacroStabilityInwardsProbability * failureMechanism.MacroStabilityInwardsProbabilityAssessmentInput.GetN( - failureMechanismSection.Length); + return Math.Min(1.0, derivedOutput.MacroStabilityInwardsProbability * failureMechanism.MacroStabilityInwardsProbabilityAssessmentInput.GetN( + failureMechanismSection.Length)); } return double.NaN; Index: Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsScenarioRowTest.cs =================================================================== diff -u -r5c96bd1b305b12d24514428c126ff352fcbfa5a9 -r45a6ff0c1d73e7a36d0b1684fd70c7d3b548f79d --- Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsScenarioRowTest.cs (.../MacroStabilityInwardsScenarioRowTest.cs) (revision 5c96bd1b305b12d24514428c126ff352fcbfa5a9) +++ Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Forms.Test/Views/MacroStabilityInwardsScenarioRowTest.cs (.../MacroStabilityInwardsScenarioRowTest.cs) (revision 45a6ff0c1d73e7a36d0b1684fd70c7d3b548f79d) @@ -20,6 +20,7 @@ // All rights reserved. using System; +using Core.Common.Base.Geometry; using Core.Common.TestUtil; using NUnit.Framework; using Riskeer.Common.Data.FailureMechanism; @@ -85,24 +86,33 @@ } [Test] - public void Constructor_WithCalculationWithOutput_PropertiesFromCalculation() + [TestCase(1)] + [TestCase(100)] + public void Constructor_WithCalculationWithOutput_PropertiesFromCalculation(double sectionLength) { // Setup var calculation = new MacroStabilityInwardsCalculationScenario { - Output = MacroStabilityInwardsOutputTestFactory.CreateOutput() + Output = MacroStabilityInwardsOutputTestFactory.CreateOutput(new MacroStabilityInwardsOutput.ConstructionProperties + { + FactorOfStability = 0.1 + }) }; var failureMechanism = new MacroStabilityInwardsFailureMechanism(); - FailureMechanismSection failureMechanismSection = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); + var failureMechanismSection = new FailureMechanismSection("test", new[] + { + new Point2D(0, 0), + new Point2D(sectionLength, 0) + }); // Call var row = new MacroStabilityInwardsScenarioRow(calculation, failureMechanism, failureMechanismSection); // Assert DerivedMacroStabilityInwardsOutput expectedDerivedOutput = DerivedMacroStabilityInwardsOutputFactory.Create(calculation.Output, failureMechanism.GeneralInput.ModelFactor); Assert.AreEqual(expectedDerivedOutput.MacroStabilityInwardsProbability, row.FailureProbability); - Assert.AreEqual(expectedDerivedOutput.MacroStabilityInwardsProbability * failureMechanism.MacroStabilityInwardsProbabilityAssessmentInput.GetN( - failureMechanismSection.Length), + Assert.AreEqual(Math.Min(1.0, expectedDerivedOutput.MacroStabilityInwardsProbability * failureMechanism.MacroStabilityInwardsProbabilityAssessmentInput.GetN( + failureMechanismSection.Length)), row.SectionFailureProbability); } Index: Riskeer/Piping/src/Riskeer.Piping.Forms/Views/SemiProbabilisticPipingScenarioRow.cs =================================================================== diff -u -rc36744d4c7545ae3d3ee22490ae4b623310afd2b -r45a6ff0c1d73e7a36d0b1684fd70c7d3b548f79d --- Riskeer/Piping/src/Riskeer.Piping.Forms/Views/SemiProbabilisticPipingScenarioRow.cs (.../SemiProbabilisticPipingScenarioRow.cs) (revision c36744d4c7545ae3d3ee22490ae4b623310afd2b) +++ Riskeer/Piping/src/Riskeer.Piping.Forms/Views/SemiProbabilisticPipingScenarioRow.cs (.../SemiProbabilisticPipingScenarioRow.cs) (revision 45a6ff0c1d73e7a36d0b1684fd70c7d3b548f79d) @@ -84,8 +84,8 @@ { if (derivedOutput != null) { - return derivedOutput.PipingProbability * failureMechanism.PipingProbabilityAssessmentInput.GetN( - failureMechanismSection.Length); + return Math.Min(1.0, derivedOutput.PipingProbability * failureMechanism.PipingProbabilityAssessmentInput.GetN( + failureMechanismSection.Length)); } return double.NaN; Index: Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/SemiProbabilisticPipingScenarioRowTest.cs =================================================================== diff -u -rb2d277ba92075652368536aeff290b0b08d0ae36 -r45a6ff0c1d73e7a36d0b1684fd70c7d3b548f79d --- Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/SemiProbabilisticPipingScenarioRowTest.cs (.../SemiProbabilisticPipingScenarioRowTest.cs) (revision b2d277ba92075652368536aeff290b0b08d0ae36) +++ Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/SemiProbabilisticPipingScenarioRowTest.cs (.../SemiProbabilisticPipingScenarioRowTest.cs) (revision 45a6ff0c1d73e7a36d0b1684fd70c7d3b548f79d) @@ -20,6 +20,7 @@ // All rights reserved. using System; +using Core.Common.Base.Geometry; using Core.Common.TestUtil; using NUnit.Framework; using Rhino.Mocks; @@ -120,7 +121,9 @@ } [Test] - public void Constructor_CalculationWithOutput_ExpectedValues() + [TestCase(1)] + [TestCase(1000)] + public void Constructor_CalculationWithOutput_ExpectedValues(double sectionLength) { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -133,7 +136,11 @@ { Output = PipingTestDataGenerator.GetRandomSemiProbabilisticPipingOutput() }; - FailureMechanismSection failureMechanismSection = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); + var failureMechanismSection = new FailureMechanismSection("test", new[] + { + new Point2D(0, 0), + new Point2D(sectionLength, 0) + }); // Call var row = new SemiProbabilisticPipingScenarioRow(calculation, failureMechanism, failureMechanismSection, assessmentSection); @@ -145,8 +152,8 @@ Assert.AreEqual(expectedDerivedOutput.UpliftProbability, row.FailureProbabilityUplift); Assert.AreEqual(expectedDerivedOutput.HeaveProbability, row.FailureProbabilityHeave); Assert.AreEqual(expectedDerivedOutput.SellmeijerProbability, row.FailureProbabilitySellmeijer); - Assert.AreEqual(expectedDerivedOutput.PipingProbability * failureMechanism.PipingProbabilityAssessmentInput.GetN( - failureMechanismSection.Length), + Assert.AreEqual(Math.Min(1.0, expectedDerivedOutput.PipingProbability * failureMechanism.PipingProbabilityAssessmentInput.GetN( + failureMechanismSection.Length)), row.SectionFailureProbability); mocks.VerifyAll(); }