Index: Riskeer/Piping/test/Riskeer.Piping.Data.Test/PipingCalculationTest.cs =================================================================== diff -u -r9ba67bb2089f763107bc67f9f2be8f351df79cef -r7d4cd8bd62fff02ccaa91f18ed6d53b46bc3b2ec --- Riskeer/Piping/test/Riskeer.Piping.Data.Test/PipingCalculationTest.cs (.../PipingCalculationTest.cs) (revision 9ba67bb2089f763107bc67f9f2be8f351df79cef) +++ Riskeer/Piping/test/Riskeer.Piping.Data.Test/PipingCalculationTest.cs (.../PipingCalculationTest.cs) (revision 7d4cd8bd62fff02ccaa91f18ed6d53b46bc3b2ec) @@ -88,7 +88,7 @@ public void Clone_AllPropertiesSet_ReturnNewInstanceWithCopiedValues() { // Setup - PipingCalculation original = CreateRandomCalculationWithoutOutput(); + PipingCalculation original = CreateRandomCalculation(); // Call object clone = original.Clone(); @@ -97,7 +97,7 @@ CoreCloneAssert.AreObjectClones(original, clone, PipingCloneAssert.AreClones); } - private static PipingCalculation CreateRandomCalculationWithoutOutput() + private static PipingCalculation CreateRandomCalculation() { var calculation = new TestPipingCalculation { Index: Riskeer/Piping/test/Riskeer.Piping.Data.Test/SemiProbabilistic/SemiProbabilisticPipingCalculationTest.cs =================================================================== diff -u -r20e7e6fa8aa7f33ace3cf0bee9dc3ce2fc4015c1 -r7d4cd8bd62fff02ccaa91f18ed6d53b46bc3b2ec --- Riskeer/Piping/test/Riskeer.Piping.Data.Test/SemiProbabilistic/SemiProbabilisticPipingCalculationTest.cs (.../SemiProbabilisticPipingCalculationTest.cs) (revision 20e7e6fa8aa7f33ace3cf0bee9dc3ce2fc4015c1) +++ Riskeer/Piping/test/Riskeer.Piping.Data.Test/SemiProbabilistic/SemiProbabilisticPipingCalculationTest.cs (.../SemiProbabilisticPipingCalculationTest.cs) (revision 7d4cd8bd62fff02ccaa91f18ed6d53b46bc3b2ec) @@ -19,6 +19,7 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using Core.Common.Data.TestUtil; using NUnit.Framework; using Riskeer.Piping.Data.SemiProbabilistic; using Riskeer.Piping.Data.TestUtil; @@ -88,5 +89,49 @@ // Assert Assert.IsNull(calculation.Output); } + + [Test] + public void Clone_AllPropertiesSet_ReturnNewInstanceWithCopiedValues() + { + // Setup + SemiProbabilisticPipingCalculation original = CreateRandomCalculationWithoutOutput(); + + original.Output = PipingOutputTestFactory.Create(); + + // Call + object clone = original.Clone(); + + // Assert + CoreCloneAssert.AreObjectClones(original, clone, PipingCloneAssert.AreClones); + } + + [Test] + public void Clone_NotAllPropertiesSet_ReturnNewInstanceWithCopiedValues() + { + // Setup + SemiProbabilisticPipingCalculation original = CreateRandomCalculationWithoutOutput(); + + // Call + object clone = original.Clone(); + + // Assert + CoreCloneAssert.AreObjectClones(original, clone, PipingCloneAssert.AreClones); + } + + private static SemiProbabilisticPipingCalculation CreateRandomCalculationWithoutOutput() + { + var calculation = new SemiProbabilisticPipingCalculation(new GeneralPipingInput()) + { + Name = "Random name", + Comments = + { + Body = "Random body" + } + }; + + PipingTestDataGenerator.SetRandomDataToPipingInput(calculation.InputParameters); + + return calculation; + } } } \ No newline at end of file Index: Riskeer/Piping/test/Riskeer.Piping.Data.TestUtil/PipingCloneAssert.cs =================================================================== diff -u -rc9a6042f8c227006d244933f201cf8109b330164 -r7d4cd8bd62fff02ccaa91f18ed6d53b46bc3b2ec --- Riskeer/Piping/test/Riskeer.Piping.Data.TestUtil/PipingCloneAssert.cs (.../PipingCloneAssert.cs) (revision c9a6042f8c227006d244933f201cf8109b330164) +++ Riskeer/Piping/test/Riskeer.Piping.Data.TestUtil/PipingCloneAssert.cs (.../PipingCloneAssert.cs) (revision 7d4cd8bd62fff02ccaa91f18ed6d53b46bc3b2ec) @@ -126,12 +126,25 @@ /// The cloned object. /// Thrown when and /// are not clones. - public static void AreClones(SemiProbabilisticPipingCalculationScenario original, SemiProbabilisticPipingCalculationScenario clone) + public static void AreClones(SemiProbabilisticPipingCalculation original, SemiProbabilisticPipingCalculation clone) { AreClones((IPipingCalculation) original, clone); + CoreCloneAssert.AreObjectClones(original.Output, clone.Output, AreClones); + } + + /// + /// Method that asserts whether and + /// are clones. + /// + /// The original object. + /// The cloned object. + /// Thrown when and + /// are not clones. + public static void AreClones(SemiProbabilisticPipingCalculationScenario original, SemiProbabilisticPipingCalculationScenario clone) + { + AreClones((SemiProbabilisticPipingCalculation) original, clone); Assert.AreEqual(original.Contribution, clone.Contribution); Assert.AreEqual(original.IsRelevant, clone.IsRelevant); - CoreCloneAssert.AreObjectClones(original.Output, clone.Output, AreClones); } } } \ No newline at end of file