Index: Riskeer/Piping/src/Riskeer.Piping.Data/Probabilistic/ProbabilisticPipingCalculation.cs =================================================================== diff -u -r984b298e426bd997cb17196b8d4e1a06f1395eb2 -r4b9dc2d9640585db572f99b5f38880b3a343a45b --- Riskeer/Piping/src/Riskeer.Piping.Data/Probabilistic/ProbabilisticPipingCalculation.cs (.../ProbabilisticPipingCalculation.cs) (revision 984b298e426bd997cb17196b8d4e1a06f1395eb2) +++ Riskeer/Piping/src/Riskeer.Piping.Data/Probabilistic/ProbabilisticPipingCalculation.cs (.../ProbabilisticPipingCalculation.cs) (revision 4b9dc2d9640585db572f99b5f38880b3a343a45b) @@ -45,6 +45,14 @@ /// public ProbabilisticPipingOutput Output { get; set; } + /// + /// Clears the calculated illustration points. + /// + public void ClearIllustrationPoints() + { + Output?.ClearIllustrationPoints(); + } + public override void ClearOutput() { Output = null; Index: Riskeer/Piping/test/Riskeer.Piping.Data.Test/Probabilistic/ProbabilisticPipingCalculationTest.cs =================================================================== diff -u -rb73588e5f0c90398c590383b9e6996f996c19735 -r4b9dc2d9640585db572f99b5f38880b3a343a45b --- Riskeer/Piping/test/Riskeer.Piping.Data.Test/Probabilistic/ProbabilisticPipingCalculationTest.cs (.../ProbabilisticPipingCalculationTest.cs) (revision b73588e5f0c90398c590383b9e6996f996c19735) +++ Riskeer/Piping/test/Riskeer.Piping.Data.Test/Probabilistic/ProbabilisticPipingCalculationTest.cs (.../ProbabilisticPipingCalculationTest.cs) (revision 4b9dc2d9640585db572f99b5f38880b3a343a45b) @@ -21,6 +21,7 @@ using Core.Common.Data.TestUtil; using NUnit.Framework; +using Riskeer.Common.Data.TestUtil.IllustrationPoints; using Riskeer.Piping.Data.Probabilistic; using Riskeer.Piping.Data.TestUtil; @@ -75,6 +76,42 @@ } [Test] + public void ClearIllustrationPoints_CalculationWithOutput_ClearsIllustrationPointResult() + { + // Setup + PartialProbabilisticPipingOutput sectionSpecificOutput = + PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(new TestGeneralResultFaultTreeIllustrationPoint()); + PartialProbabilisticPipingOutput profileSpecificOutput = + PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(new TestGeneralResultFaultTreeIllustrationPoint()); + var output = new ProbabilisticPipingOutput(sectionSpecificOutput, profileSpecificOutput); + var calculation = new ProbabilisticPipingCalculation(new GeneralPipingInput()) + { + Output = output + }; + + // Call + calculation.ClearIllustrationPoints(); + + // Assert + Assert.AreSame(output, calculation.Output); + Assert.IsNull(output.SectionSpecificOutput.GeneralResult); + Assert.IsNull(output.ProfileSpecificOutput.GeneralResult); + } + + [Test] + public void ClearIllustrationPoints_CalculationWithoutOutput_NothingHappens() + { + // Setup + var calculation = new ProbabilisticPipingCalculation(new GeneralPipingInput()); + + // Call + void Call() => calculation.ClearIllustrationPoints(); + + // Assert + Assert.DoesNotThrow(Call); + } + + [Test] public void ClearOutput_Always_SetsOutputToNull() { // Setup