Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/MacroStabilityInwardsSemiProbabilisticOutputTest.cs =================================================================== diff -u -r368104385c9f9077cd40a36c692ab78497ed77d7 -rccbc69e92eaa4c2418f046fa83b5b5ee9fdf2c48 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/MacroStabilityInwardsSemiProbabilisticOutputTest.cs (.../MacroStabilityInwardsSemiProbabilisticOutputTest.cs) (revision 368104385c9f9077cd40a36c692ab78497ed77d7) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Data.Test/MacroStabilityInwardsSemiProbabilisticOutputTest.cs (.../MacroStabilityInwardsSemiProbabilisticOutputTest.cs) (revision ccbc69e92eaa4c2418f046fa83b5b5ee9fdf2c48) @@ -20,9 +20,11 @@ // All rights reserved. using System; +using Core.Common.Data.TestUtil; using Core.Common.TestUtil; using NUnit.Framework; using Ringtoets.Common.Data.TestUtil; +using Ringtoets.MacroStabilityInwards.Data.TestUtil; namespace Ringtoets.MacroStabilityInwards.Data.Test { @@ -51,6 +53,8 @@ macroStabilityInwardsFactorOfSafety); // Assert + Assert.IsInstanceOf(output); + Assert.AreEqual(factorOfStability, output.FactorOfStability, output.FactorOfStability.GetAccuracy()); Assert.AreEqual(3, output.FactorOfStability.NumberOfDecimalPlaces); Assert.AreEqual(requiredProbability, output.RequiredProbability); @@ -182,5 +186,31 @@ const string expectedMessage = "Kans moet in het bereik [0,0, 1,0] liggen."; TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, expectedMessage); } + + [Test] + public void Clone_Always_ReturnNewInstancesWithCopiedValues() + { + var random = new Random(21); + double factorOfStability = random.NextDouble(); + double requiredProbability = random.NextDouble(); + double requiredReliability = random.NextDouble(); + double macroStabilityInwardsProbability = random.NextDouble(); + double macroStabilityInwardsReliability = random.NextDouble(); + double macroStabilityInwardsFactorOfSafety = random.NextDouble(); + + var output = new MacroStabilityInwardsSemiProbabilisticOutput( + factorOfStability, + requiredProbability, + requiredReliability, + macroStabilityInwardsProbability, + macroStabilityInwardsReliability, + macroStabilityInwardsFactorOfSafety); + + // Call + object clone = output.Clone(); + + // Assert + CoreCloneAssert.AreObjectClones(output, clone, MacroStabilityInwardsCloneAssert.AssertClones); + } } } \ No newline at end of file