Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Forms/PropertyClasses/ClosingStructuresInputContextProperties.cs
===================================================================
diff -u -rf861839e975251253e2ffd7bc3f0a1839b85534e -rd5a0bce3d53deb3aef237c365018096e9bc83bb1
--- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Forms/PropertyClasses/ClosingStructuresInputContextProperties.cs (.../ClosingStructuresInputContextProperties.cs) (revision f861839e975251253e2ffd7bc3f0a1839b85534e)
+++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Forms/PropertyClasses/ClosingStructuresInputContextProperties.cs (.../ClosingStructuresInputContextProperties.cs) (revision d5a0bce3d53deb3aef237c365018096e9bc83bb1)
@@ -33,6 +33,7 @@
using Ringtoets.ClosingStructures.Forms.Properties;
using Ringtoets.Common.Data.DikeProfiles;
using Ringtoets.Common.Data.Structures;
+using Ringtoets.Common.Forms.ChangeHandlers;
using Ringtoets.Common.Forms.Helpers;
using Ringtoets.Common.Forms.PropertyClasses;
using Ringtoets.Common.Utils;
@@ -225,7 +226,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.FactorStormDurationOpenStructure = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.FactorStormDurationOpenStructure = value, PropertyChangeHandler);
}
}
@@ -268,7 +269,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.InflowModelType = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.InflowModelType = value, PropertyChangeHandler);
}
}
@@ -318,11 +319,10 @@
}
set
{
- ChangePropertyAndNotify(
- () => SetProbabilityValue(
- value,
- data.WrappedData,
- (wrappedData, parsedValue) => wrappedData.FailureProbabilityOpenStructure = parsedValue));
+ PropertyChangeHelper.ChangePropertyAndNotify(() => SetProbabilityValue(
+ value,
+ data.WrappedData,
+ (wrappedData, parsedValue) => wrappedData.FailureProbabilityOpenStructure = parsedValue), PropertyChangeHandler);
}
}
@@ -338,11 +338,10 @@
}
set
{
- ChangePropertyAndNotify(
- () => SetProbabilityValue(
- value,
- data.WrappedData,
- (wrappedData, parsedValue) => wrappedData.FailureProbabilityReparation = parsedValue));
+ PropertyChangeHelper.ChangePropertyAndNotify(() => SetProbabilityValue(
+ value,
+ data.WrappedData,
+ (wrappedData, parsedValue) => wrappedData.FailureProbabilityReparation = parsedValue), PropertyChangeHandler);
}
}
@@ -358,7 +357,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.IdenticalApertures = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.IdenticalApertures = value, PropertyChangeHandler);
}
}
@@ -391,11 +390,10 @@
}
set
{
- ChangePropertyAndNotify(
- () => SetProbabilityValue(
- value,
- data.WrappedData,
- (wrappedData, parsedValue) => wrappedData.ProbabilityOrFrequencyOpenStructureBeforeFlooding = parsedValue));
+ PropertyChangeHelper.ChangePropertyAndNotify(() => SetProbabilityValue(
+ value,
+ data.WrappedData,
+ (wrappedData, parsedValue) => wrappedData.ProbabilityOrFrequencyOpenStructureBeforeFlooding = parsedValue), PropertyChangeHandler);
}
}
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/ChangeHandlers/ObservablePropertyChangeHandler.cs
===================================================================
diff -u -r37fc59cc0f3becb92e14b8263bd8e9fc71aa0e79 -rd5a0bce3d53deb3aef237c365018096e9bc83bb1
--- Ringtoets/Common/src/Ringtoets.Common.Forms/ChangeHandlers/ObservablePropertyChangeHandler.cs (.../ObservablePropertyChangeHandler.cs) (revision 37fc59cc0f3becb92e14b8263bd8e9fc71aa0e79)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/ChangeHandlers/ObservablePropertyChangeHandler.cs (.../ObservablePropertyChangeHandler.cs) (revision d5a0bce3d53deb3aef237c365018096e9bc83bb1)
@@ -94,7 +94,7 @@
private static bool ConfirmPropertyChange()
{
DialogResult result = MessageBox.Show(
- Resources.CalculationInputPropertyChangeHandler_ConfirmPropertyChange_Confirm_change_input_parameter_and_clear_calculation_output,
+ Resources.ObservablePropertyChangeHandler_ConfirmPropertyChange_Confirm_change_input_parameter_and_clear_calculation_output,
CoreCommonBaseResources.Confirm,
MessageBoxButtons.OKCancel);
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/ChangeHandlers/PropertyChangeHelper.cs
===================================================================
diff -u
--- Ringtoets/Common/src/Ringtoets.Common.Forms/ChangeHandlers/PropertyChangeHelper.cs (revision 0)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/ChangeHandlers/PropertyChangeHelper.cs (revision d5a0bce3d53deb3aef237c365018096e9bc83bb1)
@@ -0,0 +1,63 @@
+// Copyright (C) Stichting Deltares 2016. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Core.Common.Base;
+using Ringtoets.Common.Forms.PropertyClasses;
+
+namespace Ringtoets.Common.Forms.ChangeHandlers
+{
+ ///
+ /// This helper can be used to easily notify observers of all objects that were affected by a value change of a property.
+ ///
+ public static class PropertyChangeHelper
+ {
+ ///
+ /// Changes the property value using the and then notifies the observers of the objects
+ /// that were affected by the change.
+ ///
+ /// The property change action.
+ /// The handler which is responsible for determining changes due to the property change.
+ public static void ChangePropertyAndNotify(SetObservablePropertyValueDelegate setPropertyDelegate, IObservablePropertyChangeHandler changeHandler)
+ {
+ if (setPropertyDelegate == null)
+ {
+ throw new ArgumentNullException(nameof(setPropertyDelegate));
+ }
+ if (changeHandler == null)
+ {
+ throw new ArgumentNullException(nameof(changeHandler));
+ }
+ IEnumerable affectedObjects = changeHandler.SetPropertyValueAfterConfirmation(setPropertyDelegate);
+ NotifyAffectedObjects(affectedObjects);
+ }
+
+ private static void NotifyAffectedObjects(IEnumerable affectedObjects)
+ {
+ foreach (IObservable affectedObject in affectedObjects)
+ {
+ affectedObject.NotifyObservers();
+ }
+ }
+
+ }
+}
\ No newline at end of file
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs
===================================================================
diff -u -rcfa21301665f4ca7122f6065fd83fad20b96843e -rd5a0bce3d53deb3aef237c365018096e9bc83bb1
--- Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision cfa21301665f4ca7122f6065fd83fad20b96843e)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision d5a0bce3d53deb3aef237c365018096e9bc83bb1)
@@ -473,18 +473,6 @@
}
///
- /// Looks up a localized string similar to Als u een parameter in deze berekening wijzigt, zal de uitvoer van deze berekening verwijderd worden.
- ///
- ///Weet u zeker dat u wilt doorgaan?.
- ///
- public static string CalculationInputPropertyChangeHandler_ConfirmPropertyChange_Confirm_change_input_parameter_and_clear_calculation_output {
- get {
- return ResourceManager.GetString("CalculationInputPropertyChangeHandler_ConfirmPropertyChange_Confirm_change_input_" +
- "parameter_and_clear_calculation_output", resourceCulture);
- }
- }
-
- ///
/// Looks up a localized string similar to De berekende kans van voorkomen van het berekende resultaat..
///
public static string CalculationOutput_CalculatedProbability_Description {
@@ -1587,6 +1575,18 @@
}
///
+ /// Looks up a localized string similar to Als u een parameter in deze berekening wijzigt, zal de uitvoer van deze berekening verwijderd worden.
+ ///
+ ///Weet u zeker dat u wilt doorgaan?.
+ ///
+ public static string ObservablePropertyChangeHandler_ConfirmPropertyChange_Confirm_change_input_parameter_and_clear_calculation_output {
+ get {
+ return ResourceManager.GetString("ObservablePropertyChangeHandler_ConfirmPropertyChange_Confirm_change_input_parame" +
+ "ter_and_clear_calculation_output", resourceCulture);
+ }
+ }
+
+ ///
/// Looks up a localized string similar to Oriëntatie [°].
///
public static string Orientation_DisplayName {
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx
===================================================================
diff -u -rcfa21301665f4ca7122f6065fd83fad20b96843e -rd5a0bce3d53deb3aef237c365018096e9bc83bb1
--- Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision cfa21301665f4ca7122f6065fd83fad20b96843e)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision d5a0bce3d53deb3aef237c365018096e9bc83bb1)
@@ -903,7 +903,7 @@
De bijdrage van dit toetsspoor is nul.
-
+
Als u een parameter in deze berekening wijzigt, zal de uitvoer van deze berekening verwijderd worden.
Weet u zeker dat u wilt doorgaan?
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/DistributionPropertiesBase.cs
===================================================================
diff -u -rf861839e975251253e2ffd7bc3f0a1839b85534e -rd5a0bce3d53deb3aef237c365018096e9bc83bb1
--- Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/DistributionPropertiesBase.cs (.../DistributionPropertiesBase.cs) (revision f861839e975251253e2ffd7bc3f0a1839b85534e)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/DistributionPropertiesBase.cs (.../DistributionPropertiesBase.cs) (revision d5a0bce3d53deb3aef237c365018096e9bc83bb1)
@@ -27,6 +27,7 @@
using Core.Common.Gui.PropertyBag;
using Core.Common.Utils.Attributes;
using Ringtoets.Common.Data.Probabilistics;
+using Ringtoets.Common.Forms.ChangeHandlers;
using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
namespace Ringtoets.Common.Forms.PropertyClasses
@@ -104,7 +105,7 @@
throw new InvalidOperationException("Mean is set to be read-only.");
}
- ChangePropertyAndNotify(() => data.Mean = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.Mean = value, changeHandler);
}
}
@@ -124,7 +125,7 @@
throw new InvalidOperationException("StandardDeviation is set to be read-only.");
}
- ChangePropertyAndNotify(() => data.StandardDeviation = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.StandardDeviation = value, changeHandler);
}
}
@@ -141,19 +142,5 @@
{
return $"{Mean} ({RingtoetsCommonFormsResources.NormalDistribution_StandardDeviation_DisplayName} = {StandardDeviation})";
}
-
- private void ChangePropertyAndNotify(SetObservablePropertyValueDelegate setPropertyValue)
- {
- IEnumerable affectedObjects = changeHandler.SetPropertyValueAfterConfirmation(setPropertyValue);
- NotifyAffectedObjects(affectedObjects);
- }
-
- private static void NotifyAffectedObjects(IEnumerable affectedObjects)
- {
- foreach (IObservable affectedObject in affectedObjects)
- {
- affectedObject.NotifyObservers();
- }
- }
}
}
\ No newline at end of file
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/StructuresInputBaseProperties.cs
===================================================================
diff -u -rf861839e975251253e2ffd7bc3f0a1839b85534e -rd5a0bce3d53deb3aef237c365018096e9bc83bb1
--- Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/StructuresInputBaseProperties.cs (.../StructuresInputBaseProperties.cs) (revision f861839e975251253e2ffd7bc3f0a1839b85534e)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/StructuresInputBaseProperties.cs (.../StructuresInputBaseProperties.cs) (revision d5a0bce3d53deb3aef237c365018096e9bc83bb1)
@@ -34,6 +34,7 @@
using Ringtoets.Common.Data.DikeProfiles;
using Ringtoets.Common.Data.FailureMechanism;
using Ringtoets.Common.Data.Structures;
+using Ringtoets.Common.Forms.ChangeHandlers;
using Ringtoets.Common.Forms.Helpers;
using Ringtoets.Common.Forms.PresentationObjects;
using Ringtoets.Common.Forms.Properties;
@@ -215,21 +216,6 @@
///
protected abstract void AfterSettingStructure();
- protected void ChangePropertyAndNotify(SetObservablePropertyValueDelegate setPropertyValue)
- {
- IEnumerable affectedObjects = PropertyChangeHandler.SetPropertyValueAfterConfirmation(setPropertyValue);
-
- NotifyAffectedObjects(affectedObjects);
- }
-
- private static void NotifyAffectedObjects(IEnumerable affectedObjects)
- {
- foreach (IObservable affectedObject in affectedObjects)
- {
- affectedObject.NotifyObservers();
- }
- }
-
///
/// Class holding the various construction parameters for .
///
@@ -338,11 +324,11 @@
}
set
{
- ChangePropertyAndNotify(() =>
+ PropertyChangeHelper.ChangePropertyAndNotify(() =>
{
data.WrappedData.Structure = value;
AfterSettingStructure();
- });
+ }, PropertyChangeHandler);
}
}
@@ -373,7 +359,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.StructureNormalOrientation = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.StructureNormalOrientation = value, PropertyChangeHandler);
}
}
@@ -469,12 +455,10 @@
}
set
{
- ChangePropertyAndNotify(
- () => SetProbabilityValue(
- value,
- data.WrappedData,
- (wrappedData, parsedValue) => wrappedData.FailureProbabilityStructureWithErosion = parsedValue)
- );
+ PropertyChangeHelper.ChangePropertyAndNotify(() => SetProbabilityValue(
+ value,
+ data.WrappedData,
+ (wrappedData, parsedValue) => wrappedData.FailureProbabilityStructureWithErosion = parsedValue), PropertyChangeHandler);
}
}
@@ -491,7 +475,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.ForeshoreProfile = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.ForeshoreProfile = value, PropertyChangeHandler);
}
}
@@ -543,7 +527,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.HydraulicBoundaryLocation = value.HydraulicBoundaryLocation);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.HydraulicBoundaryLocation = value.HydraulicBoundaryLocation, PropertyChangeHandler);
}
}
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/VariationCoefficientDistributionPropertiesBase.cs
===================================================================
diff -u -rf861839e975251253e2ffd7bc3f0a1839b85534e -rd5a0bce3d53deb3aef237c365018096e9bc83bb1
--- Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/VariationCoefficientDistributionPropertiesBase.cs (.../VariationCoefficientDistributionPropertiesBase.cs) (revision f861839e975251253e2ffd7bc3f0a1839b85534e)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/VariationCoefficientDistributionPropertiesBase.cs (.../VariationCoefficientDistributionPropertiesBase.cs) (revision d5a0bce3d53deb3aef237c365018096e9bc83bb1)
@@ -20,13 +20,12 @@
// All rights reserved.
using System;
-using System.Collections.Generic;
-using Core.Common.Base;
using Core.Common.Base.Data;
using Core.Common.Gui.Attributes;
using Core.Common.Gui.PropertyBag;
using Core.Common.Utils.Attributes;
using Ringtoets.Common.Data.Probabilistics;
+using Ringtoets.Common.Forms.ChangeHandlers;
using Ringtoets.Common.Forms.Properties;
namespace Ringtoets.Common.Forms.PropertyClasses
@@ -105,7 +104,7 @@
throw new InvalidOperationException("Mean is set to be read-only.");
}
- ChangePropertyAndNotify(() => data.Mean = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.Mean = value, changeHandler);
}
}
@@ -125,7 +124,7 @@
throw new InvalidOperationException($"{nameof(CoefficientOfVariation)} is set to be read-only.");
}
- ChangePropertyAndNotify(() => data.CoefficientOfVariation = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.CoefficientOfVariation = value, changeHandler);
}
}
@@ -148,19 +147,5 @@
return data == null ? string.Empty :
$"{Mean} ({Resources.Distribution_VariationCoefficient_DisplayName} = {CoefficientOfVariation})";
}
-
- private void ChangePropertyAndNotify(SetObservablePropertyValueDelegate setPropertyValue)
- {
- IEnumerable affectedObjects = changeHandler.SetPropertyValueAfterConfirmation(setPropertyValue);
- NotifyAffectedObjects(affectedObjects);
- }
-
- private static void NotifyAffectedObjects(IEnumerable affectedObjects)
- {
- foreach (IObservable affectedObject in affectedObjects)
- {
- affectedObject.NotifyObservers();
- }
- }
}
}
\ No newline at end of file
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj
===================================================================
diff -u -rcfa21301665f4ca7122f6065fd83fad20b96843e -rd5a0bce3d53deb3aef237c365018096e9bc83bb1
--- Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision cfa21301665f4ca7122f6065fd83fad20b96843e)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision d5a0bce3d53deb3aef237c365018096e9bc83bb1)
@@ -49,6 +49,7 @@
+
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/ChangeHandlers/PropertyChangeHelperTest.cs
===================================================================
diff -u
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/ChangeHandlers/PropertyChangeHelperTest.cs (revision 0)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/ChangeHandlers/PropertyChangeHelperTest.cs (revision d5a0bce3d53deb3aef237c365018096e9bc83bb1)
@@ -0,0 +1,110 @@
+// Copyright (C) Stichting Deltares 2016. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Linq;
+using Core.Common.Base;
+using NUnit.Framework;
+using Rhino.Mocks;
+using Ringtoets.Common.Forms.ChangeHandlers;
+using Ringtoets.Common.Forms.PropertyClasses;
+
+namespace Ringtoets.Common.Forms.Test.ChangeHandlers
+{
+ [TestFixture]
+ public class PropertyChangeHelperTest
+ {
+ [Test]
+ public void ChangePropertyAndNotify_WithoutPropertySetDelegate_ThrowsArgumentNullException()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var handler = mocks.Stub();
+ mocks.ReplayAll();
+
+ // Call
+ TestDelegate test = () => PropertyChangeHelper.ChangePropertyAndNotify(null, handler);
+
+ // Assert
+ var exception = Assert.Throws(test);
+ Assert.AreEqual("setPropertyDelegate", exception.ParamName);
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void ChangePropertyAndNotify_WithoutChangeHandler_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate test = () => PropertyChangeHelper.ChangePropertyAndNotify(() => { }, null);
+
+ // Assert
+ var exception = Assert.Throws(test);
+ Assert.AreEqual("changeHandler", exception.ParamName);
+ }
+
+ [Test]
+ public void ChangePropertyAndNotify_ChangeHasNoAffectedObjects_HandlerUsedForSetAction()
+ {
+ // Setup
+ SetObservablePropertyValueDelegate setAction = () => { };
+
+ var mocks = new MockRepository();
+ var handler = mocks.StrictMock();
+ handler.Expect(h => h.SetPropertyValueAfterConfirmation(setAction)).Return(Enumerable.Empty());
+ mocks.ReplayAll();
+
+ // Call
+ PropertyChangeHelper.ChangePropertyAndNotify(setAction, handler);
+
+ // Assert
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void ChangePropertyAndNotify_ChangeHasAffectedObjects_AffectedObjectsNotified()
+ {
+ // Setup
+ SetObservablePropertyValueDelegate setAction = () => { };
+
+ var mocks = new MockRepository();
+ var observableA = mocks.StrictMock();
+ observableA.Expect(o => o.NotifyObservers());
+ var observableB = mocks.StrictMock();
+ observableB.Expect(o => o.NotifyObservers());
+
+ var affectedObjects = new[]
+ {
+ observableA,
+ observableB
+ };
+
+ var handler = mocks.StrictMock();
+ handler.Expect(h => h.SetPropertyValueAfterConfirmation(setAction)).Return(affectedObjects);
+ mocks.ReplayAll();
+
+ // Call
+ PropertyChangeHelper.ChangePropertyAndNotify(setAction, handler);
+
+ // Assert
+ mocks.VerifyAll();
+ }
+ }
+}
\ No newline at end of file
Fisheye: Tag d5a0bce3d53deb3aef237c365018096e9bc83bb1 refers to a dead (removed) revision in file `Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/ConfirmingDistributionPropertiesBaseTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag d5a0bce3d53deb3aef237c365018096e9bc83bb1 refers to a dead (removed) revision in file `Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/ConfirmingLogNormalDistributionPropertiesTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag d5a0bce3d53deb3aef237c365018096e9bc83bb1 refers to a dead (removed) revision in file `Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/ConfirmingNormalDistributionPropertiesTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag d5a0bce3d53deb3aef237c365018096e9bc83bb1 refers to a dead (removed) revision in file `Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/ConfirmingVariationCoefficientDistributionPropertiesBaseTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag d5a0bce3d53deb3aef237c365018096e9bc83bb1 refers to a dead (removed) revision in file `Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/ConfirmingVariationCoefficientLogNormalDistributionPropertiesTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag d5a0bce3d53deb3aef237c365018096e9bc83bb1 refers to a dead (removed) revision in file `Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/ConfirmingVariationCoefficientNormalDistributionPropertiesTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag f861839e975251253e2ffd7bc3f0a1839b85534e refers to a dead (removed) revision in file `Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/DistributionPropertiesBaseTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag f861839e975251253e2ffd7bc3f0a1839b85534e refers to a dead (removed) revision in file `Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/LogNormalDistributionPropertiesTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag f861839e975251253e2ffd7bc3f0a1839b85534e refers to a dead (removed) revision in file `Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/NormalDistributionPropertiesTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag f861839e975251253e2ffd7bc3f0a1839b85534e refers to a dead (removed) revision in file `Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/VariationCoefficientDistributionPropertiesBaseTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag f861839e975251253e2ffd7bc3f0a1839b85534e refers to a dead (removed) revision in file `Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/VariationCoefficientLogNormalDistributionPropertiesTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag f861839e975251253e2ffd7bc3f0a1839b85534e refers to a dead (removed) revision in file `Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/VariationCoefficientNormalDistributionPropertiesTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj
===================================================================
diff -u -rf861839e975251253e2ffd7bc3f0a1839b85534e -rd5a0bce3d53deb3aef237c365018096e9bc83bb1
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj (.../Ringtoets.Common.Forms.Test.csproj) (revision f861839e975251253e2ffd7bc3f0a1839b85534e)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj (.../Ringtoets.Common.Forms.Test.csproj) (revision d5a0bce3d53deb3aef237c365018096e9bc83bb1)
@@ -65,6 +65,7 @@
+
@@ -81,14 +82,14 @@
-
-
-
-
-
+
+
+
+
+
-
+
Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/GrassCoverErosionInwardsInputContextProperties.cs
===================================================================
diff -u -rf861839e975251253e2ffd7bc3f0a1839b85534e -rd5a0bce3d53deb3aef237c365018096e9bc83bb1
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/GrassCoverErosionInwardsInputContextProperties.cs (.../GrassCoverErosionInwardsInputContextProperties.cs) (revision f861839e975251253e2ffd7bc3f0a1839b85534e)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Forms/PropertyClasses/GrassCoverErosionInwardsInputContextProperties.cs (.../GrassCoverErosionInwardsInputContextProperties.cs) (revision d5a0bce3d53deb3aef237c365018096e9bc83bb1)
@@ -32,6 +32,7 @@
using Core.Common.Utils;
using Core.Common.Utils.Attributes;
using Ringtoets.Common.Data.DikeProfiles;
+using Ringtoets.Common.Forms.ChangeHandlers;
using Ringtoets.Common.Forms.Helpers;
using Ringtoets.Common.Forms.PresentationObjects;
using Ringtoets.Common.Forms.PropertyClasses;
@@ -98,13 +99,13 @@
}
set
{
- ChangePropertyAndNotify(() =>
+ PropertyChangeHelper.ChangePropertyAndNotify(() =>
{
data.WrappedData.DikeProfile = value;
GrassCoverErosionInwardsHelper.UpdateCalculationToSectionResultAssignments(
data.FailureMechanism.SectionResults,
data.FailureMechanism.Calculations.Cast());
- });
+ }, propertyChangeHandler);
}
}
@@ -136,7 +137,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.Orientation = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.Orientation = value, propertyChangeHandler);
}
}
@@ -200,7 +201,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.DikeHeight = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.DikeHeight = value, propertyChangeHandler);
}
}
@@ -217,7 +218,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.DikeHeightCalculationType = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.DikeHeightCalculationType = value, propertyChangeHandler);
}
}
@@ -253,8 +254,7 @@
}
set
{
- ChangePropertyAndNotify(
- () => data.WrappedData.HydraulicBoundaryLocation = value.HydraulicBoundaryLocation);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.HydraulicBoundaryLocation = value.HydraulicBoundaryLocation, propertyChangeHandler);
}
}
@@ -280,20 +280,5 @@
return SelectableHydraulicBoundaryLocationHelper.GetSortedSelectableHydraulicBoundaryLocations(
data.AvailableHydraulicBoundaryLocations, calculationLocation);
}
-
- private void ChangePropertyAndNotify(SetObservablePropertyValueDelegate setPropertyValue)
- {
- IEnumerable affectedObjects = propertyChangeHandler.SetPropertyValueAfterConfirmation(setPropertyValue);
-
- NotifyAffectedObjects(affectedObjects);
- }
-
- private static void NotifyAffectedObjects(IEnumerable affectedObjects)
- {
- foreach (IObservable affectedObject in affectedObjects)
- {
- affectedObject.NotifyObservers();
- }
- }
}
}
\ No newline at end of file
Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingInputContextProperties.cs
===================================================================
diff -u -r37fc59cc0f3becb92e14b8263bd8e9fc71aa0e79 -rd5a0bce3d53deb3aef237c365018096e9bc83bb1
--- Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingInputContextProperties.cs (.../PipingInputContextProperties.cs) (revision 37fc59cc0f3becb92e14b8263bd8e9fc71aa0e79)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/PropertyClasses/PipingInputContextProperties.cs (.../PipingInputContextProperties.cs) (revision d5a0bce3d53deb3aef237c365018096e9bc83bb1)
@@ -30,6 +30,7 @@
using Core.Common.Gui.PropertyBag;
using Core.Common.Utils.Attributes;
using Core.Common.Utils.Reflection;
+using Ringtoets.Common.Forms.ChangeHandlers;
using Ringtoets.Common.Forms.Helpers;
using Ringtoets.Common.Forms.PresentationObjects;
using Ringtoets.Common.Forms.PropertyClasses;
@@ -174,7 +175,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.HydraulicBoundaryLocation = value.HydraulicBoundaryLocation);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.HydraulicBoundaryLocation = value.HydraulicBoundaryLocation, propertyChangeHandler);
}
}
@@ -191,7 +192,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.AssessmentLevel = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.AssessmentLevel = value, propertyChangeHandler);
}
}
@@ -207,7 +208,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.UseAssessmentLevelManualInput = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.UseAssessmentLevelManualInput = value, propertyChangeHandler);
}
}
@@ -276,11 +277,11 @@
{
if (!ReferenceEquals(value, data.WrappedData.SurfaceLine))
{
- ChangePropertyAndNotify(() =>
+ PropertyChangeHelper.ChangePropertyAndNotify(() =>
{
data.WrappedData.SurfaceLine = value;
PipingInputService.SetMatchingStochasticSoilModel(data.WrappedData, GetAvailableStochasticSoilModels());
- });
+ }, propertyChangeHandler);
}
}
}
@@ -300,11 +301,11 @@
{
if (!ReferenceEquals(value, data.WrappedData.StochasticSoilModel))
{
- ChangePropertyAndNotify(() =>
+ PropertyChangeHelper.ChangePropertyAndNotify(() =>
{
data.WrappedData.StochasticSoilModel = value;
PipingInputService.SyncStochasticSoilProfileWithStochasticSoilModel(data.WrappedData);
- });
+ }, propertyChangeHandler);
}
}
}
@@ -324,7 +325,7 @@
{
if (!ReferenceEquals(value, data.WrappedData.StochasticSoilProfile))
{
- ChangePropertyAndNotify(() => data.WrappedData.StochasticSoilProfile = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.StochasticSoilProfile = value, propertyChangeHandler);
}
}
}
@@ -341,7 +342,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.EntryPointL = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.EntryPointL = value, propertyChangeHandler);
}
}
@@ -357,7 +358,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.ExitPointL = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.ExitPointL = value, propertyChangeHandler);
}
}
@@ -454,20 +455,5 @@
}
#endregion
-
- private void ChangePropertyAndNotify(SetObservablePropertyValueDelegate setPropertyValue)
- {
- IEnumerable affectedObjects = propertyChangeHandler.SetPropertyValueAfterConfirmation(setPropertyValue);
-
- NotifyAffectedObjects(affectedObjects);
- }
-
- private static void NotifyAffectedObjects(IEnumerable affectedObjects)
- {
- foreach (var affectedObject in affectedObjects)
- {
- affectedObject.NotifyObservers();
- }
- }
}
}
\ No newline at end of file
Index: Ringtoets/Revetment/src/Ringtoets.Revetment.Forms/PropertyClasses/WaveConditionsInputContextProperties.cs
===================================================================
diff -u -rf861839e975251253e2ffd7bc3f0a1839b85534e -rd5a0bce3d53deb3aef237c365018096e9bc83bb1
--- Ringtoets/Revetment/src/Ringtoets.Revetment.Forms/PropertyClasses/WaveConditionsInputContextProperties.cs (.../WaveConditionsInputContextProperties.cs) (revision f861839e975251253e2ffd7bc3f0a1839b85534e)
+++ Ringtoets/Revetment/src/Ringtoets.Revetment.Forms/PropertyClasses/WaveConditionsInputContextProperties.cs (.../WaveConditionsInputContextProperties.cs) (revision d5a0bce3d53deb3aef237c365018096e9bc83bb1)
@@ -33,6 +33,7 @@
using Core.Common.Utils;
using Core.Common.Utils.Attributes;
using Ringtoets.Common.Data.DikeProfiles;
+using Ringtoets.Common.Forms.ChangeHandlers;
using Ringtoets.Common.Forms.Helpers;
using Ringtoets.Common.Forms.PresentationObjects;
using Ringtoets.Common.Forms.PropertyClasses;
@@ -127,7 +128,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.UpperBoundaryRevetment = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.UpperBoundaryRevetment = value, propertyChangeHandler);
}
}
@@ -143,7 +144,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.LowerBoundaryRevetment = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.LowerBoundaryRevetment = value, propertyChangeHandler);
}
}
@@ -159,7 +160,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.UpperBoundaryWaterLevels = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.UpperBoundaryWaterLevels = value, propertyChangeHandler);
}
}
@@ -175,7 +176,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.LowerBoundaryWaterLevels = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.LowerBoundaryWaterLevels = value, propertyChangeHandler);
}
}
@@ -192,7 +193,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.StepSize = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.StepSize = value, propertyChangeHandler);
}
}
@@ -236,7 +237,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.Orientation = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.Orientation = value, propertyChangeHandler);
}
}
@@ -287,7 +288,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.ForeshoreProfile = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.ForeshoreProfile = value, propertyChangeHandler);
}
}
@@ -308,7 +309,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.HydraulicBoundaryLocation = value.HydraulicBoundaryLocation);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.HydraulicBoundaryLocation = value.HydraulicBoundaryLocation, propertyChangeHandler);
}
}
@@ -323,20 +324,5 @@
return SelectableHydraulicBoundaryLocationHelper.GetSortedSelectableHydraulicBoundaryLocations(
data.HydraulicBoundaryLocations, referenceLocation);
}
-
- private void ChangePropertyAndNotify(SetObservablePropertyValueDelegate setPropertyValue)
- {
- IEnumerable affectedObjects = propertyChangeHandler.SetPropertyValueAfterConfirmation(setPropertyValue);
-
- NotifyAffectedObjects(affectedObjects);
- }
-
- private static void NotifyAffectedObjects(IEnumerable affectedObjects)
- {
- foreach (var affectedObject in affectedObjects)
- {
- affectedObject.NotifyObservers();
- }
- }
}
}
\ No newline at end of file
Index: Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Forms/PropertyClasses/StabilityPointStructuresInputContextProperties.cs
===================================================================
diff -u -rf861839e975251253e2ffd7bc3f0a1839b85534e -rd5a0bce3d53deb3aef237c365018096e9bc83bb1
--- Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Forms/PropertyClasses/StabilityPointStructuresInputContextProperties.cs (.../StabilityPointStructuresInputContextProperties.cs) (revision f861839e975251253e2ffd7bc3f0a1839b85534e)
+++ Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Forms/PropertyClasses/StabilityPointStructuresInputContextProperties.cs (.../StabilityPointStructuresInputContextProperties.cs) (revision d5a0bce3d53deb3aef237c365018096e9bc83bb1)
@@ -29,6 +29,7 @@
using Core.Common.Utils.Attributes;
using Ringtoets.Common.Data.DikeProfiles;
using Ringtoets.Common.Data.Structures;
+using Ringtoets.Common.Forms.ChangeHandlers;
using Ringtoets.Common.Forms.Helpers;
using Ringtoets.Common.Forms.PropertyClasses;
using Ringtoets.Common.Utils;
@@ -195,7 +196,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.VolumicWeightWater = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.VolumicWeightWater = value, PropertyChangeHandler);
}
}
@@ -273,7 +274,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.FactorStormDurationOpenStructure = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.FactorStormDurationOpenStructure = value, PropertyChangeHandler);
}
}
@@ -303,7 +304,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.InflowModelType = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.InflowModelType = value, PropertyChangeHandler);
}
}
@@ -320,7 +321,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.LoadSchematizationType = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.LoadSchematizationType = value, PropertyChangeHandler);
}
}
@@ -469,11 +470,10 @@
}
set
{
- ChangePropertyAndNotify(
- () => SetProbabilityValue(
- value,
- data.WrappedData,
- (wrappedData, parsedValue) => wrappedData.FailureProbabilityRepairClosure = parsedValue));
+ PropertyChangeHelper.ChangePropertyAndNotify(() => SetProbabilityValue(
+ value,
+ data.WrappedData,
+ (wrappedData, parsedValue) => wrappedData.FailureProbabilityRepairClosure = parsedValue), PropertyChangeHandler);
}
}
@@ -537,7 +537,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.LevellingCount = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.LevellingCount = value, PropertyChangeHandler);
}
}
@@ -553,11 +553,10 @@
}
set
{
- ChangePropertyAndNotify(
- () => SetProbabilityValue(
- value,
- data.WrappedData,
- (wrappedData, parsedValue) => wrappedData.ProbabilityCollisionSecondaryStructure = parsedValue));
+ PropertyChangeHelper.ChangePropertyAndNotify(() => SetProbabilityValue(
+ value,
+ data.WrappedData,
+ (wrappedData, parsedValue) => wrappedData.ProbabilityCollisionSecondaryStructure = parsedValue), PropertyChangeHandler);
}
}
@@ -589,7 +588,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.EvaluationLevel = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.EvaluationLevel = value, PropertyChangeHandler);
}
}
@@ -605,7 +604,7 @@
}
set
{
- ChangePropertyAndNotify(() => data.WrappedData.VerticalDistance = value);
+ PropertyChangeHelper.ChangePropertyAndNotify(() => data.WrappedData.VerticalDistance = value, PropertyChangeHandler);
}
}