Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/HydraulicLoadsOutput.cs =================================================================== diff -u -rcc59c672321e7c61a7ee04a7e181ebaf625852f6 -rb1f9dcd2bb0da4c57ca4fddab75647388d9b56fc --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/HydraulicLoadsOutput.cs (.../HydraulicLoadsOutput.cs) (revision cc59c672321e7c61a7ee04a7e181ebaf625852f6) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/HydraulicLoadsOutput.cs (.../HydraulicLoadsOutput.cs) (revision b1f9dcd2bb0da4c57ca4fddab75647388d9b56fc) @@ -103,11 +103,18 @@ /// /// Gets the general result with the fault tree illustration points. /// - public GeneralResult GeneralResult { get; } + public GeneralResult GeneralResult { get; private set; } public object Clone() { - return MemberwiseClone(); + var clone = (HydraulicLoadsOutput) MemberwiseClone(); + + if (GeneralResult != null) + { + clone.GeneralResult = (GeneralResult) GeneralResult.Clone(); + } + + return clone; } } } \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/DikeHeightOutputTest.cs =================================================================== diff -u -ra894ca6401da7f18b092ba73e48d1995e87d6d8f -rb1f9dcd2bb0da4c57ca4fddab75647388d9b56fc --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/DikeHeightOutputTest.cs (.../DikeHeightOutputTest.cs) (revision a894ca6401da7f18b092ba73e48d1995e87d6d8f) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/DikeHeightOutputTest.cs (.../DikeHeightOutputTest.cs) (revision b1f9dcd2bb0da4c57ca4fddab75647388d9b56fc) @@ -23,6 +23,7 @@ using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.Common.Data.Hydraulics; +using Ringtoets.Common.Data.IllustrationPoints; using Ringtoets.Common.Data.TestUtil; using Ringtoets.Common.Data.TestUtil.IllustrationPoints; using CoreCloneAssert = Core.Common.Data.TestUtil.CloneAssert; @@ -104,20 +105,39 @@ public void Clone_NotAllPropertiesSet_ReturnNewInstanceWithCopiedValues() { // Setup - var random = new Random(21); - var original = new DikeHeightOutput(random.NextDouble(), - random.NextDouble(), - random.NextDouble(), - random.NextDouble(), - random.NextDouble(), - random.NextEnumValue(), - null); + DikeHeightOutput original = GetRandomDikeHeightOutput(null); // Call object clone = original.Clone(); // Assert CoreCloneAssert.AreClones(original, clone, GrassCoverErosionInwardsCloneAssert.AreClones); } + + [Test] + public void Clone_AllPropertiesSet_ReturnNewInstanceWithCopiedValues() + { + // Setup + DikeHeightOutput original = GetRandomDikeHeightOutput(new TestGeneralResultFaultTreeIllustrationPoint()); + + // Call + object clone = original.Clone(); + + // Assert + CoreCloneAssert.AreClones(original, clone, GrassCoverErosionInwardsCloneAssert.AreClones); + } + + private static DikeHeightOutput GetRandomDikeHeightOutput(GeneralResult generalResult) + { + var random = new Random(21); + + return new DikeHeightOutput(random.NextDouble(), + random.NextDouble(), + random.NextDouble(), + random.NextDouble(), + random.NextDouble(), + random.NextEnumValue(), + generalResult); + } } } \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/HydraulicLoadsOutputTest.cs =================================================================== diff -u -ra894ca6401da7f18b092ba73e48d1995e87d6d8f -rb1f9dcd2bb0da4c57ca4fddab75647388d9b56fc --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/HydraulicLoadsOutputTest.cs (.../HydraulicLoadsOutputTest.cs) (revision a894ca6401da7f18b092ba73e48d1995e87d6d8f) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/HydraulicLoadsOutputTest.cs (.../HydraulicLoadsOutputTest.cs) (revision b1f9dcd2bb0da4c57ca4fddab75647388d9b56fc) @@ -155,13 +155,7 @@ public void Clone_NotAllPropertiesSet_ReturnNewInstanceWithCopiedValues() { // Setup - var random = new Random(21); - var original = new TestHydraulicLoadsOutput(random.NextDouble(), - random.NextDouble(), - random.NextDouble(), - random.NextDouble(), - random.NextEnumValue(), - null); + TestHydraulicLoadsOutput original = GetRandomHydraulicLoadsOutput(null); // Call object clone = original.Clone(); @@ -170,6 +164,31 @@ CoreCloneAssert.AreClones(original, clone, GrassCoverErosionInwardsCloneAssert.AreClones); } + [Test] + public void Clone_AllPropertiesSet_ReturnNewInstanceWithCopiedValues() + { + // Setup + TestHydraulicLoadsOutput original = GetRandomHydraulicLoadsOutput(new TestGeneralResultFaultTreeIllustrationPoint()); + + // Call + object clone = original.Clone(); + + // Assert + CoreCloneAssert.AreClones(original, clone, GrassCoverErosionInwardsCloneAssert.AreClones); + } + + private static TestHydraulicLoadsOutput GetRandomHydraulicLoadsOutput(GeneralResult generalResult) + { + var random = new Random(21); + + return new TestHydraulicLoadsOutput(random.NextDouble(), + random.NextDouble(), + random.NextDouble(), + random.NextDouble(), + random.NextEnumValue(), + generalResult); + } + private class TestHydraulicLoadsOutput : HydraulicLoadsOutput { public TestHydraulicLoadsOutput(double targetProbability, double targetReliability, Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/OvertoppingOutputTest.cs =================================================================== diff -u -r66be5752b65c01e7e994de08c8fefe3194d433a5 -rb1f9dcd2bb0da4c57ca4fddab75647388d9b56fc --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/OvertoppingOutputTest.cs (.../OvertoppingOutputTest.cs) (revision 66be5752b65c01e7e994de08c8fefe3194d433a5) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/OvertoppingOutputTest.cs (.../OvertoppingOutputTest.cs) (revision b1f9dcd2bb0da4c57ca4fddab75647388d9b56fc) @@ -104,11 +104,7 @@ public void Clone_NotAllPropertiesSet_ReturnNewInstanceWithCopiedValues() { // Setup - var random = new Random(21); - var original = new OvertoppingOutput(random.NextDouble(), - random.NextBoolean(), - new TestProbabilityAssessmentOutput(), - null); + OvertoppingOutput original = GetRandomOvertoppingOutput(null); // Call object clone = original.Clone(); @@ -121,17 +117,23 @@ public void Clone_AllPropertiesSet_ReturnNewInstanceWithCopiedValues() { // Setup - var random = new Random(21); - var original = new OvertoppingOutput(random.NextDouble(), - random.NextBoolean(), - new TestProbabilityAssessmentOutput(), - new TestGeneralResultFaultTreeIllustrationPoint()); + OvertoppingOutput original = GetRandomOvertoppingOutput(new TestGeneralResultFaultTreeIllustrationPoint()); // Call object clone = original.Clone(); // Assert CoreCloneAssert.AreClones(original, clone, GrassCoverErosionInwardsCloneAssert.AreClones); } + + private static OvertoppingOutput GetRandomOvertoppingOutput(GeneralResult generalResult) + { + var random = new Random(21); + + return new OvertoppingOutput(random.NextDouble(), + random.NextBoolean(), + new TestProbabilityAssessmentOutput(), + generalResult); + } } } \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/OvertoppingRateOutputTest.cs =================================================================== diff -u -ra894ca6401da7f18b092ba73e48d1995e87d6d8f -rb1f9dcd2bb0da4c57ca4fddab75647388d9b56fc --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/OvertoppingRateOutputTest.cs (.../OvertoppingRateOutputTest.cs) (revision a894ca6401da7f18b092ba73e48d1995e87d6d8f) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/OvertoppingRateOutputTest.cs (.../OvertoppingRateOutputTest.cs) (revision b1f9dcd2bb0da4c57ca4fddab75647388d9b56fc) @@ -108,20 +108,39 @@ public void Clone_NotAllPropertiesSet_ReturnNewInstanceWithCopiedValues() { // Setup - var random = new Random(21); - var original = new OvertoppingRateOutput(random.NextDouble(), - random.NextDouble(), - random.NextDouble(), - random.NextDouble(), - random.NextDouble(), - random.NextEnumValue(), - null); + OvertoppingRateOutput original = GetRandomOvertoppingRateOutput(null); // Call object clone = original.Clone(); // Assert CoreCloneAssert.AreClones(original, clone, GrassCoverErosionInwardsCloneAssert.AreClones); } + + [Test] + public void Clone_AllPropertiesSet_ReturnNewInstanceWithCopiedValues() + { + // Setup + OvertoppingRateOutput original = GetRandomOvertoppingRateOutput(new TestGeneralResultFaultTreeIllustrationPoint()); + + // Call + object clone = original.Clone(); + + // Assert + CoreCloneAssert.AreClones(original, clone, GrassCoverErosionInwardsCloneAssert.AreClones); + } + + private static OvertoppingRateOutput GetRandomOvertoppingRateOutput(GeneralResult generalResult) + { + var random = new Random(21); + + return new OvertoppingRateOutput(random.NextDouble(), + random.NextDouble(), + random.NextDouble(), + random.NextDouble(), + random.NextDouble(), + random.NextEnumValue(), + generalResult); + } } } \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.TestUtil/CloneAssert.cs =================================================================== diff -u -r66be5752b65c01e7e994de08c8fefe3194d433a5 -rb1f9dcd2bb0da4c57ca4fddab75647388d9b56fc --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.TestUtil/CloneAssert.cs (.../CloneAssert.cs) (revision 66be5752b65c01e7e994de08c8fefe3194d433a5) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.TestUtil/CloneAssert.cs (.../CloneAssert.cs) (revision b1f9dcd2bb0da4c57ca4fddab75647388d9b56fc) @@ -62,6 +62,7 @@ Assert.AreEqual(original.CalculatedProbability, clone.CalculatedProbability); Assert.AreEqual(original.CalculatedReliability, clone.CalculatedReliability); Assert.AreEqual(original.CalculationConvergence, clone.CalculationConvergence); + CoreCloneAssert.AreClones(original.GeneralResult, clone.GeneralResult, CommonCloneAssert.AreClones); } ///