Index: Ringtoets/Integration/src/Ringtoets.Integration.Data/AssessmentSection.cs =================================================================== diff -u -r9a1a700023ce9d02b5257434c45455f39ddd8bf2 -rfcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b --- Ringtoets/Integration/src/Ringtoets.Integration.Data/AssessmentSection.cs (.../AssessmentSection.cs) (revision 9a1a700023ce9d02b5257434c45455f39ddd8bf2) +++ Ringtoets/Integration/src/Ringtoets.Integration.Data/AssessmentSection.cs (.../AssessmentSection.cs) (revision fcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b) @@ -42,8 +42,6 @@ { private ReferenceLine referenceLine; - private FailureMechanismContribution contribution; - /// /// Initializes a new instance of the class. /// @@ -186,18 +184,7 @@ } } - public FailureMechanismContribution FailureMechanismContribution - { - get - { - return contribution; - } - private set - { - contribution = value; - PipingFailureMechanism.PipingProbabilityAssessmentInput.Norm = value.Norm; - } - } + public FailureMechanismContribution FailureMechanismContribution { get; private set; } public HydraulicBoundaryDatabase HydraulicBoundaryDatabase { get; set; } Index: Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/AssessmentSectionTest.cs =================================================================== diff -u -r9a1a700023ce9d02b5257434c45455f39ddd8bf2 -rfcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b --- Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/AssessmentSectionTest.cs (.../AssessmentSectionTest.cs) (revision 9a1a700023ce9d02b5257434c45455f39ddd8bf2) +++ Ringtoets/Integration/test/Ringtoets.Integration.Data.Test/AssessmentSectionTest.cs (.../AssessmentSectionTest.cs) (revision fcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b) @@ -145,7 +145,6 @@ Assert.AreEqual(codes, section.FailureMechanismContribution.Distribution.Select(d => d.AssessmentCode)); Assert.AreEqual(Enumerable.Repeat(30000.0, 13), section.FailureMechanismContribution.Distribution.Select(d => d.Norm)); - Assert.AreEqual(30000.0, section.PipingFailureMechanism.PipingProbabilityAssessmentInput.Norm); Assert.AreEqual(double.NaN, section.PipingFailureMechanism.PipingProbabilityAssessmentInput.SectionLength); Assert.AreEqual(sum, section.FailureMechanismContribution.Distribution.Sum(d => d.Contribution)); Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs =================================================================== diff -u -rce8424c77c708edc0bb2150a9a6a0e75dad629fa -rfcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b --- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs (.../PipingFailureMechanism.cs) (revision ce8424c77c708edc0bb2150a9a6a0e75dad629fa) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingFailureMechanism.cs (.../PipingFailureMechanism.cs) (revision fcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b) @@ -59,18 +59,6 @@ } } - public override double Contribution - { - get - { - return PipingProbabilityAssessmentInput.Contribution; - } - set - { - PipingProbabilityAssessmentInput.Contribution = value; - } - } - /// /// Gets the available within the scope of the piping failure mechanism. /// Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingProbabilityAssessmentInput.cs =================================================================== diff -u -r77d25c75ebe120c39ed7956a0aace093ed96e135 -rfcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b --- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingProbabilityAssessmentInput.cs (.../PipingProbabilityAssessmentInput.cs) (revision 77d25c75ebe120c39ed7956a0aace093ed96e135) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingProbabilityAssessmentInput.cs (.../PipingProbabilityAssessmentInput.cs) (revision fcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b) @@ -19,18 +19,13 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using System; -using Ringtoets.Common.Data.Properties; - namespace Ringtoets.Piping.Data { /// /// This class holds parameters which influence the probability estimate for a piping assessment. /// public class PipingProbabilityAssessmentInput { - private double contribution; - /// /// Creates a new instance of . /// @@ -39,8 +34,6 @@ A = 1.0; B = 350.0; SectionLength = double.NaN; - Norm = 0; - Contribution = double.NaN; } /// @@ -59,30 +52,5 @@ /// Gets or sets the length of the assessment section. /// public double SectionLength { get; set; } - - /// - /// Gets or sets the contribution of piping as a percentage (0-100) to the total of the failure - /// probability of the assessment section. - /// - public double Contribution - { - get - { - return contribution; - } - set - { - if (value < 0 || value > 100) - { - throw new ArgumentOutOfRangeException("value", Resources.Contribution_Value_should_be_in_interval_0_100); - } - contribution = value; - } - } - - /// - /// Gets or sets the return period to assess for. - /// - public int Norm { get; set; } } } \ No newline at end of file Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs =================================================================== diff -u -rde8e5c0dd97c9e53a07e905a0f59617e570b2259 -rfcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision de8e5c0dd97c9e53a07e905a0f59617e570b2259) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision fcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b) @@ -387,7 +387,12 @@ private void CalculateAll(PipingFailureMechanismContext failureMechanismContext) { - ActivityProgressDialogRunner.Run(Gui.MainWindow, GetAllPipingCalculations(failureMechanismContext.WrappedData).Select(calc => new PipingCalculationActivity(calc)).ToList()); + ActivityProgressDialogRunner.Run(Gui.MainWindow, + GetAllPipingCalculations(failureMechanismContext.WrappedData) + .Select(calc => new PipingCalculationActivity(calc, + failureMechanismContext.Parent.FailureMechanismContribution.Norm, + failureMechanismContext.WrappedData.Contribution)) + .ToList()); } private object[] FailureMechanismEnabledChildNodeObjects(PipingFailureMechanismContext pipingFailureMechanismContext) @@ -503,7 +508,10 @@ private void PerformCalculation(PipingCalculation calculation, PipingCalculationScenarioContext context) { - ActivityProgressDialogRunner.Run(Gui.MainWindow, new PipingCalculationActivity(calculation)); + ActivityProgressDialogRunner.Run(Gui.MainWindow, + new PipingCalculationActivity(calculation, + context.AssessmentSection.FailureMechanismContribution.Norm, + context.FailureMechanism.Contribution)); } # endregion @@ -655,7 +663,13 @@ private void CalculateAll(CalculationGroup group, PipingCalculationGroupContext context) { - ActivityProgressDialogRunner.Run(Gui.MainWindow, group.GetCalculations().OfType().Select(pc => new PipingCalculationActivity(pc)).ToList()); + ActivityProgressDialogRunner.Run(Gui.MainWindow, + group.GetCalculations() + .OfType() + .Select(pc => new PipingCalculationActivity(pc, + context.AssessmentSection.FailureMechanismContribution.Norm, + context.FailureMechanism.Contribution)) + .ToList()); } private static void ValidateAll(CalculationGroup group) Index: Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingCalculationActivity.cs =================================================================== diff -u -ra84ad0dc60c583bc68f6c95c57f3499e16a5f3d1 -rfcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b --- Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingCalculationActivity.cs (.../PipingCalculationActivity.cs) (revision a84ad0dc60c583bc68f6c95c57f3499e16a5f3d1) +++ Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingCalculationActivity.cs (.../PipingCalculationActivity.cs) (revision fcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b) @@ -29,15 +29,22 @@ /// public class PipingCalculationActivity : Activity { + private readonly int norm; + private readonly double contribution; private readonly PipingCalculation calculation; /// /// Initializes a new instance of the class. /// /// The piping data used for the calculation. - public PipingCalculationActivity(PipingCalculation calculation) + /// The return period to assess for. + /// The contribution of piping as a percentage (0-100) to the total of the failure probability of the + /// assessment section. + public PipingCalculationActivity(PipingCalculation calculation, int norm, double contribution) { this.calculation = calculation; + this.norm = norm; + this.contribution = contribution; } public override string Name @@ -60,7 +67,7 @@ calculation.ClearOutput(); PipingCalculationService.Calculate(calculation); - PipingSemiProbabilisticCalculationService.Calculate(calculation); + PipingSemiProbabilisticCalculationService.Calculate(calculation, norm, contribution); } protected override void OnCancel() Index: Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingSemiProbabilisticCalculationService.cs =================================================================== diff -u -rde8e5c0dd97c9e53a07e905a0f59617e570b2259 -rfcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b --- Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingSemiProbabilisticCalculationService.cs (.../PipingSemiProbabilisticCalculationService.cs) (revision de8e5c0dd97c9e53a07e905a0f59617e570b2259) +++ Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingSemiProbabilisticCalculationService.cs (.../PipingSemiProbabilisticCalculationService.cs) (revision fcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b) @@ -65,8 +65,11 @@ /// /// The calculation which is used as input for the semi-probabilistic assessment. If the semi- /// probabilistic calculation is successful, is set. + /// The return period to assess for. + /// The contribution of piping as a percentage (0-100) to the total of the failure probability of the + /// assessment section. /// Thrown when calculation has no output from a piping calculation. - public static void Calculate(PipingCalculation calculation) + public static void Calculate(PipingCalculation calculation, int norm, double contribution) { ValidateOutputOnCalculation(calculation); @@ -77,11 +80,11 @@ pipingOutput.UpliftFactorOfSafety, pipingOutput.HeaveFactorOfSafety, pipingOutput.SellmeijerFactorOfSafety, - pipingProbabilityAssessmentInput.Norm, + norm, pipingProbabilityAssessmentInput.A, pipingProbabilityAssessmentInput.B, pipingProbabilityAssessmentInput.SectionLength, - pipingProbabilityAssessmentInput.Contribution/100); + contribution/100); calculator.Calculate(); Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismTest.cs =================================================================== diff -u -rde8e5c0dd97c9e53a07e905a0f59617e570b2259 -rfcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b --- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismTest.cs (.../PipingFailureMechanismTest.cs) (revision de8e5c0dd97c9e53a07e905a0f59617e570b2259) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismTest.cs (.../PipingFailureMechanismTest.cs) (revision fcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b) @@ -218,20 +218,5 @@ // Assert CollectionAssert.DoesNotContain(failureMechanism.CalculationsGroup.Children, folder); } - - [Test] - public void Contribution_Always_UpdatesPipingProbabilityAssessmentInputContribution() - { - // Setup - var failureMechanism = new PipingFailureMechanism(); - const double newContribution = 12; - - // Call - failureMechanism.Contribution = newContribution; - - // Assert - Assert.AreEqual(newContribution, failureMechanism.PipingProbabilityAssessmentInput.Contribution); - Assert.AreEqual(newContribution, failureMechanism.Contribution); - } } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingProbabilityAssessmentInputTest.cs =================================================================== diff -u -r77d25c75ebe120c39ed7956a0aace093ed96e135 -rfcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b --- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingProbabilityAssessmentInputTest.cs (.../PipingProbabilityAssessmentInputTest.cs) (revision 77d25c75ebe120c39ed7956a0aace093ed96e135) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingProbabilityAssessmentInputTest.cs (.../PipingProbabilityAssessmentInputTest.cs) (revision fcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b) @@ -19,8 +19,6 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using System; -using Core.Common.TestUtil; using NUnit.Framework; namespace Ringtoets.Piping.Data.Test @@ -39,42 +37,6 @@ Assert.AreEqual(350.0, pipingProbabilityAssessmentInput.B); Assert.IsNaN(pipingProbabilityAssessmentInput.SectionLength); - Assert.AreEqual(0, pipingProbabilityAssessmentInput.Norm); - Assert.IsNaN(pipingProbabilityAssessmentInput.Contribution); } - - [Test] - [TestCase(0)] - [TestCase(45.67)] - [TestCase(100)] - public void Contribution_SetNewValidValue_GetNewValue(double newContributionValue) - { - // Setup - var pipingProbabilityAssessmentInput = new PipingProbabilityAssessmentInput(); - - // Call - pipingProbabilityAssessmentInput.Contribution = newContributionValue; - - // Assert - Assert.AreEqual(newContributionValue, pipingProbabilityAssessmentInput.Contribution); - } - - [Test] - [TestCase(-1e-6)] - [TestCase(-123.545)] - [TestCase(100 + 1e-6)] - [TestCase(5678.9)] - public void Contribution_SetNewInvalidValue_ThrowArgumentOutOfRangeException(double newContributionValue) - { - // Setup - var pipingProbabilityAssessmentInput = new PipingProbabilityAssessmentInput(); - - // Call - TestDelegate call = () => pipingProbabilityAssessmentInput.Contribution = newContributionValue; - - // Assert - const string expectedMessage = "De waarde voor de toegestane bijdrage aan faalkans moet in interval [0,100] liggen."; - TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, expectedMessage); - } } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationGroupContextTreeNodeInfoTest.cs =================================================================== diff -u -r77d25c75ebe120c39ed7956a0aace093ed96e135 -rfcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationGroupContextTreeNodeInfoTest.cs (.../PipingCalculationGroupContextTreeNodeInfoTest.cs) (revision 77d25c75ebe120c39ed7956a0aace093ed96e135) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationGroupContextTreeNodeInfoTest.cs (.../PipingCalculationGroupContextTreeNodeInfoTest.cs) (revision fcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b) @@ -37,6 +37,7 @@ using Rhino.Mocks; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Calculation; +using Ringtoets.Common.Data.Contribution; using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Piping.Data; using Ringtoets.Piping.Data.TestUtil; @@ -744,6 +745,9 @@ pipingFailureMechanismMock, assessmentSectionMock); + pipingFailureMechanismMock.Stub(fm => fm.Contribution).Return(0.24); + assessmentSectionMock.Stub(s => s.FailureMechanismContribution).Return(new FailureMechanismContribution(Enumerable.Empty(), 30, 20000)); + gui.Expect(g => g.Get(nodeData, treeViewControl)).Return(menuBuilder); gui.Expect(g => g.MainWindow).Return(mainWindow); Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationScenarioContextTreeNodeInfoTest.cs =================================================================== diff -u -r77d25c75ebe120c39ed7956a0aace093ed96e135 -rfcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationScenarioContextTreeNodeInfoTest.cs (.../PipingCalculationScenarioContextTreeNodeInfoTest.cs) (revision 77d25c75ebe120c39ed7956a0aace093ed96e135) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationScenarioContextTreeNodeInfoTest.cs (.../PipingCalculationScenarioContextTreeNodeInfoTest.cs) (revision fcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b) @@ -36,6 +36,7 @@ using Ringtoets.Common.Data; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Calculation; +using Ringtoets.Common.Data.Contribution; using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Common.Forms.PresentationObjects; using Ringtoets.Piping.Data; @@ -428,6 +429,8 @@ observer.Expect(o => o.UpdateObserver()); + pipingFailureMechanismMock.Stub(fm => fm.Contribution).Return(0.24); + assessmentSectionMock.Stub(s => s.FailureMechanismContribution).Return(new FailureMechanismContribution(Enumerable.Empty(), 30, 20000)); gui.Expect(cmp => cmp.Get(pipingCalculationContext, treeViewControlMock)).Return(new CustomItemsOnlyContextMenuBuilder()); gui.Expect(g => g.MainWindow).Return(mainWindow); @@ -529,6 +532,8 @@ pipingFailureMechanismMock, assessmentSectionMock); + pipingFailureMechanismMock.Stub(fm => fm.Contribution).Return(0.24); + assessmentSectionMock.Stub(s => s.FailureMechanismContribution).Return(new FailureMechanismContribution(Enumerable.Empty(), 30, 20000)); gui.Expect(g => g.Get(pipingCalculationContext, treeViewControlMock)).Return(new CustomItemsOnlyContextMenuBuilder()); gui.Expect(g => g.MainWindow).Return(mainWindow); Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingFailureMechanismContextTreeNodeInfoTest.cs =================================================================== diff -u -rde8e5c0dd97c9e53a07e905a0f59617e570b2259 -rfcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingFailureMechanismContextTreeNodeInfoTest.cs (.../PipingFailureMechanismContextTreeNodeInfoTest.cs) (revision de8e5c0dd97c9e53a07e905a0f59617e570b2259) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingFailureMechanismContextTreeNodeInfoTest.cs (.../PipingFailureMechanismContextTreeNodeInfoTest.cs) (revision fcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b) @@ -36,6 +36,8 @@ using Ringtoets.Common.Data; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Calculation; +using Ringtoets.Common.Data.Contribution; +using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Common.Forms.PresentationObjects; using Ringtoets.Piping.Data; using Ringtoets.Piping.Data.TestUtil; @@ -591,6 +593,7 @@ var assessmentSection = mocks.Stub(); var failureMechanismContext = new PipingFailureMechanismContext(failureMechanism, assessmentSection); + assessmentSection.Stub(s => s.FailureMechanismContribution).Return(new FailureMechanismContribution(Enumerable.Empty(), 30, 20000)); gui.Expect(g => g.Get(failureMechanismContext, treeViewControl)).Return(menuBuilder); gui.Expect(g => g.MainWindow).Return(mainWindow); Index: Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationActivityTest.cs =================================================================== diff -u -r77d25c75ebe120c39ed7956a0aace093ed96e135 -rfcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b --- Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationActivityTest.cs (.../PipingCalculationActivityTest.cs) (revision 77d25c75ebe120c39ed7956a0aace093ed96e135) +++ Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationActivityTest.cs (.../PipingCalculationActivityTest.cs) (revision fcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b) @@ -22,7 +22,7 @@ var calculation = new PipingCalculation(new GeneralPipingInput(), new PipingProbabilityAssessmentInput()); // Call - var activity = new PipingCalculationActivity(calculation); + var activity = new PipingCalculationActivity(calculation, int.MinValue, double.NaN); // Assert Assert.IsInstanceOf(activity); @@ -40,7 +40,7 @@ var invalidPipingCalculation = PipingCalculationFactory.CreateCalculationWithInvalidData(); invalidPipingCalculation.Output = originalOutput; - var activity = new PipingCalculationActivity(invalidPipingCalculation); + var activity = new PipingCalculationActivity(invalidPipingCalculation, int.MinValue, double.NaN); // Call Action call = () => activity.Run(); @@ -66,7 +66,7 @@ var validPipingCalculation = PipingCalculationFactory.CreateCalculationWithValidInput(); validPipingCalculation.Output = null; - var activity = new PipingCalculationActivity(validPipingCalculation); + var activity = new PipingCalculationActivity(validPipingCalculation, int.MinValue, double.NaN); activity.Run(); // Call @@ -99,7 +99,7 @@ validPipingCalculation.Output = null; validPipingCalculation.Attach(observerMock); - var activity = new PipingCalculationActivity(validPipingCalculation); + var activity = new PipingCalculationActivity(validPipingCalculation, int.MinValue, double.NaN); activity.Run(); Index: Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingSemiProbabilisticCalculationServiceTest.cs =================================================================== diff -u -r77d25c75ebe120c39ed7956a0aace093ed96e135 -rfcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b --- Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingSemiProbabilisticCalculationServiceTest.cs (.../PipingSemiProbabilisticCalculationServiceTest.cs) (revision 77d25c75ebe120c39ed7956a0aace093ed96e135) +++ Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingSemiProbabilisticCalculationServiceTest.cs (.../PipingSemiProbabilisticCalculationServiceTest.cs) (revision fcc734ebbc1e5c6c02ae2dae2a184fdcb9aa4d1b) @@ -18,15 +18,11 @@ public void UpliftProbability_DifferentInputs_ReturnsExpectedValue(int norm, double factorOfSafety, double expectedResult) { // Setup - var pipingProbabilityAssessmentInput = new PipingProbabilityAssessmentInput - { - Norm = norm - }; + var pipingProbabilityAssessmentInput = new PipingProbabilityAssessmentInput(); var calculatorResult = new PipingOutput(double.NaN, factorOfSafety, double.NaN, double.NaN, double.NaN, double.NaN); - var calculation = AsPipingCalculation(calculatorResult, pipingProbabilityAssessmentInput); - PipingSemiProbabilisticCalculationService.Calculate(calculation); + PipingSemiProbabilisticCalculationService.Calculate(calculation, norm, double.NaN); // Call RoundedDouble result = calculation.SemiProbabilisticOutput.UpliftProbability; @@ -43,15 +39,11 @@ public void HeaveProbability_DifferentInputs_ReturnsExpectedValue(int norm, double factorOfSafety, double expectedResult) { // Setup - var pipingProbabilityAssessmentInput = new PipingProbabilityAssessmentInput - { - Norm = norm - }; + var pipingProbabilityAssessmentInput = new PipingProbabilityAssessmentInput(); var calculatorResult = new PipingOutput(double.NaN, double.NaN, double.NaN, factorOfSafety, double.NaN, double.NaN); - var calculation = AsPipingCalculation(calculatorResult, pipingProbabilityAssessmentInput); - PipingSemiProbabilisticCalculationService.Calculate(calculation); + PipingSemiProbabilisticCalculationService.Calculate(calculation, norm, double.NaN); // Call RoundedDouble result = calculation.SemiProbabilisticOutput.HeaveProbability; @@ -68,15 +60,11 @@ public void SellmeijerProbability_DifferentInputs_ReturnsExpectedValue(int norm, double factorOfSafety, double expectedResult) { // Setup - var pipingProbabilityAssessmentInput = new PipingProbabilityAssessmentInput - { - Norm = norm - }; + var pipingProbabilityAssessmentInput = new PipingProbabilityAssessmentInput(); var calculatorResult = new PipingOutput(double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, factorOfSafety); - var calculation = AsPipingCalculation(calculatorResult, pipingProbabilityAssessmentInput); - PipingSemiProbabilisticCalculationService.Calculate(calculation); + PipingSemiProbabilisticCalculationService.Calculate(calculation, norm, double.NaN); // Call RoundedDouble result = calculation.SemiProbabilisticOutput.SellmeijerProbability; @@ -96,14 +84,10 @@ { // Setup var calculatorResult = new PipingOutput(double.NaN, fosUplift, double.NaN, fosHeave, double.NaN, fosSellmeijer); - var pipingProbabilityAssessmentInput = new PipingProbabilityAssessmentInput - { - Norm = norm - }; - + var pipingProbabilityAssessmentInput = new PipingProbabilityAssessmentInput(); var calculation = AsPipingCalculation(calculatorResult, pipingProbabilityAssessmentInput); - PipingSemiProbabilisticCalculationService.Calculate(calculation); + PipingSemiProbabilisticCalculationService.Calculate(calculation, norm, double.NaN); // Call RoundedDouble result = calculation.SemiProbabilisticOutput.PipingReliability; @@ -122,14 +106,11 @@ var calculatorResult = new PipingOutput(double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN); var pipingProbabilityAssessmentInput = new PipingProbabilityAssessmentInput { - Norm = norm, SectionLength = assessmentSectionLength, - Contribution = contribution }; - var calculation = AsPipingCalculation(calculatorResult, pipingProbabilityAssessmentInput); - PipingSemiProbabilisticCalculationService.Calculate(calculation); + PipingSemiProbabilisticCalculationService.Calculate(calculation, norm, contribution); // Call RoundedDouble result = calculation.SemiProbabilisticOutput.RequiredReliability; @@ -153,14 +134,11 @@ var calculatorResult = new PipingOutput(double.NaN, fosUplift, double.NaN, fosHeave, double.NaN, fosSellmeijer); var pipingProbabilityAssessmentInput = new PipingProbabilityAssessmentInput { - Norm = norm, SectionLength = assessmentSectionLength, - Contribution = contribution }; - var calculation = AsPipingCalculation(calculatorResult, pipingProbabilityAssessmentInput); - PipingSemiProbabilisticCalculationService.Calculate(calculation); + PipingSemiProbabilisticCalculationService.Calculate(calculation, norm, contribution); // Call RoundedDouble result = calculation.SemiProbabilisticOutput.PipingFactorOfSafety; @@ -183,14 +161,11 @@ var calculatorResult = new PipingOutput(double.NaN, fosUplift, double.NaN, fosHeave, double.NaN, fosSellmeijer); var pipingProbabilityAssessmentInput = new PipingProbabilityAssessmentInput { - Norm = norm, SectionLength = assessmentSectionLength, - Contribution = contribution }; - var calculation = AsPipingCalculation(calculatorResult, pipingProbabilityAssessmentInput); - PipingSemiProbabilisticCalculationService.Calculate(calculation); + PipingSemiProbabilisticCalculationService.Calculate(calculation, norm, contribution); // Call RoundedDouble result = calculation.SemiProbabilisticOutput.PipingFactorOfSafety; @@ -205,9 +180,7 @@ // Setup var pipingProbabilityAssessmentInput = new PipingProbabilityAssessmentInput { - SectionLength = 6000, - Norm = 30000, - Contribution = 24 + SectionLength = 6000 }; var pipingOutput = new PipingOutput(double.NaN, 1.2, double.NaN, 0.6, double.NaN, 0.9); var pipingCalculation = new PipingCalculation(new GeneralPipingInput(), pipingProbabilityAssessmentInput) @@ -216,7 +189,7 @@ }; // Call - PipingSemiProbabilisticCalculationService.Calculate(pipingCalculation); + PipingSemiProbabilisticCalculationService.Calculate(pipingCalculation, 30000, 24); // Assert RoundedDouble result = pipingCalculation.SemiProbabilisticOutput.PipingFactorOfSafety; @@ -231,7 +204,7 @@ var pipingCalculation = new PipingCalculation(generalInput, new PipingProbabilityAssessmentInput()); // Call - TestDelegate test = () => PipingSemiProbabilisticCalculationService.Calculate(pipingCalculation); + TestDelegate test = () => PipingSemiProbabilisticCalculationService.Calculate(pipingCalculation, int.MinValue, double.NaN); // Assert TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, "Cannot perform a semi-probabilistic calculation without output from the piping kernel.");