Index: Core/Common/src/Core.Common.Gui/PropertyBag/ObjectProperties.cs
===================================================================
diff -u -r1ab3d180b9a6ea55959a33564b11bea9a10db3c8 -r2bca78cdfd4e336f16bf2abfffb3f5ba4d46277d
--- Core/Common/src/Core.Common.Gui/PropertyBag/ObjectProperties.cs (.../ObjectProperties.cs) (revision 1ab3d180b9a6ea55959a33564b11bea9a10db3c8)
+++ Core/Common/src/Core.Common.Gui/PropertyBag/ObjectProperties.cs (.../ObjectProperties.cs) (revision 2bca78cdfd4e336f16bf2abfffb3f5ba4d46277d)
@@ -29,21 +29,12 @@
/// Base class for object properties with data of type .
///
/// Type of .
- public class ObjectProperties : IObjectProperties, IDisposable
+ public class ObjectProperties : IObjectProperties
{
- private readonly Observer refreshRequiredObserver;
-
protected T data;
public event EventHandler RefreshRequired;
- ///
- /// Creates a new instance of .
- ///
- public ObjectProperties()
- {
- refreshRequiredObserver = new Observer(OnRefreshRequired);
- }
[Browsable(false)]
public object Data
@@ -55,16 +46,9 @@
set
{
data = (T) value;
-
- refreshRequiredObserver.Observable = value as IObservable;
}
}
- public virtual void Dispose()
- {
- refreshRequiredObserver?.Dispose();
- }
-
///
/// Method for raising .
///
Index: Core/Common/test/Core.Common.Gui.Test/PropertyBag/ObjectPropertiesTest.cs
===================================================================
diff -u -raf8fe0bbc3b765d4361edc18f3e1ebb79141f4b5 -r2bca78cdfd4e336f16bf2abfffb3f5ba4d46277d
--- Core/Common/test/Core.Common.Gui.Test/PropertyBag/ObjectPropertiesTest.cs (.../ObjectPropertiesTest.cs) (revision af8fe0bbc3b765d4361edc18f3e1ebb79141f4b5)
+++ Core/Common/test/Core.Common.Gui.Test/PropertyBag/ObjectPropertiesTest.cs (.../ObjectPropertiesTest.cs) (revision 2bca78cdfd4e336f16bf2abfffb3f5ba4d46277d)
@@ -22,7 +22,6 @@
using System;
using System.ComponentModel;
using System.Reflection;
-using Core.Common.Base;
using Core.Common.Gui.PropertyBag;
using NUnit.Framework;
@@ -35,140 +34,42 @@
public void DefaultConstructor_ExpectedValues()
{
// Call
- using (var properties = new ObjectProperties())
- {
- // Assert
- Assert.IsInstanceOf(properties);
- Assert.IsNull(properties.Data);
- }
+ var properties = new ObjectProperties();
+
+ // Assert
+ Assert.IsInstanceOf(properties);
+ Assert.IsNull(properties.Data);
}
[Test]
public void Data_SetValue_GetNewlySetValue()
{
// Setup
- using (var properties = new ObjectProperties())
- {
- const string text = "text";
+ var properties = new ObjectProperties();
+ const string text = "text";
- // Call
- properties.Data = text;
+ // Call
+ properties.Data = text;
- // Assert
- Assert.AreEqual(text, properties.Data);
- }
+ // Assert
+ Assert.AreEqual(text, properties.Data);
}
[Test]
public void Data_IsNotBrowsable()
{
// Setup
- using (var properties = new ObjectProperties())
- {
- const string dataPropertyName = nameof(ObjectProperties.Data);
- PropertyInfo propertyInfo = properties.GetType().GetProperty(dataPropertyName);
+ var properties = new ObjectProperties();
+ const string dataPropertyName = nameof(ObjectProperties.Data);
+ PropertyInfo propertyInfo = properties.GetType().GetProperty(dataPropertyName);
- // Call
- var browsableAttribute = (BrowsableAttribute) Attribute.GetCustomAttribute(propertyInfo,
- typeof(BrowsableAttribute),
- true);
+ // Call
+ var browsableAttribute = (BrowsableAttribute) Attribute.GetCustomAttribute(propertyInfo,
+ typeof(BrowsableAttribute),
+ true);
- // Assert
- Assert.AreEqual(BrowsableAttribute.No, browsableAttribute);
- }
+ // Assert
+ Assert.AreEqual(BrowsableAttribute.No, browsableAttribute);
}
-
- [Test]
- public void GivenObjectPropertiesWithObservableDataSet_WhenNotifyingObserver_RefreshRequiredEventRaised()
- {
- // Given
- var observable = new SimpleObservable();
- using (var properties = new ObjectProperties
- {
- Data = observable
- })
- {
- var refreshRequiredRaised = 0;
- properties.RefreshRequired += (sender, args) => refreshRequiredRaised++;
-
- // When
- observable.NotifyObservers();
-
- // Then
- Assert.AreEqual(1, refreshRequiredRaised);
- }
- }
-
- [Test]
- public void GivenObjectPropertiesWithNewObservableDataSet_WhenNotifyingPreviouslySetObserver_RefreshRequiredEventNotRaised()
- {
- // Given
- var observable1 = new SimpleObservable();
- var observable2 = new SimpleObservable();
- using (var properties = new ObjectProperties
- {
- Data = observable1
- })
- {
- properties.Data = observable2;
-
- var refreshRequiredRaised = 0;
- properties.RefreshRequired += (sender, args) => refreshRequiredRaised++;
-
- // When
- observable1.NotifyObservers();
-
- // Then
- Assert.AreEqual(0, refreshRequiredRaised);
- }
- }
-
- [Test]
- public void GivenObjectPropertiesWithNewObservableDataSet_WhenNotifyingNewlySetObserver_RefreshRequiredEventRaised()
- {
- // Given
- var observable1 = new SimpleObservable();
- var observable2 = new SimpleObservable();
- using (var properties = new ObjectProperties
- {
- Data = observable1
- })
- {
- properties.Data = observable2;
-
- var refreshRequiredRaised = 0;
- properties.RefreshRequired += (sender, args) => refreshRequiredRaised++;
-
- // When
- observable2.NotifyObservers();
-
- // Then
- Assert.AreEqual(1, refreshRequiredRaised);
- }
- }
-
- [Test]
- public void GivenDisposedObjectPropertiesWithObservableDataSet_WhenNotifyingObserver_RefreshRequiredEventNotRaised()
- {
- // Given
- var observable = new SimpleObservable();
- var properties = new ObjectProperties
- {
- Data = observable
- };
-
- var refreshRequiredRaised = 0;
- properties.RefreshRequired += (sender, args) => refreshRequiredRaised++;
-
- properties.Dispose();
-
- // When
- observable.NotifyObservers();
-
- // Then
- Assert.AreEqual(0, refreshRequiredRaised);
- }
-
- private class SimpleObservable : Observable {}
}
}
\ No newline at end of file
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/FailureMechanismSectionsProbabilityAssessmentProperties.cs
===================================================================
diff -u -r7111575120feef926652228c88b963ae1c18287e -r2bca78cdfd4e336f16bf2abfffb3f5ba4d46277d
--- Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/FailureMechanismSectionsProbabilityAssessmentProperties.cs (.../FailureMechanismSectionsProbabilityAssessmentProperties.cs) (revision 7111575120feef926652228c88b963ae1c18287e)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/FailureMechanismSectionsProbabilityAssessmentProperties.cs (.../FailureMechanismSectionsProbabilityAssessmentProperties.cs) (revision 2bca78cdfd4e336f16bf2abfffb3f5ba4d46277d)
@@ -37,7 +37,7 @@
///
/// ViewModel of of for properties panel.
///
- public class FailureMechanismSectionsProbabilityAssessmentProperties : ObjectProperties>
+ public class FailureMechanismSectionsProbabilityAssessmentProperties : ObjectProperties>, IDisposable
{
private readonly Observer failureMechanismObserver;
private readonly IProbabilityAssessmentInput probabilityAssessmentInput;
@@ -91,11 +91,9 @@
}
}
- public override void Dispose()
+ public void Dispose()
{
failureMechanismObserver.Dispose();
-
- base.Dispose();
}
}
}
\ No newline at end of file
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/FailureMechanismSectionsProperties.cs
===================================================================
diff -u -r4858139553103583b5dafc0d3a3c85e72d126a0b -r2bca78cdfd4e336f16bf2abfffb3f5ba4d46277d
--- Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/FailureMechanismSectionsProperties.cs (.../FailureMechanismSectionsProperties.cs) (revision 4858139553103583b5dafc0d3a3c85e72d126a0b)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/FailureMechanismSectionsProperties.cs (.../FailureMechanismSectionsProperties.cs) (revision 2bca78cdfd4e336f16bf2abfffb3f5ba4d46277d)
@@ -37,7 +37,7 @@
/// ViewModel of of
/// with a section specific N for the properties panel.
///
- public class FailureMechanismSectionsProperties : ObjectProperties>
+ public class FailureMechanismSectionsProperties : ObjectProperties>, IDisposable
{
private readonly Observer failureMechanismObserver;
@@ -80,11 +80,9 @@
}
}
- public override void Dispose()
+ public void Dispose()
{
failureMechanismObserver.Dispose();
-
- base.Dispose();
}
}
}
\ No newline at end of file
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/HydraulicBoundaryLocationsProperties.cs
===================================================================
diff -u -r9a4eded3d7de675594c149438dbc9512674cc5c2 -r2bca78cdfd4e336f16bf2abfffb3f5ba4d46277d
--- Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/HydraulicBoundaryLocationsProperties.cs (.../HydraulicBoundaryLocationsProperties.cs) (revision 9a4eded3d7de675594c149438dbc9512674cc5c2)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/PropertyClasses/HydraulicBoundaryLocationsProperties.cs (.../HydraulicBoundaryLocationsProperties.cs) (revision 2bca78cdfd4e336f16bf2abfffb3f5ba4d46277d)
@@ -29,7 +29,7 @@
///
/// ViewModel of an enumeration of for properties panel.
///
- public abstract class HydraulicBoundaryLocationsProperties : ObjectProperties>
+ public abstract class HydraulicBoundaryLocationsProperties : ObjectProperties>, IDisposable
{
private readonly RecursiveObserver, HydraulicBoundaryLocation> hydraulicBoundaryLocationObserver;
@@ -53,11 +53,9 @@
Data = hydraulicBoundaryLocations;
}
- public override void Dispose()
+ public void Dispose()
{
hydraulicBoundaryLocationObserver.Dispose();
-
- base.Dispose();
}
}
}
\ No newline at end of file
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/FailureMechanismSectionsProbabilityAssessmentPropertiesTest.cs
===================================================================
diff -u -r7111575120feef926652228c88b963ae1c18287e -r2bca78cdfd4e336f16bf2abfffb3f5ba4d46277d
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/FailureMechanismSectionsProbabilityAssessmentPropertiesTest.cs (.../FailureMechanismSectionsProbabilityAssessmentPropertiesTest.cs) (revision 7111575120feef926652228c88b963ae1c18287e)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/FailureMechanismSectionsProbabilityAssessmentPropertiesTest.cs (.../FailureMechanismSectionsProbabilityAssessmentPropertiesTest.cs) (revision 2bca78cdfd4e336f16bf2abfffb3f5ba4d46277d)
@@ -120,6 +120,7 @@
{
// Assert
Assert.IsInstanceOf>>(properties);
+ Assert.IsInstanceOf(properties);
Assert.AreSame(sections, properties.Data);
TestHelper.AssertTypeConverter(
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/FailureMechanismSectionsPropertiesTest.cs
===================================================================
diff -u -r7111575120feef926652228c88b963ae1c18287e -r2bca78cdfd4e336f16bf2abfffb3f5ba4d46277d
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/FailureMechanismSectionsPropertiesTest.cs (.../FailureMechanismSectionsPropertiesTest.cs) (revision 7111575120feef926652228c88b963ae1c18287e)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/FailureMechanismSectionsPropertiesTest.cs (.../FailureMechanismSectionsPropertiesTest.cs) (revision 2bca78cdfd4e336f16bf2abfffb3f5ba4d46277d)
@@ -86,6 +86,7 @@
{
// Assert
Assert.IsInstanceOf>>(properties);
+ Assert.IsInstanceOf(properties);
Assert.AreSame(sections, properties.Data);
TestHelper.AssertTypeConverter(
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/HydraulicBoundaryLocationsPropertiesTest.cs
===================================================================
diff -u -r9a4eded3d7de675594c149438dbc9512674cc5c2 -r2bca78cdfd4e336f16bf2abfffb3f5ba4d46277d
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/HydraulicBoundaryLocationsPropertiesTest.cs (.../HydraulicBoundaryLocationsPropertiesTest.cs) (revision 9a4eded3d7de675594c149438dbc9512674cc5c2)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/PropertyClasses/HydraulicBoundaryLocationsPropertiesTest.cs (.../HydraulicBoundaryLocationsPropertiesTest.cs) (revision 2bca78cdfd4e336f16bf2abfffb3f5ba4d46277d)
@@ -21,6 +21,7 @@
using System;
using Core.Common.Base;
+using Core.Common.Gui.PropertyBag;
using NUnit.Framework;
using Ringtoets.Common.Data.Hydraulics;
using Ringtoets.Common.Data.TestUtil;
@@ -43,6 +44,21 @@
}
[Test]
+ public void Constructor_ValidData_ExpectedValues()
+ {
+ // Setup
+ var locations = new ObservableList();
+
+ // Call
+ var properties = new TestHydraulicBoundaryLocationsProperties(locations);
+
+ // Assert
+ Assert.IsInstanceOf>>(properties);
+ Assert.IsInstanceOf(properties);
+ Assert.AreSame(locations, properties.Data);
+ }
+
+ [Test]
public void GivenPropertyControlWithData_WhenSingleLocationUpdated_RefreshRequiredEventRaised()
{
// Given
Index: Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Forms/PropertyClasses/DuneLocationsProperties.cs
===================================================================
diff -u -r9a4eded3d7de675594c149438dbc9512674cc5c2 -r2bca78cdfd4e336f16bf2abfffb3f5ba4d46277d
--- Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Forms/PropertyClasses/DuneLocationsProperties.cs (.../DuneLocationsProperties.cs) (revision 9a4eded3d7de675594c149438dbc9512674cc5c2)
+++ Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Forms/PropertyClasses/DuneLocationsProperties.cs (.../DuneLocationsProperties.cs) (revision 2bca78cdfd4e336f16bf2abfffb3f5ba4d46277d)
@@ -34,7 +34,7 @@
///
/// ViewModel of an enumeration of for the properties panel.
///
- public class DuneLocationsProperties : ObjectProperties>
+ public class DuneLocationsProperties : ObjectProperties>, IDisposable
{
private readonly Func getCalculationFunc;
private readonly RecursiveObserver, DuneLocation> locationObserver;
@@ -81,11 +81,9 @@
}
}
- public override void Dispose()
+ public void Dispose()
{
locationObserver.Dispose();
-
- base.Dispose();
}
}
}
\ No newline at end of file
Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Forms.Test/PropertyClasses/DuneLocationsPropertiesTest.cs
===================================================================
diff -u -r9a4eded3d7de675594c149438dbc9512674cc5c2 -r2bca78cdfd4e336f16bf2abfffb3f5ba4d46277d
--- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Forms.Test/PropertyClasses/DuneLocationsPropertiesTest.cs (.../DuneLocationsPropertiesTest.cs) (revision 9a4eded3d7de675594c149438dbc9512674cc5c2)
+++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Forms.Test/PropertyClasses/DuneLocationsPropertiesTest.cs (.../DuneLocationsPropertiesTest.cs) (revision 2bca78cdfd4e336f16bf2abfffb3f5ba4d46277d)
@@ -23,6 +23,7 @@
using System.ComponentModel;
using Core.Common.Base;
using Core.Common.Gui.Converters;
+using Core.Common.Gui.PropertyBag;
using Core.Common.TestUtil;
using NUnit.Framework;
using Ringtoets.DuneErosion.Data;
@@ -59,7 +60,7 @@
}
[Test]
- public void GetProperties_WithData_ReturnExpectedValues()
+ public void Constructor_WithData_ReturnExpectedValues()
{
// Setup
var location = new TestDuneLocation();
@@ -72,6 +73,9 @@
var properties = new DuneLocationsProperties(locations, l => new DuneLocationCalculation());
// Assert
+ Assert.IsInstanceOf>>(properties);
+ Assert.IsInstanceOf(properties);
+
Assert.AreEqual(1, properties.Locations.Length);
Assert.AreSame(location, properties.Locations[0].Data);
}