Index: Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/CloneAssert.cs =================================================================== diff -u -r30acee98189fbeafc6e25025d14781ce84750a67 -r66be5752b65c01e7e994de08c8fefe3194d433a5 --- Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/CloneAssert.cs (.../CloneAssert.cs) (revision 30acee98189fbeafc6e25025d14781ce84750a67) +++ Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/CloneAssert.cs (.../CloneAssert.cs) (revision 66be5752b65c01e7e994de08c8fefe3194d433a5) @@ -247,5 +247,20 @@ CoreCloneAssert.AreClones(original.Stochasts, clone.Stochasts, AreClones); CoreCloneAssert.AreClones(original.TopLevelIllustrationPoints, clone.TopLevelIllustrationPoints, AreClones); } + + /// + /// Method that asserts whether and + /// are clones. + /// + /// The original object. + /// The cloned object. + /// Thrown when and + /// are not clones. + public static void AreClones(GeneralResult original, GeneralResult clone) + { + CoreCloneAssert.AreClones(original.GoverningWindDirection, clone.GoverningWindDirection, AreClones); + CoreCloneAssert.AreClones(original.Stochasts, clone.Stochasts, AreClones); + CoreCloneAssert.AreClones(original.TopLevelIllustrationPoints, clone.TopLevelIllustrationPoints, AreClones); + } } } \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/OvertoppingOutput.cs =================================================================== diff -u -rac1f0a30b87d9fa5dccb288115189b032035acde -r66be5752b65c01e7e994de08c8fefe3194d433a5 --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/OvertoppingOutput.cs (.../OvertoppingOutput.cs) (revision ac1f0a30b87d9fa5dccb288115189b032035acde) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/OvertoppingOutput.cs (.../OvertoppingOutput.cs) (revision 66be5752b65c01e7e994de08c8fefe3194d433a5) @@ -90,14 +90,19 @@ /// /// Gets the general result with the fault tree illustration points. /// - public GeneralResult GeneralResult { get; } + public GeneralResult GeneralResult { get; private set; } public object Clone() { var clone = (OvertoppingOutput) MemberwiseClone(); clone.ProbabilityAssessmentOutput = (ProbabilityAssessmentOutput) ProbabilityAssessmentOutput.Clone(); + if (GeneralResult != null) + { + clone.GeneralResult = (GeneralResult) GeneralResult.Clone(); + } + return clone; } } Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/OvertoppingOutputTest.cs =================================================================== diff -u -ra894ca6401da7f18b092ba73e48d1995e87d6d8f -r66be5752b65c01e7e994de08c8fefe3194d433a5 --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/OvertoppingOutputTest.cs (.../OvertoppingOutputTest.cs) (revision a894ca6401da7f18b092ba73e48d1995e87d6d8f) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/OvertoppingOutputTest.cs (.../OvertoppingOutputTest.cs) (revision 66be5752b65c01e7e994de08c8fefe3194d433a5) @@ -116,5 +116,22 @@ // Assert CoreCloneAssert.AreClones(original, clone, GrassCoverErosionInwardsCloneAssert.AreClones); } + + [Test] + public void Clone_AllPropertiesSet_ReturnNewInstanceWithCopiedValues() + { + // Setup + var random = new Random(21); + var original = new OvertoppingOutput(random.NextDouble(), + random.NextBoolean(), + new TestProbabilityAssessmentOutput(), + new TestGeneralResultFaultTreeIllustrationPoint()); + + // Call + object clone = original.Clone(); + + // Assert + CoreCloneAssert.AreClones(original, clone, GrassCoverErosionInwardsCloneAssert.AreClones); + } } } \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.TestUtil/CloneAssert.cs =================================================================== diff -u -ra894ca6401da7f18b092ba73e48d1995e87d6d8f -r66be5752b65c01e7e994de08c8fefe3194d433a5 --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.TestUtil/CloneAssert.cs (.../CloneAssert.cs) (revision a894ca6401da7f18b092ba73e48d1995e87d6d8f) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.TestUtil/CloneAssert.cs (.../CloneAssert.cs) (revision 66be5752b65c01e7e994de08c8fefe3194d433a5) @@ -44,6 +44,7 @@ Assert.AreEqual(original.WaveHeight, clone.WaveHeight); Assert.AreEqual(original.IsOvertoppingDominant, clone.IsOvertoppingDominant); CoreCloneAssert.AreClones(original.ProbabilityAssessmentOutput, clone.ProbabilityAssessmentOutput, CommonCloneAssert.AreClones); + CoreCloneAssert.AreClones(original.GeneralResult, clone.GeneralResult, CommonCloneAssert.AreClones); } ///