Index: Riskeer/Piping/src/Riskeer.Piping.Data/Probabilistic/ProbabilisticPipingOutput.cs =================================================================== diff -u -r9c83f4ae54b59848d77ee3c42f0d1a408da8e49d -rfe7119eba5c17b1a7bb18abfdb7879cde5474982 --- Riskeer/Piping/src/Riskeer.Piping.Data/Probabilistic/ProbabilisticPipingOutput.cs (.../ProbabilisticPipingOutput.cs) (revision 9c83f4ae54b59848d77ee3c42f0d1a408da8e49d) +++ Riskeer/Piping/src/Riskeer.Piping.Data/Probabilistic/ProbabilisticPipingOutput.cs (.../ProbabilisticPipingOutput.cs) (revision fe7119eba5c17b1a7bb18abfdb7879cde5474982) @@ -19,6 +19,7 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using Core.Common.Base; using Riskeer.Common.Data.Calculation; @@ -34,10 +35,19 @@ /// /// The result of the sub-calculation that takes into account the section length. /// The result of the sub-calculation that doesn't take into account the section length. - /// The input parameters are not checked for being null as (one of the) the sub-calculation results might - /// be missing due to calculation failure. + /// Thrown when any input parameter is null. public ProbabilisticPipingOutput(PartialProbabilisticPipingOutput sectionSpecificOutput, PartialProbabilisticPipingOutput profileSpecificOutput) { + if (sectionSpecificOutput == null) + { + throw new ArgumentNullException(nameof(sectionSpecificOutput)); + } + + if (profileSpecificOutput == null) + { + throw new ArgumentNullException(nameof(profileSpecificOutput)); + } + SectionSpecificOutput = sectionSpecificOutput; ProfileSpecificOutput = profileSpecificOutput; } Index: Riskeer/Piping/test/Riskeer.Piping.Data.Test/Probabilistic/ProbabilisticPipingOutputTest.cs =================================================================== diff -u -r0db900067fe7ee0998170840b48b45b9d73425bd -rfe7119eba5c17b1a7bb18abfdb7879cde5474982 --- Riskeer/Piping/test/Riskeer.Piping.Data.Test/Probabilistic/ProbabilisticPipingOutputTest.cs (.../ProbabilisticPipingOutputTest.cs) (revision 0db900067fe7ee0998170840b48b45b9d73425bd) +++ Riskeer/Piping/test/Riskeer.Piping.Data.Test/Probabilistic/ProbabilisticPipingOutputTest.cs (.../ProbabilisticPipingOutputTest.cs) (revision fe7119eba5c17b1a7bb18abfdb7879cde5474982) @@ -34,6 +34,32 @@ public class ProbabilisticPipingOutputTest { [Test] + public void Constructor_SectionSpecificOutputNull_ThrowsArgumentNullException() + { + // Call + void Call() => new ProbabilisticPipingOutput( + null, + PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(new TestGeneralResultFaultTreeIllustrationPoint())); + + // Assert + string paramName = Assert.Throws(Call).ParamName; + Assert.AreEqual("sectionSpecificOutput", paramName); + } + + [Test] + public void Constructor_ProfileSpecificOutputNull_ThrowsArgumentNullException() + { + // Call + void Call() => new ProbabilisticPipingOutput( + PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(new TestGeneralResultFaultTreeIllustrationPoint()), + null); + + // Assert + string paramName = Assert.Throws(Call).ParamName; + Assert.AreEqual("profileSpecificOutput", paramName); + } + + [Test] public void Constructor_ExpectedValues() { // Setup @@ -101,62 +127,6 @@ } [Test] - public void ClearIllustrationPoints_NoOutput_DoesNotThrow() - { - // Setup - var output = new ProbabilisticPipingOutput(null, null); - - // Call - void Call() => output.ClearIllustrationPoints(); - - // Assert - Assert.DoesNotThrow(Call); - } - - [Test] - public void Clone_NoPropertiesSet_ReturnNewInstanceWithCopiedValues() - { - // Setup - var original = new ProbabilisticPipingOutput(null, null); - - // Call - object clone = original.Clone(); - - // Assert - CoreCloneAssert.AreObjectClones(original, clone, PipingCloneAssert.AreClones); - } - - [Test] - public void Clone_OnlySectionSpecificOutputSet_ReturnNewInstanceWithCopiedValues() - { - // Setup - var original = new ProbabilisticPipingOutput( - PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(new TestGeneralResultFaultTreeIllustrationPoint()), - null); - - // Call - object clone = original.Clone(); - - // Assert - CoreCloneAssert.AreObjectClones(original, clone, PipingCloneAssert.AreClones); - } - - [Test] - public void Clone_OnlyProfileSpecificOutputSet_ReturnNewInstanceWithCopiedValues() - { - // Setup - var original = new ProbabilisticPipingOutput( - null, - PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(new TestGeneralResultFaultTreeIllustrationPoint())); - - // Call - object clone = original.Clone(); - - // Assert - CoreCloneAssert.AreObjectClones(original, clone, PipingCloneAssert.AreClones); - } - - [Test] public void Clone_AllPropertiesSet_ReturnNewInstanceWithCopiedValues() { // Setup