Index: Riskeer/Piping/src/Riskeer.Piping.Data/Probabilistic/PartialProbabilisticPipingOutput.cs =================================================================== diff -u -r1ae80053660205589e62dcbcab805d470c8644eb -rcf6ed8ddb6e3da8c3ce6201844cf0896651dbfdc --- Riskeer/Piping/src/Riskeer.Piping.Data/Probabilistic/PartialProbabilisticPipingOutput.cs (.../PartialProbabilisticPipingOutput.cs) (revision 1ae80053660205589e62dcbcab805d470c8644eb) +++ Riskeer/Piping/src/Riskeer.Piping.Data/Probabilistic/PartialProbabilisticPipingOutput.cs (.../PartialProbabilisticPipingOutput.cs) (revision cf6ed8ddb6e3da8c3ce6201844cf0896651dbfdc) @@ -33,8 +33,7 @@ /// Creates a new instance of . /// /// The reliability of the calculation. - /// The general result of this output with the - /// fault tree illustration points. + /// The general result of this output with the fault tree illustration points. public PartialProbabilisticPipingOutput(double reliability, GeneralResult generalResult) { Index: Riskeer/Piping/test/Riskeer.Piping.Data.Test/Probabilistic/PartialProbabilisticPipingOutputTest.cs =================================================================== diff -u --- Riskeer/Piping/test/Riskeer.Piping.Data.Test/Probabilistic/PartialProbabilisticPipingOutputTest.cs (revision 0) +++ Riskeer/Piping/test/Riskeer.Piping.Data.Test/Probabilistic/PartialProbabilisticPipingOutputTest.cs (revision cf6ed8ddb6e3da8c3ce6201844cf0896651dbfdc) @@ -0,0 +1,121 @@ +// 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.Data.TestUtil; +using NUnit.Framework; +using Riskeer.Common.Data.IllustrationPoints; +using Riskeer.Common.Data.TestUtil; +using Riskeer.Common.Data.TestUtil.IllustrationPoints; +using Riskeer.Piping.Data.Probabilistic; +using Riskeer.Piping.Data.TestUtil; + +namespace Riskeer.Piping.Data.Test.Probabilistic +{ + [TestFixture] + public class PartialProbabilisticPipingOutputTest + { + [Test] + [TestCase(true)] + [TestCase(false)] + public void Constructor_ExpectedValues(bool withIllustrationPoints) + { + // Setup + var random = new Random(39); + double reliability = random.NextDouble(); + GeneralResult generalResult = withIllustrationPoints + ? new TestGeneralResultFaultTreeIllustrationPoint() + : null; + + // Call + var partialProbabilisticPipingOutput = new PartialProbabilisticPipingOutput(reliability, generalResult); + + // Assert + Assert.IsInstanceOf(partialProbabilisticPipingOutput); + Assert.AreEqual(reliability, partialProbabilisticPipingOutput.Reliability); + Assert.AreEqual(withIllustrationPoints, partialProbabilisticPipingOutput.HasGeneralResult); + Assert.AreSame(generalResult, partialProbabilisticPipingOutput.GeneralResult); + } + + [Test] + public void Clone_NotAllPropertiesSet_ReturnNewInstanceWithCopiedValues() + { + // Setup + PartialProbabilisticPipingOutput original = PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(null); + + // Call + object clone = original.Clone(); + + // Assert + CoreCloneAssert.AreObjectClones(original, clone, CommonCloneAssert.AreClones); + } + + [Test] + public void Clone_AllPropertiesSet_ReturnNewInstanceWithCopiedValues() + { + // Setup + PartialProbabilisticPipingOutput original = PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(new TestGeneralResultFaultTreeIllustrationPoint()); + + // Call + object clone = original.Clone(); + + // Assert + CoreCloneAssert.AreObjectClones(original, clone, CommonCloneAssert.AreClones); + } + + [Test] + public void ClearIllustrationPoints_OutputWithGeneralResult_ClearsGeneralResult() + { + // Setup + var random = new Random(39); + double reliability = random.NextDouble(); + GeneralResult generalResult = new TestGeneralResultFaultTreeIllustrationPoint(); + + var partialProbabilisticPipingOutput = new PartialProbabilisticPipingOutput(reliability, generalResult); + + // Call + partialProbabilisticPipingOutput.ClearIllustrationPoints(); + + // Assert + Assert.AreEqual(reliability, partialProbabilisticPipingOutput.Reliability); + Assert.IsFalse(partialProbabilisticPipingOutput.HasGeneralResult); + Assert.IsNull(partialProbabilisticPipingOutput.GeneralResult); + } + + [Test] + public void ClearIllustrationPoints_OutputWithoutGeneralResult_NothingHappens() + { + // Setup + var random = new Random(39); + double reliability = random.NextDouble(); + + var partialProbabilisticPipingOutput = new PartialProbabilisticPipingOutput(reliability, null); + + // Call + partialProbabilisticPipingOutput.ClearIllustrationPoints(); + + // Assert + Assert.AreEqual(reliability, partialProbabilisticPipingOutput.Reliability); + Assert.IsFalse(partialProbabilisticPipingOutput.HasGeneralResult); + Assert.IsNull(partialProbabilisticPipingOutput.GeneralResult); + } + } +} \ No newline at end of file