Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs =================================================================== diff -u -rccc952cb1db3d3538b75d019350a547c6284114d -r1b358a36d3c0747f46c8035e7a65f13467427a2b --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs (.../GrassCoverErosionOutwardsPlugin.cs) (revision ccc952cb1db3d3538b75d019350a547c6284114d) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs (.../GrassCoverErosionOutwardsPlugin.cs) (revision 1b358a36d3c0747f46c8035e7a65f13467427a2b) @@ -127,7 +127,8 @@ GetViewName = (view, context) => context.WrappedData.Name, Image = RingtoetsCommonFormsResources.CalculationIcon, CloseForData = CloseGrassCoverErosionOutwardsFailureMechanismViewForData, - AdditionalDataCheck = context => context.WrappedData.IsRelevant + AdditionalDataCheck = context => context.WrappedData.IsRelevant, + CreateInstance = context => new GrassCoverErosionOutwardsFailureMechanismView(context.WrappedData, context.Parent) }; yield return new ViewInfo< @@ -352,12 +353,9 @@ var assessmentSection = data as IAssessmentSection; var failureMechanism = data as GrassCoverErosionOutwardsFailureMechanism; - var viewFailureMechanismContext = (GrassCoverErosionOutwardsFailureMechanismContext) view.Data; - GrassCoverErosionOutwardsFailureMechanism viewFailureMechanism = viewFailureMechanismContext.WrappedData; - return assessmentSection != null - ? ReferenceEquals(viewFailureMechanismContext.Parent, assessmentSection) - : ReferenceEquals(viewFailureMechanism, failureMechanism); + ? ReferenceEquals(view.AssessmentSection, assessmentSection) + : ReferenceEquals(view.FailureMechanism, failureMechanism); } #endregion Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/ViewInfos/GrassCoverErosionOutwardsFailureMechanismViewInfoTest.cs =================================================================== diff -u -r8f44488fd857a7c56d2e8b7478219212f1888d3b -r1b358a36d3c0747f46c8035e7a65f13467427a2b --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/ViewInfos/GrassCoverErosionOutwardsFailureMechanismViewInfoTest.cs (.../GrassCoverErosionOutwardsFailureMechanismViewInfoTest.cs) (revision 8f44488fd857a7c56d2e8b7478219212f1888d3b) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/ViewInfos/GrassCoverErosionOutwardsFailureMechanismViewInfoTest.cs (.../GrassCoverErosionOutwardsFailureMechanismViewInfoTest.cs) (revision 1b358a36d3c0747f46c8035e7a65f13467427a2b) @@ -21,6 +21,7 @@ using System.Drawing; using System.Linq; +using Core.Common.Controls.Views; using Core.Common.Gui.Plugin; using Core.Common.TestUtil; using NUnit.Framework; @@ -99,13 +100,9 @@ mocks.ReplayAll(); var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); - var grassCoverErosionOutwardsFailureMechanismContext = new GrassCoverErosionOutwardsFailureMechanismContext(failureMechanism, assessmentSection); - using (var view = new GrassCoverErosionOutwardsFailureMechanismView(failureMechanism, assessmentSection) + using (var view = new GrassCoverErosionOutwardsFailureMechanismView(failureMechanism, assessmentSection)) { - Data = grassCoverErosionOutwardsFailureMechanismContext - }) - { // Call bool closeForData = info.CloseForData(view, otherAssessmentSection); @@ -122,13 +119,9 @@ // Setup var assessmentSection = new ObservableTestAssessmentSectionStub(); var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); - var grassCoverErosionOutwardsFailureMechanismContext = new GrassCoverErosionOutwardsFailureMechanismContext(failureMechanism, assessmentSection); - using (var view = new GrassCoverErosionOutwardsFailureMechanismView(failureMechanism, assessmentSection) + using (var view = new GrassCoverErosionOutwardsFailureMechanismView(failureMechanism, assessmentSection)) { - Data = grassCoverErosionOutwardsFailureMechanismContext - }) - { // Call bool closeForData = info.CloseForData(view, assessmentSection); @@ -145,13 +138,8 @@ var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); var otherGrassCoverErosionOutwardsFailureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); - var grassCoverErosionOutwardsFailureMechanismContext = new GrassCoverErosionOutwardsFailureMechanismContext(failureMechanism, assessmentSection); - - using (var view = new GrassCoverErosionOutwardsFailureMechanismView(failureMechanism, assessmentSection) + using (var view = new GrassCoverErosionOutwardsFailureMechanismView(failureMechanism, assessmentSection)) { - Data = grassCoverErosionOutwardsFailureMechanismContext - }) - { // Call bool closeForData = info.CloseForData(view, otherGrassCoverErosionOutwardsFailureMechanism); @@ -166,13 +154,9 @@ // Setup var assessmentSection = new ObservableTestAssessmentSectionStub(); var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); - var grassCoverErosionOutwardsFailureMechanismContext = new GrassCoverErosionOutwardsFailureMechanismContext(failureMechanism, assessmentSection); - using (var view = new GrassCoverErosionOutwardsFailureMechanismView(failureMechanism, assessmentSection) + using (var view = new GrassCoverErosionOutwardsFailureMechanismView(failureMechanism, assessmentSection)) { - Data = grassCoverErosionOutwardsFailureMechanismContext - }) - { // Call bool closeForData = info.CloseForData(view, failureMechanism); @@ -204,5 +188,21 @@ Assert.AreEqual(isRelevant, result); mocks.VerifyAll(); } + + [Test] + public void CreateInstance_WithContext_ReturnGrassCoverErosionOutwardsFailureMechanismView() + { + // Setup + var assessmentSection = new ObservableTestAssessmentSectionStub(); + var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); + + var context = new GrassCoverErosionOutwardsFailureMechanismContext(failureMechanism, assessmentSection); + + // Call + IView view = info.CreateInstance(context); + + // Assert + Assert.IsInstanceOf(view); + } } } \ No newline at end of file