Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismSection2aAssessmentResultExtensionsTest.cs =================================================================== diff -u -r00da0d2f72214f140bceff0eaae5f14172c587de -red08434acc8f5619842f1c6cb0b7f9a56cf8dad0 --- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismSection2aAssessmentResultExtensionsTest.cs (.../PipingFailureMechanismSection2aAssessmentResultExtensionsTest.cs) (revision 00da0d2f72214f140bceff0eaae5f14172c587de) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingFailureMechanismSection2aAssessmentResultExtensionsTest.cs (.../PipingFailureMechanismSection2aAssessmentResultExtensionsTest.cs) (revision ed08434acc8f5619842f1c6cb0b7f9a56cf8dad0) @@ -22,6 +22,8 @@ using System.Linq; using Core.Common.Base.Data; using NUnit.Framework; +using Rhino.Mocks; +using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.Calculation; using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Common.Data.TestUtil; @@ -36,6 +38,12 @@ public void GetAssessmentLayerTwoA_MultipleScenarios_ReturnsValueBasedOnRelevantAndDoneScenarios() { // Setup + var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); + + var failureMechanism = new PipingFailureMechanism(); + FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); var failureMechanismSectionResult = new PipingFailureMechanismSectionResult(section); @@ -44,10 +52,10 @@ const double probability1 = 1.0 / 1000000.0; const double probability2 = 1.0 / 2000000.0; - PipingCalculationScenario pipingCalculationScenario1 = PipingCalculationScenarioFactory.CreatePipingCalculationScenario(probability1, section); - PipingCalculationScenario pipingCalculationScenario2 = PipingCalculationScenarioFactory.CreatePipingCalculationScenario(probability2, section); - PipingCalculationScenario pipingCalculationScenario3 = PipingCalculationScenarioFactory.CreatePipingCalculationScenario(0.0, section); - PipingCalculationScenario pipingCalculationScenario4 = PipingCalculationScenarioFactory.CreateFailedPipingCalculationScenario(section); + PipingCalculationScenario pipingCalculationScenario1 = PipingCalculationScenarioFactory.CreatePipingCalculationScenario(section); + PipingCalculationScenario pipingCalculationScenario2 = PipingCalculationScenarioFactory.CreatePipingCalculationScenario(section); + PipingCalculationScenario pipingCalculationScenario3 = PipingCalculationScenarioFactory.CreatePipingCalculationScenario(section); + PipingCalculationScenario pipingCalculationScenario4 = PipingCalculationScenarioFactory.CreateNotCalculatedPipingCalculationScenario(section); pipingCalculationScenario1.IsRelevant = true; pipingCalculationScenario1.Contribution = (RoundedDouble) contribution1; @@ -68,51 +76,48 @@ }; // Call - double assessmentLayerTwoA = failureMechanismSectionResult.GetAssessmentLayerTwoA(calculations); + double assessmentLayerTwoA = failureMechanismSectionResult.GetAssessmentLayerTwoA(calculations, failureMechanism, assessmentSection); // Assert const double expectedProbability = probability1 * contribution1 + probability2 * contribution2; Assert.AreEqual(expectedProbability, assessmentLayerTwoA, 1e-8); + mocks.VerifyAll(); } [Test] - public void GetAssessmentLayerTwoA_ScenarioInvalidOutput_ReturnsZero() + public void GetAssessmentLayerTwoA_NoScenarios_ReturnsZero() { // Setup - FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); - var failureMechanismSectionResult = new PipingFailureMechanismSectionResult(section); + var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); - PipingCalculationScenario pipingCalculationScenario = PipingCalculationScenarioFactory.CreateFailedPipingCalculationScenario(section); - pipingCalculationScenario.Contribution = (RoundedDouble) 1.0; + var failureMechanism = new PipingFailureMechanism(); - // Call - double assessmentLayerTwoA = failureMechanismSectionResult.GetAssessmentLayerTwoA(new[] - { - pipingCalculationScenario - }); - - // Assert - Assert.IsNaN(assessmentLayerTwoA); - } - - [Test] - public void GetAssessmentLayerTwoA_NoScenarios_ReturnsZero() - { - // Setup FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); var failureMechanismSectionResult = new PipingFailureMechanismSectionResult(section); // Call - double assessmentLayerTwoA = failureMechanismSectionResult.GetAssessmentLayerTwoA(Enumerable.Empty()); + double assessmentLayerTwoA = failureMechanismSectionResult.GetAssessmentLayerTwoA(Enumerable.Empty(), + failureMechanism, + assessmentSection); // Assert Assert.IsNaN(assessmentLayerTwoA); + mocks.VerifyAll(); } [Test] public void GetAssessmentLayerTwoA_NoRelevantScenarios_ReturnsZero() { // Setup + var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); + + var failureMechanism = new PipingFailureMechanism(); + + FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); var failureMechanismSectionResult = new PipingFailureMechanismSectionResult(section); @@ -126,16 +131,25 @@ }; // Call - double assessmentLayerTwoA = failureMechanismSectionResult.GetAssessmentLayerTwoA(calculationScenarios); + double assessmentLayerTwoA = failureMechanismSectionResult.GetAssessmentLayerTwoA(calculationScenarios, + failureMechanism, + assessmentSection); // Assert Assert.IsNaN(assessmentLayerTwoA); + mocks.VerifyAll(); } [Test] public void GetAssessmentLayerTwoA_ScenarioNotCalculated_ReturnsZero() { // Setup + var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); + + var failureMechanism = new PipingFailureMechanism(); + FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); var failureMechanismSectionResult = new PipingFailureMechanismSectionResult(section); @@ -145,10 +159,11 @@ double assessmentLayerTwoA = failureMechanismSectionResult.GetAssessmentLayerTwoA(new[] { pipingCalculationScenario - }); + }, failureMechanism, assessmentSection); // Assert Assert.IsNaN(assessmentLayerTwoA); + mocks.VerifyAll(); } [Test] @@ -158,10 +173,10 @@ FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); var failureMechanismSectionResult = new PipingFailureMechanismSectionResult(section); - PipingCalculationScenario pipingCalculationScenario = PipingCalculationScenarioFactory.CreateFailedPipingCalculationScenario(section); + PipingCalculationScenario pipingCalculationScenario = PipingCalculationScenarioFactory.CreateNotCalculatedPipingCalculationScenario(section); pipingCalculationScenario.Contribution = (RoundedDouble) 0.3; - PipingCalculationScenario pipingCalculationScenario2 = PipingCalculationScenarioFactory.CreateFailedPipingCalculationScenario(section); + PipingCalculationScenario pipingCalculationScenario2 = PipingCalculationScenarioFactory.CreateNotCalculatedPipingCalculationScenario(section); pipingCalculationScenario2.Contribution = (RoundedDouble) 0.5; PipingCalculationScenario pipingCalculationScenario3 = PipingCalculationScenarioFactory.CreateIrrelevantPipingCalculationScenario(section); @@ -200,59 +215,13 @@ } [Test] - public void GetCalculationScenarioStatus_ScenarioInvalidOutput_ReturnsStatusFailed() - { - // Setup - FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); - var failureMechanismSectionResult = new PipingFailureMechanismSectionResult(section); - - PipingCalculationScenario pipingCalculationScenario = PipingCalculationScenarioFactory.CreateFailedPipingCalculationScenario(section); - pipingCalculationScenario.Contribution = (RoundedDouble) 1.0; - - // Call - CalculationScenarioStatus status = failureMechanismSectionResult.GetCalculationScenarioStatus(new[] - { - pipingCalculationScenario - }); - - // Assert - Assert.AreEqual(CalculationScenarioStatus.Failed, status); - } - - [Test] - public void GetCalculationScenarioStatus_ScenarioInvalidOutputAndNotCalculated_ReturnsStatusFailed() - { - // Setup - FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); - var failureMechanismSectionResult = new PipingFailureMechanismSectionResult(section); - - PipingCalculationScenario pipingCalculationScenario = PipingCalculationScenarioFactory.CreateNotCalculatedPipingCalculationScenario(section); - pipingCalculationScenario.IsRelevant = true; - - PipingCalculationScenario pipingCalculationScenario2 = PipingCalculationScenarioFactory.CreateFailedPipingCalculationScenario(section); - pipingCalculationScenario2.Contribution = (RoundedDouble) 1.0; - - var calculationScenarios = new[] - { - pipingCalculationScenario, - pipingCalculationScenario2 - }; - - // Call - CalculationScenarioStatus status = failureMechanismSectionResult.GetCalculationScenarioStatus(calculationScenarios); - - // Assert - Assert.AreEqual(CalculationScenarioStatus.Failed, status); - } - - [Test] public void GetCalculationScenarioStatus_ScenariosCalculated_ReturnsStatusDone() { // Setup FailureMechanismSection section = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(); var failureMechanismSectionResult = new PipingFailureMechanismSectionResult(section); - PipingCalculationScenario pipingCalculationScenario = PipingCalculationScenarioFactory.CreatePipingCalculationScenario(0.1, section); + PipingCalculationScenario pipingCalculationScenario = PipingCalculationScenarioFactory.CreatePipingCalculationScenario(section); pipingCalculationScenario.Contribution = (RoundedDouble) 1.0; // Call