Index: Riskeer/Piping/src/Riskeer.Piping.Data/Probabilistic/ProbabilisticPipingCalculation.cs =================================================================== diff -u -rd35c65dbe753411d9ba4a3c1922440bed4a3d7b7 -rcff892a5011a686e278feac4b9b2bb0a9d1a1636 --- Riskeer/Piping/src/Riskeer.Piping.Data/Probabilistic/ProbabilisticPipingCalculation.cs (.../ProbabilisticPipingCalculation.cs) (revision d35c65dbe753411d9ba4a3c1922440bed4a3d7b7) +++ Riskeer/Piping/src/Riskeer.Piping.Data/Probabilistic/ProbabilisticPipingCalculation.cs (.../ProbabilisticPipingCalculation.cs) (revision cff892a5011a686e278feac4b9b2bb0a9d1a1636) @@ -32,7 +32,8 @@ protected ProbabilisticPipingCalculation() : base(new ProbabilisticPipingInput()) {} public override bool ShouldCalculate => - !HasOutput || InputParameters.ShouldProfileSpecificIllustrationPointsBeCalculated != Output.HasIllustrationPoints; + !HasOutput || InputParameters.ShouldProfileSpecificIllustrationPointsBeCalculated != Output.ProfileSpecificOutput.HasGeneralResult + || InputParameters.ShouldSectionSpecificIllustrationPointsBeCalculated != Output.SectionSpecificOutput.HasGeneralResult; public override bool HasOutput => Output != null; Index: Riskeer/Piping/test/Riskeer.Piping.Data.Test/Probabilistic/ProbabilisticPipingCalculationTest.cs =================================================================== diff -u -rd35c65dbe753411d9ba4a3c1922440bed4a3d7b7 -rcff892a5011a686e278feac4b9b2bb0a9d1a1636 --- Riskeer/Piping/test/Riskeer.Piping.Data.Test/Probabilistic/ProbabilisticPipingCalculationTest.cs (.../ProbabilisticPipingCalculationTest.cs) (revision d35c65dbe753411d9ba4a3c1922440bed4a3d7b7) +++ Riskeer/Piping/test/Riskeer.Piping.Data.Test/Probabilistic/ProbabilisticPipingCalculationTest.cs (.../ProbabilisticPipingCalculationTest.cs) (revision cff892a5011a686e278feac4b9b2bb0a9d1a1636) @@ -45,20 +45,8 @@ [Test] [TestCaseSource(nameof(GetCalculations))] - public void ShouldCalculate_Always_ReturnsExpectedValue( - bool shouldIllustrationPointsBeCalculated, ProbabilisticPipingOutput output, - bool expectedShouldCalculate) + public void ShouldCalculate_Always_ReturnsExpectedValue(ProbabilisticPipingCalculation calculation, bool expectedShouldCalculate) { - // Setup - var calculation = new TestProbabilisticPipingCalculation - { - InputParameters = - { - ShouldProfileSpecificIllustrationPointsBeCalculated = shouldIllustrationPointsBeCalculated - }, - Output = output - }; - // Call bool shouldCalculate = calculation.ShouldCalculate; @@ -178,50 +166,72 @@ private static IEnumerable GetCalculations() { - yield return new TestCaseData(true, null, true); - yield return new TestCaseData(false, null, true); - - yield return new TestCaseData( - true, PipingTestDataGenerator.GetRandomProbabilisticPipingOutput(), false); - - yield return new TestCaseData( - false, PipingTestDataGenerator.GetRandomProbabilisticPipingOutput(), true); - - yield return new TestCaseData( - true, new ProbabilisticPipingOutput( + yield return new TestCaseData(new TestProbabilisticPipingCalculation(), true) + .SetName("WithoutOutput"); + yield return new TestCaseData(new TestProbabilisticPipingCalculation + { + Output = PipingTestDataGenerator.GetRandomProbabilisticPipingOutput() + }, true).SetName("WithOutputButShouldNotHaveIllustrationPoints"); + yield return new TestCaseData(new TestProbabilisticPipingCalculation + { + InputParameters = + { + ShouldSectionSpecificIllustrationPointsBeCalculated = true, + ShouldProfileSpecificIllustrationPointsBeCalculated = true + }, + Output = PipingTestDataGenerator.GetRandomProbabilisticPipingOutput() + }, false).SetName("WithOutputAndIllustrationPoints"); + yield return new TestCaseData(new TestProbabilisticPipingCalculation + { + InputParameters = + { + ShouldSectionSpecificIllustrationPointsBeCalculated = false, + ShouldProfileSpecificIllustrationPointsBeCalculated = true + }, + Output = PipingTestDataGenerator.GetRandomProbabilisticPipingOutput() + }, true).SetName("WithOutputAndPartialIllustrationPoints1"); + yield return new TestCaseData(new TestProbabilisticPipingCalculation + { + InputParameters = + { + ShouldSectionSpecificIllustrationPointsBeCalculated = true, + ShouldProfileSpecificIllustrationPointsBeCalculated = false + }, + Output = PipingTestDataGenerator.GetRandomProbabilisticPipingOutput() + }, true).SetName("WithOutputAndPartialIllustrationPoints2"); + yield return new TestCaseData(new TestProbabilisticPipingCalculation + { + InputParameters = + { + ShouldSectionSpecificIllustrationPointsBeCalculated = true, + ShouldProfileSpecificIllustrationPointsBeCalculated = false + }, + Output = new ProbabilisticPipingOutput( PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(), - PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(null)), - true); - - yield return new TestCaseData( - true, new ProbabilisticPipingOutput( + PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(null)) + }, false).SetName("WithOutputAndPartialIllustrationPoints3"); + yield return new TestCaseData(new TestProbabilisticPipingCalculation + { + InputParameters = + { + ShouldSectionSpecificIllustrationPointsBeCalculated = false, + ShouldProfileSpecificIllustrationPointsBeCalculated = true + }, + Output = new ProbabilisticPipingOutput( PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(null), - PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput()), - true); - - yield return new TestCaseData( - true, new ProbabilisticPipingOutput( + PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput()) + }, false).SetName("WithOutputAndPartialIllustrationPoints4"); + yield return new TestCaseData(new TestProbabilisticPipingCalculation + { + InputParameters = + { + ShouldSectionSpecificIllustrationPointsBeCalculated = false, + ShouldProfileSpecificIllustrationPointsBeCalculated = false + }, + Output = new ProbabilisticPipingOutput( PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(null), - PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(null)), - true); - - yield return new TestCaseData( - false, new ProbabilisticPipingOutput( - PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(), - PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(null)), - false); - - yield return new TestCaseData( - false, new ProbabilisticPipingOutput( - PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(null), - PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput()), - false); - - yield return new TestCaseData( - false, new ProbabilisticPipingOutput( - PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(null), - PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(null)), - false); + PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(null)) + }, false).SetName("WithOutputWithoutIllustrationPoints"); } private static ProbabilisticPipingCalculation CreateRandomCalculationWithoutOutput()