Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/OvertoppingRateOutputTest.cs =================================================================== diff -u -r0c7a5a6cfb143049b4d95758fef2d96337cf0667 -r129a499de1e263e11a64ce31b0da70431120e264 --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/OvertoppingRateOutputTest.cs (.../OvertoppingRateOutputTest.cs) (revision 0c7a5a6cfb143049b4d95758fef2d96337cf0667) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/OvertoppingRateOutputTest.cs (.../OvertoppingRateOutputTest.cs) (revision 129a499de1e263e11a64ce31b0da70431120e264) @@ -26,6 +26,8 @@ using Ringtoets.Common.Data.IllustrationPoints; using Ringtoets.Common.Data.TestUtil; using Ringtoets.Common.Data.TestUtil.IllustrationPoints; +using CloneAssert = Core.Common.Data.TestUtil.CloneAssert; +using CustomCloneAssert = Ringtoets.GrassCoverErosionInwards.Data.TestUtil.CloneAssert; namespace Ringtoets.GrassCoverErosionInwards.Data.Test { @@ -101,5 +103,29 @@ Assert.IsTrue(output.HasGeneralResult); Assert.AreSame(generalResult, output.GeneralResult); } + + [Test] + public void Clone_Always_ReturnNewInstanceWithCopiedValues() + { + // Setup + var random = new Random(21); + var original = new OvertoppingRateOutput(random.NextDouble(), + random.NextDouble(), + random.NextDouble(), + random.NextDouble(), + random.NextDouble(), + random.NextEnumValue(), + null); + + // Call + object clone = original.Clone(); + + // Assert + CloneAssert.AreClones(original, clone, (o, c) => + { + CustomCloneAssert.AreClones(o, c); + Assert.AreEqual(o.OvertoppingRate, c.OvertoppingRate); + }); + } } } \ No newline at end of file