Index: Riskeer/DuneErosion/src/Riskeer.DuneErosion.Forms/PropertyClasses/DuneLocationCalculationsForUserDefinedTargetProbabilityProperties.cs
===================================================================
diff -u -rfc993257e220986c72398ceb79ffc388881d72bc -r81b3fa7b45e8512447809a56a0e31a37ed67e652
--- Riskeer/DuneErosion/src/Riskeer.DuneErosion.Forms/PropertyClasses/DuneLocationCalculationsForUserDefinedTargetProbabilityProperties.cs (.../DuneLocationCalculationsForUserDefinedTargetProbabilityProperties.cs) (revision fc993257e220986c72398ceb79ffc388881d72bc)
+++ Riskeer/DuneErosion/src/Riskeer.DuneErosion.Forms/PropertyClasses/DuneLocationCalculationsForUserDefinedTargetProbabilityProperties.cs (.../DuneLocationCalculationsForUserDefinedTargetProbabilityProperties.cs) (revision 81b3fa7b45e8512447809a56a0e31a37ed67e652)
@@ -33,39 +33,39 @@
namespace Riskeer.DuneErosion.Forms.PropertyClasses
{
///
- /// ViewModel of a collection of for the properties panel.
+ /// ViewModel of a for the properties panel.
///
- public class DuneLocationCalculationsForUserDefinedTargetProbabilityProperties : ObjectProperties>, IDisposable
+ public class DuneLocationCalculationsForUserDefinedTargetProbabilityProperties : ObjectProperties, IDisposable
{
private readonly IObservablePropertyChangeHandler targetProbabilityChangeHandler;
private readonly RecursiveObserver, DuneLocationCalculation> calculationsObserver;
-
+
///
/// Creates a new instance of .
///
- /// The collection of dune location calculations to set as data.
+ /// The to show the properties for.
/// The for when the target probability changes.
/// Thrown when any parameter is null.
- public DuneLocationCalculationsForUserDefinedTargetProbabilityProperties(IObservableEnumerable calculations,
+ public DuneLocationCalculationsForUserDefinedTargetProbabilityProperties(DuneLocationCalculationsForTargetProbability calculationsForTargetProbability,
IObservablePropertyChangeHandler targetProbabilityChangeHandler)
{
- if (calculations == null)
+ if (calculationsForTargetProbability == null)
{
- throw new ArgumentNullException(nameof(calculations));
+ throw new ArgumentNullException(nameof(calculationsForTargetProbability));
}
-
+
if (targetProbabilityChangeHandler == null)
{
throw new ArgumentNullException(nameof(targetProbabilityChangeHandler));
}
- Data = calculations;
-
+ Data = calculationsForTargetProbability;
+
this.targetProbabilityChangeHandler = targetProbabilityChangeHandler;
-
+
calculationsObserver = new RecursiveObserver, DuneLocationCalculation>(OnRefreshRequired, list => list)
{
- Observable = calculations
+ Observable = calculationsForTargetProbability.DuneLocationCalculations
};
}
@@ -90,7 +90,7 @@
private DuneLocationCalculationProperties[] GetDuneLocationCalculationProperties()
{
- return data.Select(calculation => new DuneLocationCalculationProperties(calculation)).ToArray();
+ return data.DuneLocationCalculations.Select(calculation => new DuneLocationCalculationProperties(calculation)).ToArray();
}
}
}
\ No newline at end of file
Index: Riskeer/DuneErosion/src/Riskeer.DuneErosion.Plugin/DuneErosionPlugin.cs
===================================================================
diff -u -rfc993257e220986c72398ceb79ffc388881d72bc -r81b3fa7b45e8512447809a56a0e31a37ed67e652
--- Riskeer/DuneErosion/src/Riskeer.DuneErosion.Plugin/DuneErosionPlugin.cs (.../DuneErosionPlugin.cs) (revision fc993257e220986c72398ceb79ffc388881d72bc)
+++ Riskeer/DuneErosion/src/Riskeer.DuneErosion.Plugin/DuneErosionPlugin.cs (.../DuneErosionPlugin.cs) (revision 81b3fa7b45e8512447809a56a0e31a37ed67e652)
@@ -80,7 +80,7 @@
yield return new PropertyInfo
{
CreateInstance = context => new DuneLocationCalculationsForUserDefinedTargetProbabilityProperties(
- context.WrappedData.DuneLocationCalculations,
+ context.WrappedData,
new DuneLocationCalculationsForTargetProbabilityChangeHandler(context.WrappedData))
};
Index: Riskeer/DuneErosion/test/Riskeer.DuneErosion.Forms.Test/PropertyClasses/DuneLocationCalculationsForUserDefinedTargetProbabilityPropertiesTest.cs
===================================================================
diff -u -rc397fe309f6d1bc7ae91a04da0ba69bddc375123 -r81b3fa7b45e8512447809a56a0e31a37ed67e652
--- Riskeer/DuneErosion/test/Riskeer.DuneErosion.Forms.Test/PropertyClasses/DuneLocationCalculationsForUserDefinedTargetProbabilityPropertiesTest.cs (.../DuneLocationCalculationsForUserDefinedTargetProbabilityPropertiesTest.cs) (revision c397fe309f6d1bc7ae91a04da0ba69bddc375123)
+++ Riskeer/DuneErosion/test/Riskeer.DuneErosion.Forms.Test/PropertyClasses/DuneLocationCalculationsForUserDefinedTargetProbabilityPropertiesTest.cs (.../DuneLocationCalculationsForUserDefinedTargetProbabilityPropertiesTest.cs) (revision 81b3fa7b45e8512447809a56a0e31a37ed67e652)
@@ -21,11 +21,12 @@
using System;
using System.ComponentModel;
-using Core.Common.Base;
using Core.Gui.Converters;
using Core.Gui.PropertyBag;
using Core.Gui.TestUtil;
using NUnit.Framework;
+using Rhino.Mocks;
+using Riskeer.Common.Forms.PropertyClasses;
using Riskeer.DuneErosion.Data;
using Riskeer.DuneErosion.Data.TestUtil;
using Riskeer.DuneErosion.Forms.PropertyClasses;
@@ -38,52 +39,78 @@
private const int calculationsPropertyIndex = 0;
[Test]
- public void Constructor_CalculationsNull_ThrowsArgumentNullException()
+ public void Constructor_CalculationsForTargetProbabilityNull_ThrowsArgumentNullException()
{
+ // Setup
+ var mocks = new MockRepository();
+ var targetProbabilityChangeHandler = mocks.Stub();
+ mocks.ReplayAll();
+
// Call
- void Call() => new DuneLocationCalculationsForUserDefinedTargetProbabilityProperties(null);
+ void Call() => new DuneLocationCalculationsForUserDefinedTargetProbabilityProperties(null, targetProbabilityChangeHandler);
// Assert
var exception = Assert.Throws(Call);
- Assert.AreEqual("calculations", exception.ParamName);
+ Assert.AreEqual("calculationsForTargetProbability", exception.ParamName);
+ mocks.VerifyAll();
}
[Test]
+ public void Constructor_TargetProbabilityChangeHandlerNull_ThrowsArgumentNullException()
+ {
+ // Call
+ void Call() => new DuneLocationCalculationsForUserDefinedTargetProbabilityProperties(
+ new DuneLocationCalculationsForTargetProbability(), null);
+
+ // Assert
+ string paramName = Assert.Throws(Call).ParamName;
+ Assert.AreEqual("targetProbabilityChangeHandler", paramName);
+ }
+
+ [Test]
public void Constructor_WithData_ReturnExpectedValues()
{
// Setup
+ var mocks = new MockRepository();
+ var targetProbabilityChangeHandler = mocks.Stub();
+ mocks.ReplayAll();
+
var calculation = new DuneLocationCalculation(new TestDuneLocation());
- var duneLocationCalculations = new ObservableList
+ var calculationsForTargetProbability = new DuneLocationCalculationsForTargetProbability
{
- calculation
+ DuneLocationCalculations =
+ {
+ calculation
+ }
};
// Call
- using (var properties = new DuneLocationCalculationsForUserDefinedTargetProbabilityProperties(duneLocationCalculations))
+ using (var properties = new DuneLocationCalculationsForUserDefinedTargetProbabilityProperties(calculationsForTargetProbability, targetProbabilityChangeHandler))
{
// Assert
- Assert.IsInstanceOf>>(properties);
+ Assert.IsInstanceOf>(properties);
Assert.IsInstanceOf(properties);
- Assert.AreSame(duneLocationCalculations, properties.Data);
+ Assert.AreSame(calculationsForTargetProbability, properties.Data);
Assert.AreEqual(1, properties.Calculations.Length);
Assert.AreSame(calculation, properties.Calculations[0].Data);
+
+ mocks.VerifyAll();
}
}
[Test]
public void Constructor_Always_PropertiesHaveExpectedAttributesValues()
{
// Setup
- var calculation = new DuneLocationCalculation(new TestDuneLocation());
- var duneLocationCalculations = new ObservableList
- {
- calculation
- };
+ var mocks = new MockRepository();
+ var targetProbabilityChangeHandler = mocks.Stub();
+ mocks.ReplayAll();
// Call
- using (var properties = new DuneLocationCalculationsForUserDefinedTargetProbabilityProperties(duneLocationCalculations))
+ using (var properties = new DuneLocationCalculationsForUserDefinedTargetProbabilityProperties(
+ new DuneLocationCalculationsForTargetProbability(), targetProbabilityChangeHandler))
{
// Assert
PropertyDescriptorCollection dynamicProperties = PropertiesTestHelper.GetAllVisiblePropertyDescriptors(properties);
@@ -96,20 +123,29 @@
"Locaties",
"Locaties uit de hydraulische belastingendatabase.",
true);
+
+ mocks.VerifyAll();
}
}
[Test]
public void GivenPropertyControlWithData_WhenSingleCalculationUpdated_RefreshRequiredEventRaised()
{
// Given
+ var mocks = new MockRepository();
+ var targetProbabilityChangeHandler = mocks.Stub();
+ mocks.ReplayAll();
+
var calculation = new DuneLocationCalculation(new TestDuneLocation());
- var duneLocationCalculations = new ObservableList
+ var calculationsForTargetProbability = new DuneLocationCalculationsForTargetProbability
{
- calculation
+ DuneLocationCalculations =
+ {
+ calculation
+ }
};
- using (var properties = new DuneLocationCalculationsForUserDefinedTargetProbabilityProperties(duneLocationCalculations))
+ using (var properties = new DuneLocationCalculationsForUserDefinedTargetProbabilityProperties(calculationsForTargetProbability, targetProbabilityChangeHandler))
{
var refreshRequiredRaised = 0;
properties.RefreshRequired += (sender, args) => refreshRequiredRaised++;
@@ -119,20 +155,29 @@
// Then
Assert.AreEqual(1, refreshRequiredRaised);
+
+ mocks.VerifyAll();
}
}
[Test]
public void GivenDisposedPropertyControlWithData_WhenSingleCalculationUpdated_RefreshRequiredEventNotRaised()
{
// Given
+ var mocks = new MockRepository();
+ var targetProbabilityChangeHandler = mocks.Stub();
+ mocks.ReplayAll();
+
var calculation = new DuneLocationCalculation(new TestDuneLocation());
- var duneLocationCalculations = new ObservableList
+ var calculationsForTargetProbability = new DuneLocationCalculationsForTargetProbability
{
- calculation
+ DuneLocationCalculations =
+ {
+ calculation
+ }
};
- using (var properties = new DuneLocationCalculationsForUserDefinedTargetProbabilityProperties(duneLocationCalculations))
+ using (var properties = new DuneLocationCalculationsForUserDefinedTargetProbabilityProperties(calculationsForTargetProbability, targetProbabilityChangeHandler))
{
var refreshRequiredRaised = 0;
properties.RefreshRequired += (sender, args) => refreshRequiredRaised++;
@@ -144,6 +189,8 @@
// Then
Assert.AreEqual(0, refreshRequiredRaised);
+
+ mocks.VerifyAll();
}
}
}
Index: Riskeer/DuneErosion/test/Riskeer.DuneErosion.Plugin.Test/PropertyInfos/DuneLocationCalculationsForUserDefinedTargetProbabilityContextPropertyInfoTest.cs
===================================================================
diff -u -r90f31177a15bf28c02bb3176529205e1bf3ded45 -r81b3fa7b45e8512447809a56a0e31a37ed67e652
--- Riskeer/DuneErosion/test/Riskeer.DuneErosion.Plugin.Test/PropertyInfos/DuneLocationCalculationsForUserDefinedTargetProbabilityContextPropertyInfoTest.cs (.../DuneLocationCalculationsForUserDefinedTargetProbabilityContextPropertyInfoTest.cs) (revision 90f31177a15bf28c02bb3176529205e1bf3ded45)
+++ Riskeer/DuneErosion/test/Riskeer.DuneErosion.Plugin.Test/PropertyInfos/DuneLocationCalculationsForUserDefinedTargetProbabilityContextPropertyInfoTest.cs (.../DuneLocationCalculationsForUserDefinedTargetProbabilityContextPropertyInfoTest.cs) (revision 81b3fa7b45e8512447809a56a0e31a37ed67e652)
@@ -49,7 +49,7 @@
}
[Test]
- public void CreateInstance_WithContext_SetsDuneLocationCalculationsAsData()
+ public void CreateInstance_WithContext_SetsDataCorrectly()
{
// Setup
var mockRepository = new MockRepository();
@@ -69,7 +69,7 @@
// Assert
Assert.IsInstanceOf(objectProperties);
- Assert.AreSame(context.WrappedData.DuneLocationCalculations, objectProperties.Data);
+ Assert.AreSame(context.WrappedData, objectProperties.Data);
}
mockRepository.VerifyAll();