Index: Riskeer/Common/test/Riskeer.Common.Data.TestUtil/CommonCloneAssert.cs =================================================================== diff -u -r7eaa0116d2daa5cfb492223dfa5be16ad5be63f5 -r84bbd7997930ce609be01fa84204442a286bff19 --- Riskeer/Common/test/Riskeer.Common.Data.TestUtil/CommonCloneAssert.cs (.../CommonCloneAssert.cs) (revision 7eaa0116d2daa5cfb492223dfa5be16ad5be63f5) +++ Riskeer/Common/test/Riskeer.Common.Data.TestUtil/CommonCloneAssert.cs (.../CommonCloneAssert.cs) (revision 84bbd7997930ce609be01fa84204442a286bff19) @@ -226,7 +226,9 @@ /// The cloned object. /// Thrown when and /// are not clones. - public static void AreClones(GeneralResult original, GeneralResult clone) + /// The type of the illustration point. + public static void AreClones(GeneralResult original, GeneralResult clone) + where T : TopLevelIllustrationPointBase { CoreCloneAssert.AreObjectClones(original.GoverningWindDirection, clone.GoverningWindDirection, AreClones); CoreCloneAssert.AreEnumerationClones(original.Stochasts, clone.Stochasts, AreClones); Index: Riskeer/Piping/src/Riskeer.Piping.Data/Probabilistic/ProbabilisticPipingOutput.cs =================================================================== diff -u -r28371678e8337b9f22d757d0650f48dc2e6a59ed -r84bbd7997930ce609be01fa84204442a286bff19 --- Riskeer/Piping/src/Riskeer.Piping.Data/Probabilistic/ProbabilisticPipingOutput.cs (.../ProbabilisticPipingOutput.cs) (revision 28371678e8337b9f22d757d0650f48dc2e6a59ed) +++ Riskeer/Piping/src/Riskeer.Piping.Data/Probabilistic/ProbabilisticPipingOutput.cs (.../ProbabilisticPipingOutput.cs) (revision 84bbd7997930ce609be01fa84204442a286bff19) @@ -36,7 +36,7 @@ /// 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. /// Thrown when any input parameter is null. - public ProbabilisticPipingOutput(PartialProbabilisticPipingOutput sectionSpecificOutput, PartialProbabilisticPipingOutput profileSpecificOutput) + public ProbabilisticPipingOutput(IPartialProbabilisticPipingOutput sectionSpecificOutput, IPartialProbabilisticPipingOutput profileSpecificOutput) { if (sectionSpecificOutput == null) { @@ -55,12 +55,12 @@ /// /// Gets the result of the sub-calculation that takes into account the section length. /// - public PartialProbabilisticPipingOutput SectionSpecificOutput { get; private set; } + public IPartialProbabilisticPipingOutput SectionSpecificOutput { get; private set; } /// /// Gets the result of the sub-calculation that doesn't take into account the section length. /// - public PartialProbabilisticPipingOutput ProfileSpecificOutput { get; private set; } + public IPartialProbabilisticPipingOutput ProfileSpecificOutput { get; private set; } /// /// Clears the calculated illustration points. @@ -75,8 +75,8 @@ { var clone = (ProbabilisticPipingOutput) base.Clone(); - clone.SectionSpecificOutput = (PartialProbabilisticPipingOutput) SectionSpecificOutput.Clone(); - clone.ProfileSpecificOutput = (PartialProbabilisticPipingOutput) ProfileSpecificOutput.Clone(); + clone.SectionSpecificOutput = (IPartialProbabilisticPipingOutput) SectionSpecificOutput.Clone(); + clone.ProfileSpecificOutput = (IPartialProbabilisticPipingOutput) ProfileSpecificOutput.Clone(); return clone; } Index: Riskeer/Piping/test/Riskeer.Piping.Data.Test/Probabilistic/PartialProbabilisticPipingOutputTest.cs =================================================================== diff -u -r59b68e4aee31897ec18cd836814a7215152ba817 -r84bbd7997930ce609be01fa84204442a286bff19 --- Riskeer/Piping/test/Riskeer.Piping.Data.Test/Probabilistic/PartialProbabilisticPipingOutputTest.cs (.../PartialProbabilisticPipingOutputTest.cs) (revision 59b68e4aee31897ec18cd836814a7215152ba817) +++ Riskeer/Piping/test/Riskeer.Piping.Data.Test/Probabilistic/PartialProbabilisticPipingOutputTest.cs (.../PartialProbabilisticPipingOutputTest.cs) (revision 84bbd7997930ce609be01fa84204442a286bff19) @@ -59,7 +59,7 @@ public void Clone_NotAllPropertiesSet_ReturnNewInstanceWithCopiedValues() { // Setup - PartialProbabilisticPipingOutput original = PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(null); + TestPartialProbabilisticPipingOutput original = PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(null); // Call object clone = original.Clone(); @@ -72,7 +72,7 @@ public void Clone_AllPropertiesSet_ReturnNewInstanceWithCopiedValues() { // Setup - PartialProbabilisticPipingOutput original = PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(); + TestPartialProbabilisticPipingOutput original = PipingTestDataGenerator.GetRandomPartialProbabilisticPipingOutput(); // Call object clone = original.Clone(); @@ -117,11 +117,5 @@ Assert.IsFalse(partialProbabilisticPipingOutput.HasGeneralResult); Assert.IsNull(partialProbabilisticPipingOutput.GeneralResult); } - - private class TestPartialProbabilisticPipingOutput : PartialProbabilisticPipingOutput - { - public TestPartialProbabilisticPipingOutput(double reliability, GeneralResult generalResult) - : base(reliability, generalResult) {} - } } } \ No newline at end of file Index: Riskeer/Piping/test/Riskeer.Piping.Data.TestUtil/PipingCloneAssert.cs =================================================================== diff -u -r214f8cc348ee7d9d1b102b83baca2b3fe4d10952 -r84bbd7997930ce609be01fa84204442a286bff19 --- Riskeer/Piping/test/Riskeer.Piping.Data.TestUtil/PipingCloneAssert.cs (.../PipingCloneAssert.cs) (revision 214f8cc348ee7d9d1b102b83baca2b3fe4d10952) +++ Riskeer/Piping/test/Riskeer.Piping.Data.TestUtil/PipingCloneAssert.cs (.../PipingCloneAssert.cs) (revision 84bbd7997930ce609be01fa84204442a286bff19) @@ -21,6 +21,7 @@ using Core.Common.Data.TestUtil; using NUnit.Framework; +using Riskeer.Common.Data.IllustrationPoints; using Riskeer.Common.Data.TestUtil; using Riskeer.Piping.Data.Probabilistic; using Riskeer.Piping.Data.SemiProbabilistic; @@ -198,10 +199,24 @@ /// The cloned object. /// Thrown when and /// are not clones. - public static void AreClones(PartialProbabilisticPipingOutput original, PartialProbabilisticPipingOutput clone) + public static void AreClones(PartialProbabilisticPipingOutput original, PartialProbabilisticPipingOutput clone) + where T : TopLevelIllustrationPointBase { Assert.AreEqual(original.Reliability, clone.Reliability); CoreCloneAssert.AreObjectClones(original.GeneralResult, clone.GeneralResult, CommonCloneAssert.AreClones); } + + /// + /// Method that asserts whether and + /// are clones. + /// + /// The original object. + /// The cloned object. + /// Thrown when and + /// are not clones. + private static void AreClones(IPartialProbabilisticPipingOutput original, IPartialProbabilisticPipingOutput clone) + { + Assert.AreEqual(original.Reliability, clone.Reliability); + } } } \ No newline at end of file Index: Riskeer/Piping/test/Riskeer.Piping.Data.TestUtil/PipingTestDataGenerator.cs =================================================================== diff -u -r657d08b18a32bdb1f74e37665a95fa9b08e37a55 -r84bbd7997930ce609be01fa84204442a286bff19 --- Riskeer/Piping/test/Riskeer.Piping.Data.TestUtil/PipingTestDataGenerator.cs (.../PipingTestDataGenerator.cs) (revision 657d08b18a32bdb1f74e37665a95fa9b08e37a55) +++ Riskeer/Piping/test/Riskeer.Piping.Data.TestUtil/PipingTestDataGenerator.cs (.../PipingTestDataGenerator.cs) (revision 84bbd7997930ce609be01fa84204442a286bff19) @@ -584,25 +584,25 @@ } /// - /// Creates a random instance of . + /// Creates a random instance of . /// - /// A random instance of . - public static PartialProbabilisticPipingOutput GetRandomPartialProbabilisticPipingOutput() + /// A random instance of . + public static TestPartialProbabilisticPipingOutput GetRandomPartialProbabilisticPipingOutput() { - return GetRandomPartialProbabilisticPipingOutput(new TestGeneralResultFaultTreeIllustrationPoint()); + return GetRandomPartialProbabilisticPipingOutput(new TestGeneralResultTopLevelIllustrationPoint()); } /// - /// Creates a random instance of . + /// Creates a random instance of . /// /// The general result to set to the output. - /// A random instance of . - public static PartialProbabilisticPipingOutput GetRandomPartialProbabilisticPipingOutput(TestGeneralResultFaultTreeIllustrationPoint generalResult) + /// A random instance of . + public static TestPartialProbabilisticPipingOutput GetRandomPartialProbabilisticPipingOutput(TestGeneralResultTopLevelIllustrationPoint generalResult) { var random = new Random(21); - return new PartialProbabilisticPipingOutput(random.NextDouble(), - generalResult); + return new TestPartialProbabilisticPipingOutput(random.NextDouble(), + generalResult); } /// Index: Riskeer/Piping/test/Riskeer.Piping.Data.TestUtil/TestPartialProbabilisticPipingOutput.cs =================================================================== diff -u --- Riskeer/Piping/test/Riskeer.Piping.Data.TestUtil/TestPartialProbabilisticPipingOutput.cs (revision 0) +++ Riskeer/Piping/test/Riskeer.Piping.Data.TestUtil/TestPartialProbabilisticPipingOutput.cs (revision 84bbd7997930ce609be01fa84204442a286bff19) @@ -0,0 +1,41 @@ +// 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 Riskeer.Common.Data.IllustrationPoints; +using Riskeer.Common.Data.TestUtil.IllustrationPoints; +using Riskeer.Piping.Data.Probabilistic; + +namespace Riskeer.Piping.Data.TestUtil +{ + /// + /// Partial probabilistic piping output for testing purposes. + /// + public class TestPartialProbabilisticPipingOutput : PartialProbabilisticPipingOutput + { + /// + /// Creates a new instance of . + /// + /// The reliability of the calculation. + /// The general result of this output with the fault tree illustration points. + public TestPartialProbabilisticPipingOutput(double reliability, GeneralResult generalResult) + : base(reliability, generalResult) {} + } +} \ No newline at end of file