Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismView.cs =================================================================== diff -u -r06e6560689982402f11d25d1baf295a3a4798a82 -ref910c360ba791f3bed99068845a1190cfb0dacd --- Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismView.cs (.../FailureMechanismView.cs) (revision 06e6560689982402f11d25d1baf295a3a4798a82) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismView.cs (.../FailureMechanismView.cs) (revision ef910c360ba791f3bed99068845a1190cfb0dacd) @@ -58,14 +58,20 @@ /// Creates a new instance of . /// /// The failure mechanism to show the data for. + /// The assessment section to show data for. /// Thrown when any parameter is null. - public FailureMechanismView(T failureMechanism) + public FailureMechanismView(T failureMechanism, IAssessmentSection assessmentSection) { if (failureMechanism == null) { throw new ArgumentNullException(nameof(failureMechanism)); } + if (assessmentSection == null) + { + throw new ArgumentNullException(nameof(assessmentSection)); + } + InitializeComponent(); failureMechanismObserver = new Observer(UpdateMapData); Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismViewTest.cs =================================================================== diff -u -r06e6560689982402f11d25d1baf295a3a4798a82 -ref910c360ba791f3bed99068845a1190cfb0dacd --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismViewTest.cs (.../FailureMechanismViewTest.cs) (revision 06e6560689982402f11d25d1baf295a3a4798a82) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismViewTest.cs (.../FailureMechanismViewTest.cs) (revision ef910c360ba791f3bed99068845a1190cfb0dacd) @@ -27,6 +27,7 @@ using Core.Components.Gis.Data; using Core.Components.Gis.Forms; using NUnit.Framework; +using Rhino.Mocks; using Ringtoets.Common.Data.AssessmentSection; using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Common.Data.Hydraulics; @@ -50,7 +51,8 @@ public void Constructor_ExpectedValues() { // Call - using (var view = new FailureMechanismView(new TestFailureMechanism())) + using (var view = new FailureMechanismView(new TestFailureMechanism(), + new ObservableTestAssessmentSectionStub())) { // Assert Assert.IsInstanceOf(view); @@ -68,19 +70,43 @@ [Test] public void Constructor_failureMechanismNull_ThrowsArgumentNullException() { + // Setup + var mocks = new MockRepository(); + var assessmentSection = mocks.Stub(); + mocks.ReplayAll(); + // Call - TestDelegate call = () => new FailureMechanismView(null); + TestDelegate call = () => new FailureMechanismView(null, assessmentSection); // Assert var exception = Assert.Throws(call); Assert.AreEqual("failureMechanism", exception.ParamName); + mocks.VerifyAll(); } + [Test] + public void Constructor_AssessmentSectionNull_ThrowsArgumentNullException() + { + // Setup + var mocks = new MockRepository(); + var failureMechanism = mocks.Stub(); + mocks.ReplayAll(); + + // Call + TestDelegate call = () => new FailureMechanismView(failureMechanism, null); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("assessmentSection", exception.ParamName); + mocks.VerifyAll(); + } + + [Test] public void Data_FailureMechanismContext_DataSet() { // Setup - using (var view = new FailureMechanismView(new TestFailureMechanism())) + using (var view = new FailureMechanismView(new TestFailureMechanism(), new ObservableTestAssessmentSectionStub())) { var failureMechanism = new TestFailureMechanism(); var failureMechanismContext = new FailureMechanismContext(failureMechanism, new ObservableTestAssessmentSectionStub()); @@ -100,7 +126,7 @@ // Setup IAssessmentSection assessmentSection = new ObservableTestAssessmentSectionStub(); - using (var view = new FailureMechanismView(new TestFailureMechanism())) + using (var view = new FailureMechanismView(new TestFailureMechanism(), new ObservableTestAssessmentSectionStub())) { var failureMechanism = new TestFailureMechanism(); var failureMechanismContext = new FailureMechanismContext(failureMechanism, assessmentSection); @@ -117,7 +143,7 @@ public void Data_OtherThanFailureMechanismContext_DataNull() { // Setup - using (var view = new FailureMechanismView(new TestFailureMechanism())) + using (var view = new FailureMechanismView(new TestFailureMechanism(), new ObservableTestAssessmentSectionStub())) { var data = new object(); @@ -133,7 +159,7 @@ public void Data_SetToNull_MapDataCleared() { // Setup - using (var view = new FailureMechanismView(new TestFailureMechanism())) + using (var view = new FailureMechanismView(new TestFailureMechanism(), new ObservableTestAssessmentSectionStub())) { var failureMechanismContext = new FailureMechanismContext(new TestFailureMechanism(), new ObservableTestAssessmentSectionStub()); @@ -157,7 +183,7 @@ public void Data_EmptyFailureMechanismContext_NoMapDataSet() { // Setup - using (var view = new FailureMechanismView(new TestFailureMechanism())) + using (var view = new FailureMechanismView(new TestFailureMechanism(), new ObservableTestAssessmentSectionStub())) { var assessmentSection = new ObservableTestAssessmentSectionStub(); var failureMechanismContext = new FailureMechanismContext(new TestFailureMechanism(), assessmentSection); @@ -176,7 +202,7 @@ public void Data_FailureMechanismContext_DataUpdatedToCollectionOfFilledMapData() { // Setup - using (var view = new FailureMechanismView(new TestFailureMechanism())) + using (var view = new FailureMechanismView(new TestFailureMechanism(), new ObservableTestAssessmentSectionStub())) { IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl; @@ -237,7 +263,7 @@ public void UpdateObserver_HydraulicBoundaryLocationsDataUpdated_MapDataUpdated() { // Setup - using (var view = new FailureMechanismView(new TestFailureMechanism())) + using (var view = new FailureMechanismView(new TestFailureMechanism(), new ObservableTestAssessmentSectionStub())) { IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl; @@ -275,7 +301,7 @@ { // Setup var random = new Random(21); - using (var view = new FailureMechanismView(new TestFailureMechanism())) + using (var view = new FailureMechanismView(new TestFailureMechanism(), new ObservableTestAssessmentSectionStub())) { IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl; @@ -322,7 +348,7 @@ public void UpdateObserver_ReferenceLineUpdated_MapDataUpdated() { // Setup - using (var view = new FailureMechanismView(new TestFailureMechanism())) + using (var view = new FailureMechanismView(new TestFailureMechanism(), new ObservableTestAssessmentSectionStub())) { IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl; @@ -366,7 +392,7 @@ public void UpdateObserver_FailureMechanismSectionsUpdated_MapDataUpdated() { // Setup - using (var view = new FailureMechanismView(new TestFailureMechanism())) + using (var view = new FailureMechanismView(new TestFailureMechanism(), new ObservableTestAssessmentSectionStub())) { IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl; @@ -404,7 +430,7 @@ const int updatedSectionEndLayerIndex = sectionsEndPointIndex - 1; const int updatedHydraulicLocationsLayerIndex = hydraulicBoundaryLocationsIndex - 1; - using (var view = new FailureMechanismView(new TestFailureMechanism())) + using (var view = new FailureMechanismView(new TestFailureMechanism(), new ObservableTestAssessmentSectionStub())) { IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl; @@ -484,7 +510,7 @@ var oldFailureMechanismContext = new FailureMechanismContext(new TestFailureMechanism(), oldAssessmentSection); var newFailureMechanismContext = new FailureMechanismContext(new TestFailureMechanism(), newAssessmentSection); - using (var view = new FailureMechanismView(new TestFailureMechanism())) + using (var view = new FailureMechanismView(new TestFailureMechanism(), new ObservableTestAssessmentSectionStub())) { IMapControl map = ((RingtoetsMapControl) view.Controls[0]).MapControl; Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs =================================================================== diff -u -r06e6560689982402f11d25d1baf295a3a4798a82 -ref910c360ba791f3bed99068845a1190cfb0dacd --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision 06e6560689982402f11d25d1baf295a3a4798a82) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision ef910c360ba791f3bed99068845a1190cfb0dacd) @@ -434,7 +434,7 @@ Image = RingtoetsCommonFormsResources.CalculationIcon, CloseForData = CloseFailureMechanismViewForData, AdditionalDataCheck = context => context.WrappedData.IsRelevant, - CreateInstance = context => new FailureMechanismView(context.WrappedData) + CreateInstance = context => new FailureMechanismView(context.WrappedData, context.Parent) }; yield return CreateFailureMechanismResultViewInfo< Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/ViewInfos/FailureMechanismViewInfoTest.cs =================================================================== diff -u -r06e6560689982402f11d25d1baf295a3a4798a82 -ref910c360ba791f3bed99068845a1190cfb0dacd --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/ViewInfos/FailureMechanismViewInfoTest.cs (.../FailureMechanismViewInfoTest.cs) (revision 06e6560689982402f11d25d1baf295a3a4798a82) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/ViewInfos/FailureMechanismViewInfoTest.cs (.../FailureMechanismViewInfoTest.cs) (revision ef910c360ba791f3bed99068845a1190cfb0dacd) @@ -102,7 +102,7 @@ var failureMechanism = new TestFailureMechanism(); var failureMechanismContext = new TestFailureMechanismContext(failureMechanism, assessmentSection); - using (var view = new FailureMechanismView(failureMechanism) + using (var view = new FailureMechanismView(failureMechanism, assessmentSection) { Data = failureMechanismContext }) @@ -126,7 +126,7 @@ var failureMechanism = new TestFailureMechanism(); var failureMechanismContext = new TestFailureMechanismContext(failureMechanism, assessmentSection); - using (var view = new FailureMechanismView(failureMechanism) + using (var view = new FailureMechanismView(failureMechanism, assessmentSection) { Data = failureMechanismContext }) @@ -150,7 +150,7 @@ var failureMechanismContext = new TestFailureMechanismContext(failureMechanism, assessmentSection); - using (var view = new FailureMechanismView(failureMechanism) + using (var view = new FailureMechanismView(failureMechanism, assessmentSection) { Data = failureMechanismContext }) @@ -172,7 +172,7 @@ var failureMechanism = new TestFailureMechanism(); var failureMechanismContext = new TestFailureMechanismContext(failureMechanism, assessmentSection); - using (var view = new FailureMechanismView(failureMechanism) + using (var view = new FailureMechanismView(failureMechanism, assessmentSection) { Data = failureMechanismContext })