Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismView.cs
===================================================================
diff -u -rc34960143da27c9bfe3f0ce343d8e5d3217ab0e0 -r06e6560689982402f11d25d1baf295a3a4798a82
--- Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismView.cs (.../FailureMechanismView.cs) (revision c34960143da27c9bfe3f0ce343d8e5d3217ab0e0)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismView.cs (.../FailureMechanismView.cs) (revision 06e6560689982402f11d25d1baf295a3a4798a82)
@@ -19,6 +19,7 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
+using System;
using System.Collections.Generic;
using System.Windows.Forms;
using Core.Common.Base;
@@ -56,8 +57,15 @@
///
/// Creates a new instance of .
///
- public FailureMechanismView()
+ /// The failure mechanism to show the data for.
+ /// Thrown when any parameter is null.
+ public FailureMechanismView(T failureMechanism)
{
+ if (failureMechanism == null)
+ {
+ throw new ArgumentNullException(nameof(failureMechanism));
+ }
+
InitializeComponent();
failureMechanismObserver = new Observer(UpdateMapData);
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismViewTest.cs
===================================================================
diff -u -rb2fb8f55e21636fab6ec5c812c3049e5624a3c99 -r06e6560689982402f11d25d1baf295a3a4798a82
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismViewTest.cs (.../FailureMechanismViewTest.cs) (revision b2fb8f55e21636fab6ec5c812c3049e5624a3c99)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismViewTest.cs (.../FailureMechanismViewTest.cs) (revision 06e6560689982402f11d25d1baf295a3a4798a82)
@@ -50,7 +50,7 @@
public void Constructor_ExpectedValues()
{
// Call
- using (var view = new FailureMechanismView())
+ using (var view = new FailureMechanismView(new TestFailureMechanism()))
{
// Assert
Assert.IsInstanceOf(view);
@@ -66,10 +66,21 @@
}
[Test]
+ public void Constructor_failureMechanismNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => new FailureMechanismView(null);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("failureMechanism", exception.ParamName);
+ }
+
+ [Test]
public void Data_FailureMechanismContext_DataSet()
{
// Setup
- using (var view = new FailureMechanismView())
+ using (var view = new FailureMechanismView(new TestFailureMechanism()))
{
var failureMechanism = new TestFailureMechanism();
var failureMechanismContext = new FailureMechanismContext(failureMechanism, new ObservableTestAssessmentSectionStub());
@@ -89,7 +100,7 @@
// Setup
IAssessmentSection assessmentSection = new ObservableTestAssessmentSectionStub();
- using (var view = new FailureMechanismView())
+ using (var view = new FailureMechanismView(new TestFailureMechanism()))
{
var failureMechanism = new TestFailureMechanism();
var failureMechanismContext = new FailureMechanismContext(failureMechanism, assessmentSection);
@@ -106,7 +117,7 @@
public void Data_OtherThanFailureMechanismContext_DataNull()
{
// Setup
- using (var view = new FailureMechanismView())
+ using (var view = new FailureMechanismView(new TestFailureMechanism()))
{
var data = new object();
@@ -122,7 +133,7 @@
public void Data_SetToNull_MapDataCleared()
{
// Setup
- using (var view = new FailureMechanismView())
+ using (var view = new FailureMechanismView(new TestFailureMechanism()))
{
var failureMechanismContext = new FailureMechanismContext(new TestFailureMechanism(), new ObservableTestAssessmentSectionStub());
@@ -146,7 +157,7 @@
public void Data_EmptyFailureMechanismContext_NoMapDataSet()
{
// Setup
- using (var view = new FailureMechanismView())
+ using (var view = new FailureMechanismView(new TestFailureMechanism()))
{
var assessmentSection = new ObservableTestAssessmentSectionStub();
var failureMechanismContext = new FailureMechanismContext(new TestFailureMechanism(), assessmentSection);
@@ -165,7 +176,7 @@
public void Data_FailureMechanismContext_DataUpdatedToCollectionOfFilledMapData()
{
// Setup
- using (var view = new FailureMechanismView())
+ using (var view = new FailureMechanismView(new TestFailureMechanism()))
{
IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl;
@@ -226,7 +237,7 @@
public void UpdateObserver_HydraulicBoundaryLocationsDataUpdated_MapDataUpdated()
{
// Setup
- using (var view = new FailureMechanismView())
+ using (var view = new FailureMechanismView(new TestFailureMechanism()))
{
IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl;
@@ -264,7 +275,7 @@
{
// Setup
var random = new Random(21);
- using (var view = new FailureMechanismView())
+ using (var view = new FailureMechanismView(new TestFailureMechanism()))
{
IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl;
@@ -311,7 +322,7 @@
public void UpdateObserver_ReferenceLineUpdated_MapDataUpdated()
{
// Setup
- using (var view = new FailureMechanismView())
+ using (var view = new FailureMechanismView(new TestFailureMechanism()))
{
IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl;
@@ -355,7 +366,7 @@
public void UpdateObserver_FailureMechanismSectionsUpdated_MapDataUpdated()
{
// Setup
- using (var view = new FailureMechanismView())
+ using (var view = new FailureMechanismView(new TestFailureMechanism()))
{
IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl;
@@ -393,7 +404,7 @@
const int updatedSectionEndLayerIndex = sectionsEndPointIndex - 1;
const int updatedHydraulicLocationsLayerIndex = hydraulicBoundaryLocationsIndex - 1;
- using (var view = new FailureMechanismView())
+ using (var view = new FailureMechanismView(new TestFailureMechanism()))
{
IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl;
@@ -473,7 +484,7 @@
var oldFailureMechanismContext = new FailureMechanismContext(new TestFailureMechanism(), oldAssessmentSection);
var newFailureMechanismContext = new FailureMechanismContext(new TestFailureMechanism(), newAssessmentSection);
- using (var view = new FailureMechanismView())
+ using (var view = new FailureMechanismView(new TestFailureMechanism()))
{
IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl;
Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs
===================================================================
diff -u -rd53395158bfc8e501b6a7d3ae2940cc95c250b3c -r06e6560689982402f11d25d1baf295a3a4798a82
--- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision d53395158bfc8e501b6a7d3ae2940cc95c250b3c)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision 06e6560689982402f11d25d1baf295a3a4798a82)
@@ -433,7 +433,8 @@
GetViewName = (view, context) => context.WrappedData.Name,
Image = RingtoetsCommonFormsResources.CalculationIcon,
CloseForData = CloseFailureMechanismViewForData,
- AdditionalDataCheck = context => context.WrappedData.IsRelevant
+ AdditionalDataCheck = context => context.WrappedData.IsRelevant,
+ CreateInstance = context => new FailureMechanismView(context.WrappedData)
};
yield return CreateFailureMechanismResultViewInfo<
Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/ViewInfos/FailureMechanismViewInfoTest.cs
===================================================================
diff -u -rb5eab627772cf90a216b136a3f305701dc9454cd -r06e6560689982402f11d25d1baf295a3a4798a82
--- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/ViewInfos/FailureMechanismViewInfoTest.cs (.../FailureMechanismViewInfoTest.cs) (revision b5eab627772cf90a216b136a3f305701dc9454cd)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/ViewInfos/FailureMechanismViewInfoTest.cs (.../FailureMechanismViewInfoTest.cs) (revision 06e6560689982402f11d25d1baf295a3a4798a82)
@@ -102,7 +102,7 @@
var failureMechanism = new TestFailureMechanism();
var failureMechanismContext = new TestFailureMechanismContext(failureMechanism, assessmentSection);
- using (var view = new FailureMechanismView
+ using (var view = new FailureMechanismView(failureMechanism)
{
Data = failureMechanismContext
})
@@ -126,7 +126,7 @@
var failureMechanism = new TestFailureMechanism();
var failureMechanismContext = new TestFailureMechanismContext(failureMechanism, assessmentSection);
- using (var view = new FailureMechanismView
+ using (var view = new FailureMechanismView(failureMechanism)
{
Data = failureMechanismContext
})
@@ -150,7 +150,7 @@
var failureMechanismContext = new TestFailureMechanismContext(failureMechanism, assessmentSection);
- using (var view = new FailureMechanismView
+ using (var view = new FailureMechanismView(failureMechanism)
{
Data = failureMechanismContext
})
@@ -172,7 +172,7 @@
var failureMechanism = new TestFailureMechanism();
var failureMechanismContext = new TestFailureMechanismContext(failureMechanism, assessmentSection);
- using (var view = new FailureMechanismView
+ using (var view = new FailureMechanismView(failureMechanism)
{
Data = failureMechanismContext
})
@@ -209,6 +209,24 @@
mocks.VerifyAll();
}
+ [Test]
+ public void CreateInstance_WithData_ReturnFailureMechanismView()
+ {
+ // Setup
+ var assessmentSection = mocks.Stub();
+ mocks.ReplayAll();
+
+ var failureMechanism = new TestFailureMechanism();
+
+ var context = new TestFailureMechanismContext(failureMechanism, assessmentSection);
+
+ // Call
+ IView view = info.CreateInstance(context);
+
+ // Assert
+ Assert.IsInstanceOf>(view);
+ }
+
private class TestFailureMechanismContext : IFailureMechanismContext
{
public TestFailureMechanismContext(IFailureMechanism wrappedData, IAssessmentSection parent)