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