Index: Ringtoets/Common/src/Ringtoets.Common.Data/Calculation/ICalculationInput.cs
===================================================================
diff -u -rb3b6c13cf736c134476b3db34281332d01ca86b1 -r1c474d80a340cff18ba177241f856edf5f13e434
--- Ringtoets/Common/src/Ringtoets.Common.Data/Calculation/ICalculationInput.cs (.../ICalculationInput.cs) (revision b3b6c13cf736c134476b3db34281332d01ca86b1)
+++ Ringtoets/Common/src/Ringtoets.Common.Data/Calculation/ICalculationInput.cs (.../ICalculationInput.cs) (revision 1c474d80a340cff18ba177241f856edf5f13e434)
@@ -19,12 +19,13 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
+using System;
using Core.Common.Base;
namespace Ringtoets.Common.Data.Calculation
{
///
/// Interface describing an object that is the input to a .
///
- public interface ICalculationInput : IObservable {}
+ public interface ICalculationInput : IObservable, ICloneable {}
}
\ No newline at end of file
Index: Ringtoets/Common/src/Ringtoets.Common.Data/Hydraulics/HydraulicBoundaryLocationCalculationInput.cs
===================================================================
diff -u -raea63ba505ca62fb7294ef1f88febbb9154ca258 -r1c474d80a340cff18ba177241f856edf5f13e434
--- Ringtoets/Common/src/Ringtoets.Common.Data/Hydraulics/HydraulicBoundaryLocationCalculationInput.cs (.../HydraulicBoundaryLocationCalculationInput.cs) (revision aea63ba505ca62fb7294ef1f88febbb9154ca258)
+++ Ringtoets/Common/src/Ringtoets.Common.Data/Hydraulics/HydraulicBoundaryLocationCalculationInput.cs (.../HydraulicBoundaryLocationCalculationInput.cs) (revision 1c474d80a340cff18ba177241f856edf5f13e434)
@@ -27,7 +27,7 @@
///
/// Class that holds all hydraulic boundary calculation specific input parameters.
///
- public class HydraulicBoundaryLocationCalculationInput : Observable, ICalculationInput
+ public class HydraulicBoundaryLocationCalculationInput : CloneableObservable, ICalculationInput
{
///
/// Gets or sets if the illustration points should be calculated.
Index: Ringtoets/Common/src/Ringtoets.Common.Data/Structures/IStructuresCalculationInput.cs
===================================================================
diff -u -r6ebe864bf0138360fbba9a2772e9faf763287e8a -r1c474d80a340cff18ba177241f856edf5f13e434
--- Ringtoets/Common/src/Ringtoets.Common.Data/Structures/IStructuresCalculationInput.cs (.../IStructuresCalculationInput.cs) (revision 6ebe864bf0138360fbba9a2772e9faf763287e8a)
+++ Ringtoets/Common/src/Ringtoets.Common.Data/Structures/IStructuresCalculationInput.cs (.../IStructuresCalculationInput.cs) (revision 1c474d80a340cff18ba177241f856edf5f13e434)
@@ -19,15 +19,14 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
-using System;
using Ringtoets.Common.Data.Calculation;
namespace Ringtoets.Common.Data.Structures
{
///
/// Interface describing an object that is the input to a structures calculation.
///
- public interface IStructuresCalculationInput : ICalculationInput, ICloneable {}
+ public interface IStructuresCalculationInput : ICalculationInput {}
///
/// Interface describing an object that is the input to a structures calculation.
Index: Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/HydraulicBoundaryLocationCalculationInputTest.cs
===================================================================
diff -u -raea63ba505ca62fb7294ef1f88febbb9154ca258 -r1c474d80a340cff18ba177241f856edf5f13e434
--- Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/HydraulicBoundaryLocationCalculationInputTest.cs (.../HydraulicBoundaryLocationCalculationInputTest.cs) (revision aea63ba505ca62fb7294ef1f88febbb9154ca258)
+++ Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/HydraulicBoundaryLocationCalculationInputTest.cs (.../HydraulicBoundaryLocationCalculationInputTest.cs) (revision 1c474d80a340cff18ba177241f856edf5f13e434)
@@ -19,10 +19,14 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
+using System;
using Core.Common.Base;
+using Core.Common.Data.TestUtil;
+using Core.Common.TestUtil;
using NUnit.Framework;
using Ringtoets.Common.Data.Calculation;
using Ringtoets.Common.Data.Hydraulics;
+using Ringtoets.Common.Data.TestUtil;
namespace Ringtoets.Common.Data.Test.Hydraulics
{
@@ -37,8 +41,24 @@
// Assert
Assert.IsInstanceOf(input);
- Assert.IsInstanceOf(input);
+ Assert.IsInstanceOf(input);
Assert.IsFalse(input.ShouldIllustrationPointsBeCalculated);
}
+
+ [Test]
+ public void Clone_Always_ReturnNewInstanceWithCopiedValues()
+ {
+ // Setup
+ var original = new HydraulicBoundaryLocationCalculationInput
+ {
+ ShouldIllustrationPointsBeCalculated = new Random(39).NextBoolean()
+ };
+
+ // Call
+ object clone = original.Clone();
+
+ // Assert
+ CoreCloneAssert.AreObjectClones(original, clone, CommonCloneAssert.AreClones);
+ }
}
}
\ No newline at end of file
Index: Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/CommonCloneAssert.cs
===================================================================
diff -u -r43b4218e6e71896eb4f3985555258caeb4c7f6f7 -r1c474d80a340cff18ba177241f856edf5f13e434
--- Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/CommonCloneAssert.cs (.../CommonCloneAssert.cs) (revision 43b4218e6e71896eb4f3985555258caeb4c7f6f7)
+++ Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/CommonCloneAssert.cs (.../CommonCloneAssert.cs) (revision 1c474d80a340cff18ba177241f856edf5f13e434)
@@ -23,6 +23,7 @@
using NUnit.Framework;
using Ringtoets.Common.Data.Calculation;
using Ringtoets.Common.Data.DikeProfiles;
+using Ringtoets.Common.Data.Hydraulics;
using Ringtoets.Common.Data.IllustrationPoints;
using Ringtoets.Common.Data.Probability;
using Ringtoets.Common.Data.Structures;
@@ -355,5 +356,18 @@
{
Assert.AreEqual(original.Name, clone.Name);
}
+
+ ///
+ /// Method that asserts whether and
+ /// are clones.
+ ///
+ /// The original object.
+ /// The cloned object.
+ /// Thrown when and
+ /// are not clones.
+ public static void AreClones(HydraulicBoundaryLocationCalculationInput original, HydraulicBoundaryLocationCalculationInput clone)
+ {
+ Assert.AreEqual(original.ShouldIllustrationPointsBeCalculated, clone.ShouldIllustrationPointsBeCalculated);
+ }
}
}
\ No newline at end of file
Index: Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/TestCalculationWithForeshoreProfile.cs
===================================================================
diff -u -r566d36e29347b40381bff26e321334b5af07c367 -r1c474d80a340cff18ba177241f856edf5f13e434
--- Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/TestCalculationWithForeshoreProfile.cs (.../TestCalculationWithForeshoreProfile.cs) (revision 566d36e29347b40381bff26e321334b5af07c367)
+++ Ringtoets/Common/test/Ringtoets.Common.Data.TestUtil/TestCalculationWithForeshoreProfile.cs (.../TestCalculationWithForeshoreProfile.cs) (revision 1c474d80a340cff18ba177241f856edf5f13e434)
@@ -149,6 +149,11 @@
{
throw new NotImplementedException();
}
+
+ public object Clone()
+ {
+ throw new NotImplementedException();
+ }
}
}
}
\ No newline at end of file
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/UseBreakWaterPropertiesTest.cs
===================================================================
diff -u -r6ef5e439a6d9f40ebd9926251945e0935fbbc314 -r1c474d80a340cff18ba177241f856edf5f13e434
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/UseBreakWaterPropertiesTest.cs (.../UseBreakWaterPropertiesTest.cs) (revision 6ef5e439a6d9f40ebd9926251945e0935fbbc314)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/UseBreakWaterPropertiesTest.cs (.../UseBreakWaterPropertiesTest.cs) (revision 1c474d80a340cff18ba177241f856edf5f13e434)
@@ -212,7 +212,7 @@
new TestUseBreakWater());
}
- private class TestUseBreakWater : Observable, ICalculationInput, IUseBreakWater
+ private class TestUseBreakWater : CloneableObservable, ICalculationInput, IUseBreakWater
{
public TestUseBreakWater()
{
@@ -223,7 +223,7 @@
public BreakWater BreakWater { get; set; }
}
- private void SetPropertyAndVerifyNotificationsAndOutputForCalculation(
+ private static void SetPropertyAndVerifyNotificationsAndOutputForCalculation(
Action setProperty,
TestUseBreakWater input)
{
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/UseForeshorePropertiesTest.cs
===================================================================
diff -u -r6ef5e439a6d9f40ebd9926251945e0935fbbc314 -r1c474d80a340cff18ba177241f856edf5f13e434
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/UseForeshorePropertiesTest.cs (.../UseForeshorePropertiesTest.cs) (revision 6ef5e439a6d9f40ebd9926251945e0935fbbc314)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/UseForeshorePropertiesTest.cs (.../UseForeshorePropertiesTest.cs) (revision 1c474d80a340cff18ba177241f856edf5f13e434)
@@ -184,7 +184,7 @@
true);
}
- private void SetPropertyAndVerifyNotificationsAndOutputForCalculation(
+ private static void SetPropertyAndVerifyNotificationsAndOutputForCalculation(
Action setProperty,
TestUseForeshore input)
{
@@ -209,7 +209,7 @@
mocks.VerifyAll();
}
- private class TestUseForeshore : Observable, ICalculationInput, IUseForeshore
+ private class TestUseForeshore : CloneableObservable, ICalculationInput, IUseForeshore
{
public bool UseForeshore { get; set; }
public RoundedPoint2DCollection ForeshoreGeometry { get; set; }
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.TestUtil.Test/TestCalculationInputTest.cs
===================================================================
diff -u -rb3b6c13cf736c134476b3db34281332d01ca86b1 -r1c474d80a340cff18ba177241f856edf5f13e434
--- Ringtoets/Common/test/Ringtoets.Common.Forms.TestUtil.Test/TestCalculationInputTest.cs (.../TestCalculationInputTest.cs) (revision b3b6c13cf736c134476b3db34281332d01ca86b1)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.TestUtil.Test/TestCalculationInputTest.cs (.../TestCalculationInputTest.cs) (revision 1c474d80a340cff18ba177241f856edf5f13e434)
@@ -35,7 +35,7 @@
var input = new TestCalculationInput();
// Assert
- Assert.IsInstanceOf(input);
+ Assert.IsInstanceOf(input);
Assert.IsInstanceOf(input);
}
}
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.TestUtil/TestCalculationInput.cs
===================================================================
diff -u -rb3b6c13cf736c134476b3db34281332d01ca86b1 -r1c474d80a340cff18ba177241f856edf5f13e434
--- Ringtoets/Common/test/Ringtoets.Common.Forms.TestUtil/TestCalculationInput.cs (.../TestCalculationInput.cs) (revision b3b6c13cf736c134476b3db34281332d01ca86b1)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.TestUtil/TestCalculationInput.cs (.../TestCalculationInput.cs) (revision 1c474d80a340cff18ba177241f856edf5f13e434)
@@ -27,5 +27,5 @@
///
/// Creates a simple implementation.
///
- public class TestCalculationInput : Observable, ICalculationInput {}
+ public class TestCalculationInput : CloneableObservable, ICalculationInput {}
}
\ No newline at end of file
Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/Configurations/Import/ConfigurationImportHelperTest.cs
===================================================================
diff -u -rb3b6c13cf736c134476b3db34281332d01ca86b1 -r1c474d80a340cff18ba177241f856edf5f13e434
--- Ringtoets/Common/test/Ringtoets.Common.IO.Test/Configurations/Import/ConfigurationImportHelperTest.cs (.../ConfigurationImportHelperTest.cs) (revision b3b6c13cf736c134476b3db34281332d01ca86b1)
+++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/Configurations/Import/ConfigurationImportHelperTest.cs (.../ConfigurationImportHelperTest.cs) (revision 1c474d80a340cff18ba177241f856edf5f13e434)
@@ -212,7 +212,7 @@
mocks.VerifyAll();
}
- private class TestInputWithStochasts : Observable, ICalculationInput
+ private class TestInputWithStochasts : CloneableObservable, ICalculationInput
{
public TestInputWithStochasts()
{