Index: Riskeer/Piping/test/Riskeer.Piping.Data.Test/Probabilistic/ProbabilisticPipingCalculationScenarioTest.cs
===================================================================
diff -u
--- Riskeer/Piping/test/Riskeer.Piping.Data.Test/Probabilistic/ProbabilisticPipingCalculationScenarioTest.cs (revision 0)
+++ Riskeer/Piping/test/Riskeer.Piping.Data.Test/Probabilistic/ProbabilisticPipingCalculationScenarioTest.cs (revision 7fd4637720024016b375a42ba17657011a4cf9e1)
@@ -0,0 +1,132 @@
+// Copyright (C) Stichting Deltares 2019. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using Core.Common.Base.Data;
+using Core.Common.Data.TestUtil;
+using Core.Common.TestUtil;
+using NUnit.Framework;
+using Riskeer.Common.Data.Calculation;
+using Riskeer.Common.Data.TestUtil;
+using Riskeer.Piping.Data.Probabilistic;
+using Riskeer.Piping.Data.TestUtil;
+
+namespace Riskeer.Piping.Data.Test.Probabilistic
+{
+ [TestFixture]
+ public class ProbabilisticPipingCalculationScenarioTest
+ {
+ [Test]
+ public void Constructor_ExpectedValues()
+ {
+ // Call
+ var scenario = new ProbabilisticPipingCalculationScenario();
+
+ // Assert
+ Assert.IsInstanceOf(scenario);
+ Assert.IsInstanceOf(scenario);
+
+ Assert.IsTrue(scenario.IsRelevant);
+ Assert.AreEqual(4, scenario.Contribution.NumberOfDecimalPlaces);
+ Assert.AreEqual(1.0, scenario.Contribution, scenario.Contribution.GetAccuracy());
+ }
+
+ [Test]
+ [TestCase(true)]
+ [TestCase(false)]
+ public void IsRelevant_Always_ReturnsSetValue(bool isRelevant)
+ {
+ // Setup
+ var scenario = new ProbabilisticPipingCalculationScenario();
+
+ // Call
+ scenario.IsRelevant = isRelevant;
+
+ // Assert
+ Assert.AreEqual(isRelevant, scenario.IsRelevant);
+ }
+
+ [Test]
+ public void Contribution_Always_ReturnsSetValue()
+ {
+ // Setup
+ var random = new Random(21);
+ RoundedDouble contribution = random.NextRoundedDouble();
+
+ var scenario = new ProbabilisticPipingCalculationScenario();
+
+ // Call
+ scenario.Contribution = contribution;
+
+ // Assert
+ Assert.AreEqual(4, scenario.Contribution.NumberOfDecimalPlaces);
+ Assert.AreEqual(contribution, scenario.Contribution, scenario.Contribution.GetAccuracy());
+ }
+
+ [Test]
+ public void Clone_AllPropertiesSet_ReturnNewInstanceWithCopiedValues()
+ {
+ // Setup
+ ProbabilisticPipingCalculationScenario original = CreateRandomCalculationScenarioWithoutOutput();
+
+ original.Output = PipingTestDataGenerator.GetRandomProbabilisticPipingOutput();
+
+ // Call
+ object clone = original.Clone();
+
+ // Assert
+ CoreCloneAssert.AreObjectClones(original, clone, PipingCloneAssert.AreClones);
+ }
+
+ [Test]
+ public void Clone_NotAllPropertiesSet_ReturnNewInstanceWithCopiedValues()
+ {
+ // Setup
+ ProbabilisticPipingCalculationScenario original = CreateRandomCalculationScenarioWithoutOutput();
+
+ // Call
+ object clone = original.Clone();
+
+ // Assert
+ CoreCloneAssert.AreObjectClones(original, clone, PipingCloneAssert.AreClones);
+ }
+
+ private static ProbabilisticPipingCalculationScenario CreateRandomCalculationScenarioWithoutOutput()
+ {
+ var random = new Random(21);
+
+ var calculation = new ProbabilisticPipingCalculationScenario
+ {
+ Comments =
+ {
+ Body = "Random body"
+ },
+ Name = "Random name",
+ IsRelevant = random.NextBoolean(),
+ Contribution = random.NextRoundedDouble()
+ };
+
+ PipingTestDataGenerator.SetRandomDataToPipingInput(calculation.InputParameters);
+
+ return calculation;
+ }
+ }
+}
\ No newline at end of file