Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/MacroStabilityInwardsOutputTest.cs =================================================================== diff -u -r0f736d81afe800a482dff027fe93128a5e967114 -rd44a51e1d18e1e0c4c8e322174687304fd15e8fb --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/MacroStabilityInwardsOutputTest.cs (.../MacroStabilityInwardsOutputTest.cs) (revision 0f736d81afe800a482dff027fe93128a5e967114) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/MacroStabilityInwardsOutputTest.cs (.../MacroStabilityInwardsOutputTest.cs) (revision d44a51e1d18e1e0c4c8e322174687304fd15e8fb) @@ -21,6 +21,7 @@ using System; using Core.Common.Base; +using Core.Common.Data.TestUtil; using NUnit.Framework; using Ringtoets.Common.Data.Calculation; using Ringtoets.MacroStabilityInwards.Data.TestUtil; @@ -134,7 +135,7 @@ var output = new MacroStabilityInwardsOutput(slidingCurve, slipPlane, properties); // Assert - Assert.IsInstanceOf(output); + Assert.IsInstanceOf(output); Assert.IsInstanceOf(output); Assert.AreSame(slidingCurve, output.SlidingCurve); @@ -145,5 +146,35 @@ Assert.AreEqual(xEntryMin, output.ForbiddenZonesXEntryMin); Assert.AreEqual(xEntryMax, output.ForbiddenZonesXEntryMax); } + + [Test] + public void Clone_Always_ReturnNewInstanceWithCopiedValues() + { + // Setup + var slidingCurve = new MacroStabilityInwardsSlidingCurve(MacroStabilityInwardsSlidingCircleTestFactory.Create(), + MacroStabilityInwardsSlidingCircleTestFactory.Create(), + new MacroStabilityInwardsSlice[0], 0, 0); + + var slipPlane = new MacroStabilityInwardsSlipPlaneUpliftVan(MacroStabilityInwardsGridTestFactory.Create(), + MacroStabilityInwardsGridTestFactory.Create(), + new double[0]); + + var random = new Random(21); + var properties = new MacroStabilityInwardsOutput.ConstructionProperties + { + FactorOfStability = random.NextDouble(), + ZValue = random.NextDouble(), + ForbiddenZonesXEntryMin = random.NextDouble(), + ForbiddenZonesXEntryMax = random.NextDouble() + }; + + var original = new MacroStabilityInwardsOutput(slidingCurve, slipPlane, properties); + + // Call + object clone = original.Clone(); + + // Assert + CoreCloneAssert.AreObjectClones(original, clone, MacroStabilityInwardsCloneAssert.AreClones); + } } } \ No newline at end of file