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)