Index: Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingScenariosView.cs =================================================================== diff -u -rbe102332fdeb4fe594150b7c99d859e9117e35fd -r7cf3c3b2d42388c323988589e4dca3073482a8d3 --- Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingScenariosView.cs (.../PipingScenariosView.cs) (revision be102332fdeb4fe594150b7c99d859e9117e35fd) +++ Riskeer/Piping/src/Riskeer.Piping.Forms/Views/PipingScenariosView.cs (.../PipingScenariosView.cs) (revision 7cf3c3b2d42388c323988589e4dca3073482a8d3) @@ -347,7 +347,7 @@ private IEnumerable GetSemiProbabilisticPipingScenarioRows(IEnumerable lineSegments) { return GetScenarios(lineSegments) - .Select(pc => new SemiProbabilisticPipingScenarioRow(pc, failureMechanism, selectedFailureMechanismSection.Section, assessmentSection)) + .Select(pc => new SemiProbabilisticPipingScenarioRow(pc, failureMechanism, selectedFailureMechanismSection.ScenarioConfigurationPerSection, assessmentSection)) .ToList(); } Index: Riskeer/Piping/src/Riskeer.Piping.Forms/Views/SemiProbabilisticPipingScenarioRow.cs =================================================================== diff -u -rad26c9fdcd4d20273a8e4ddf183872da4e1c5bb1 -r7cf3c3b2d42388c323988589e4dca3073482a8d3 --- Riskeer/Piping/src/Riskeer.Piping.Forms/Views/SemiProbabilisticPipingScenarioRow.cs (.../SemiProbabilisticPipingScenarioRow.cs) (revision ad26c9fdcd4d20273a8e4ddf183872da4e1c5bb1) +++ Riskeer/Piping/src/Riskeer.Piping.Forms/Views/SemiProbabilisticPipingScenarioRow.cs (.../SemiProbabilisticPipingScenarioRow.cs) (revision 7cf3c3b2d42388c323988589e4dca3073482a8d3) @@ -22,7 +22,6 @@ using System; using System.ComponentModel; using Riskeer.Common.Data.AssessmentSection; -using Riskeer.Common.Data.FailureMechanism; using Riskeer.Common.Data.Probability; using Riskeer.Common.Forms.TypeConverters; using Riskeer.Piping.Data; @@ -36,7 +35,7 @@ public class SemiProbabilisticPipingScenarioRow : PipingScenarioRow { private readonly PipingFailureMechanism failureMechanism; - private readonly FailureMechanismSection failureMechanismSection; + private readonly PipingScenarioConfigurationPerFailureMechanismSection sectionConfiguration; private readonly IAssessmentSection assessmentSection; private DerivedSemiProbabilisticPipingOutput derivedOutput; @@ -45,12 +44,12 @@ /// /// The this row contains. /// The failure mechanism that the calculation belongs to. - /// The failure mechanism section that the calculation belongs to. + /// The configuration for the failure mechanism section that the calculation belongs to. /// The assessment section that the calculation belongs to. /// Thrown when any parameter is null. internal SemiProbabilisticPipingScenarioRow(SemiProbabilisticPipingCalculationScenario calculationScenario, PipingFailureMechanism failureMechanism, - FailureMechanismSection failureMechanismSection, + PipingScenarioConfigurationPerFailureMechanismSection sectionConfiguration, IAssessmentSection assessmentSection) : base(calculationScenario) { @@ -59,9 +58,9 @@ throw new ArgumentNullException(nameof(failureMechanism)); } - if (failureMechanismSection == null) + if (sectionConfiguration == null) { - throw new ArgumentNullException(nameof(failureMechanismSection)); + throw new ArgumentNullException(nameof(sectionConfiguration)); } if (assessmentSection == null) @@ -70,7 +69,7 @@ } this.failureMechanism = failureMechanism; - this.failureMechanismSection = failureMechanismSection; + this.sectionConfiguration = sectionConfiguration; this.assessmentSection = assessmentSection; CreateDerivedOutput(); @@ -84,8 +83,8 @@ { if (derivedOutput != null) { - return Math.Min(1.0, derivedOutput.PipingProbability * failureMechanism.ProbabilityAssessmentInput.GetN( - failureMechanismSection.Length)); + return Math.Min(1.0, derivedOutput.PipingProbability * sectionConfiguration.GetN( + failureMechanism.ProbabilityAssessmentInput.B)); } return double.NaN; Index: Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/SemiProbabilisticPipingScenarioRowTest.cs =================================================================== diff -u -rad26c9fdcd4d20273a8e4ddf183872da4e1c5bb1 -r7cf3c3b2d42388c323988589e4dca3073482a8d3 --- Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/SemiProbabilisticPipingScenarioRowTest.cs (.../SemiProbabilisticPipingScenarioRowTest.cs) (revision ad26c9fdcd4d20273a8e4ddf183872da4e1c5bb1) +++ Riskeer/Piping/test/Riskeer.Piping.Forms.Test/Views/SemiProbabilisticPipingScenarioRowTest.cs (.../SemiProbabilisticPipingScenarioRowTest.cs) (revision 7cf3c3b2d42388c323988589e4dca3073482a8d3) @@ -44,10 +44,11 @@ { // Setup FailureMechanismSection failureMechanismSection = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); + var sectionConfiguration = new PipingScenarioConfigurationPerFailureMechanismSection(failureMechanismSection); // Call void Call() => new SemiProbabilisticPipingScenarioRow(new SemiProbabilisticPipingCalculationScenario(), - new PipingFailureMechanism(), failureMechanismSection, null); + new PipingFailureMechanism(), sectionConfiguration, null); // Assert var exception = Assert.Throws(Call); @@ -63,10 +64,11 @@ mocks.ReplayAll(); FailureMechanismSection failureMechanismSection = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); + var sectionConfiguration = new PipingScenarioConfigurationPerFailureMechanismSection(failureMechanismSection); // Call void Call() => new SemiProbabilisticPipingScenarioRow(new SemiProbabilisticPipingCalculationScenario(), - null, failureMechanismSection, assessmentSection); + null, sectionConfiguration, assessmentSection); // Assert var exception = Assert.Throws(Call); @@ -75,7 +77,7 @@ } [Test] - public void Construction_FailureMechanismSectionNull_ThrowsArgumentNullException() + public void Construction_SectionConfigurationNull_ThrowsArgumentNullException() { // Setup var mocks = new MockRepository(); @@ -88,7 +90,7 @@ // Assert var exception = Assert.Throws(Call); - Assert.AreEqual("failureMechanismSection", exception.ParamName); + Assert.AreEqual("sectionConfiguration", exception.ParamName); mocks.VerifyAll(); } @@ -104,9 +106,10 @@ var calculation = new SemiProbabilisticPipingCalculationScenario(); FailureMechanismSection failureMechanismSection = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); + var sectionConfiguration = new PipingScenarioConfigurationPerFailureMechanismSection(failureMechanismSection); // Call - var row = new SemiProbabilisticPipingScenarioRow(calculation, failureMechanism, failureMechanismSection, assessmentSection); + var row = new SemiProbabilisticPipingScenarioRow(calculation, failureMechanism, sectionConfiguration, assessmentSection); // Assert Assert.IsInstanceOf>(row); @@ -141,9 +144,10 @@ new Point2D(0, 0), new Point2D(sectionLength, 0) }); + var sectionConfiguration = new PipingScenarioConfigurationPerFailureMechanismSection(failureMechanismSection); // Call - var row = new SemiProbabilisticPipingScenarioRow(calculation, failureMechanism, failureMechanismSection, assessmentSection); + var row = new SemiProbabilisticPipingScenarioRow(calculation, failureMechanism, sectionConfiguration, assessmentSection); // Assert DerivedSemiProbabilisticPipingOutput expectedDerivedOutput = DerivedSemiProbabilisticPipingOutputFactory.Create(calculation.Output, assessmentSection.FailureMechanismContribution.NormativeProbability); @@ -168,9 +172,10 @@ var calculation = new SemiProbabilisticPipingCalculationScenario(); FailureMechanismSection failureMechanismSection = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); + var sectionConfiguration = new PipingScenarioConfigurationPerFailureMechanismSection(failureMechanismSection); // Call - var row = new SemiProbabilisticPipingScenarioRow(calculation, new PipingFailureMechanism(), failureMechanismSection, assessmentSection); + var row = new SemiProbabilisticPipingScenarioRow(calculation, new PipingFailureMechanism(), sectionConfiguration, assessmentSection); // Assert Assert.IsNaN(row.FailureProbability); @@ -193,8 +198,9 @@ var calculation = new SemiProbabilisticPipingCalculationScenario(); FailureMechanismSection failureMechanismSection = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); + var sectionConfiguration = new PipingScenarioConfigurationPerFailureMechanismSection(failureMechanismSection); - var row = new SemiProbabilisticPipingScenarioRow(calculation, failureMechanism, failureMechanismSection, assessmentSection); + var row = new SemiProbabilisticPipingScenarioRow(calculation, failureMechanism, sectionConfiguration, assessmentSection); // Precondition Assert.IsNaN(row.FailureProbability); @@ -234,8 +240,9 @@ Output = PipingTestDataGenerator.GetRandomSemiProbabilisticPipingOutput() }; FailureMechanismSection failureMechanismSection = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); + var sectionConfiguration = new PipingScenarioConfigurationPerFailureMechanismSection(failureMechanismSection); - var row = new SemiProbabilisticPipingScenarioRow(calculation, failureMechanism, failureMechanismSection, assessmentSection); + var row = new SemiProbabilisticPipingScenarioRow(calculation, failureMechanism, sectionConfiguration, assessmentSection); // Precondition DerivedSemiProbabilisticPipingOutput expectedDerivedOutput = DerivedSemiProbabilisticPipingOutputFactory.Create(calculation.Output, assessmentSection.FailureMechanismContribution.NormativeProbability); @@ -275,8 +282,9 @@ Output = PipingTestDataGenerator.GetRandomSemiProbabilisticPipingOutput() }; FailureMechanismSection failureMechanismSection = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); + var sectionConfiguration = new PipingScenarioConfigurationPerFailureMechanismSection(failureMechanismSection); - var row = new SemiProbabilisticPipingScenarioRow(calculation, failureMechanism, failureMechanismSection, assessmentSection); + var row = new SemiProbabilisticPipingScenarioRow(calculation, failureMechanism, sectionConfiguration, assessmentSection); // Precondition DerivedSemiProbabilisticPipingOutput expectedDerivedOutput = DerivedSemiProbabilisticPipingOutputFactory.Create(calculation.Output, assessmentSection.FailureMechanismContribution.NormativeProbability);