Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Plugin/ClosingStructuresPlugin.cs =================================================================== diff -u -rc51ba92268d9a8272778e758fd0f9a71a0d61849 -rcd587939365d80dd953e9bca1b1ca8b85ee333a5 --- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Plugin/ClosingStructuresPlugin.cs (.../ClosingStructuresPlugin.cs) (revision c51ba92268d9a8272778e758fd0f9a71a0d61849) +++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Plugin/ClosingStructuresPlugin.cs (.../ClosingStructuresPlugin.cs) (revision cd587939365d80dd953e9bca1b1ca8b85ee333a5) @@ -98,7 +98,8 @@ GetViewName = (view, context) => context.WrappedData.Name, Image = RingtoetsCommonFormsResources.CalculationIcon, CloseForData = CloseClosingStructuresFailureMechanismViewForData, - AdditionalDataCheck = context => context.WrappedData.IsRelevant + AdditionalDataCheck = context => context.WrappedData.IsRelevant, + CreateInstance = context => new ClosingStructuresFailureMechanismView(context.WrappedData, context.Parent) }; yield return new ViewInfo< @@ -290,12 +291,9 @@ var assessmentSection = data as IAssessmentSection; var failureMechanism = data as ClosingStructuresFailureMechanism; - var viewFailureMechanismContext = (ClosingStructuresFailureMechanismContext) view.Data; - ClosingStructuresFailureMechanism viewFailureMechanism = viewFailureMechanismContext.WrappedData; - return assessmentSection != null - ? ReferenceEquals(viewFailureMechanismContext.Parent, assessmentSection) - : ReferenceEquals(viewFailureMechanism, failureMechanism); + ? ReferenceEquals(view.AssessmentSection, assessmentSection) + : ReferenceEquals(view.FailureMechanism, failureMechanism); } #endregion Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/ViewInfos/ClosingStructuresFailureMechanismViewInfoTest.cs =================================================================== diff -u -rf07d6418a5280c74ea8a35de183dbaed51dda066 -rcd587939365d80dd953e9bca1b1ca8b85ee333a5 --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/ViewInfos/ClosingStructuresFailureMechanismViewInfoTest.cs (.../ClosingStructuresFailureMechanismViewInfoTest.cs) (revision f07d6418a5280c74ea8a35de183dbaed51dda066) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/ViewInfos/ClosingStructuresFailureMechanismViewInfoTest.cs (.../ClosingStructuresFailureMechanismViewInfoTest.cs) (revision cd587939365d80dd953e9bca1b1ca8b85ee333a5) @@ -19,7 +19,9 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System.Drawing; using System.Linq; +using Core.Common.Controls.Views; using Core.Common.Gui.Plugin; using Core.Common.TestUtil; using NUnit.Framework; @@ -60,7 +62,6 @@ // Assert Assert.AreEqual(typeof(ClosingStructuresFailureMechanismContext), info.DataType); Assert.AreEqual(typeof(ClosingStructuresFailureMechanismContext), info.ViewDataType); - TestHelper.AssertImagesAreEqual(RingtoetsCommonFormsResources.CalculationIcon, info.Image); } [Test] @@ -73,18 +74,25 @@ var failureMechanism = new ClosingStructuresFailureMechanism(); var failureMechanismContext = new ClosingStructuresFailureMechanismContext(failureMechanism, assessmentSection); - using (var view = new ClosingStructuresFailureMechanismView()) - { - // Call - string viewName = info.GetViewName(view, failureMechanismContext); + // Call + string viewName = info.GetViewName(null, failureMechanismContext); - // Assert - Assert.AreEqual(failureMechanism.Name, viewName); - } + // Assert + Assert.AreEqual(failureMechanism.Name, viewName); mocks.VerifyAll(); } [Test] + public void Image_Always_ReturnsGenericInputOutputIcon() + { + // Call + Image image = info.Image; + + // Assert + TestHelper.AssertImagesAreEqual(RingtoetsCommonFormsResources.CalculationIcon, image); + } + + [Test] public void CloseForData_ViewNotCorrespondingToRemovedAssessmentSection_ReturnsFalse() { // Setup @@ -93,19 +101,16 @@ mocks.ReplayAll(); var failureMechanism = new ClosingStructuresFailureMechanism(); - var failureMechanismContext = new ClosingStructuresFailureMechanismContext(failureMechanism, assessmentSection); - using (var view = new ClosingStructuresFailureMechanismView + using (var view = new ClosingStructuresFailureMechanismView(failureMechanism, assessmentSection)) { - Data = failureMechanismContext - }) - { // Call bool closeForData = info.CloseForData(view, otherAssessmentSection); // Assert Assert.IsFalse(closeForData); } + mocks.VerifyAll(); } @@ -114,15 +119,10 @@ { // Setup var assessmentSection = new ObservableTestAssessmentSectionStub(); - var failureMechanism = new ClosingStructuresFailureMechanism(); - var failureMechanismContext = new ClosingStructuresFailureMechanismContext(failureMechanism, assessmentSection); - using (var view = new ClosingStructuresFailureMechanismView + using (var view = new ClosingStructuresFailureMechanismView(failureMechanism, assessmentSection)) { - Data = failureMechanismContext - }) - { // Call bool closeForData = info.CloseForData(view, assessmentSection); @@ -136,17 +136,11 @@ { // Setup var assessmentSection = new ObservableTestAssessmentSectionStub(); - var failureMechanism = new ClosingStructuresFailureMechanism(); var otherClosingStructuresFailureMechanism = new ClosingStructuresFailureMechanism(); - var failureMechanismContext = new ClosingStructuresFailureMechanismContext(failureMechanism, assessmentSection); - - using (var view = new ClosingStructuresFailureMechanismView + using (var view = new ClosingStructuresFailureMechanismView(failureMechanism, assessmentSection)) { - Data = failureMechanismContext - }) - { // Call bool closeForData = info.CloseForData(view, otherClosingStructuresFailureMechanism); @@ -160,15 +154,10 @@ { // Setup var assessmentSection = new ObservableTestAssessmentSectionStub(); - var failureMechanism = new ClosingStructuresFailureMechanism(); - var failureMechanismContext = new ClosingStructuresFailureMechanismContext(failureMechanism, assessmentSection); - using (var view = new ClosingStructuresFailureMechanismView + using (var view = new ClosingStructuresFailureMechanismView(failureMechanism, assessmentSection)) { - Data = failureMechanismContext - }) - { // Call bool closeForData = info.CloseForData(view, failureMechanism); @@ -200,5 +189,21 @@ Assert.AreEqual(isRelevant, result); mocks.VerifyAll(); } + + [Test] + public void CreateInstance_WithContext_ReturnClosingStructuresFailureMechanismView() + { + // Setup + var assessmentSection = new ObservableTestAssessmentSectionStub(); + var failureMechanism = new ClosingStructuresFailureMechanism(); + + var context = new ClosingStructuresFailureMechanismContext(failureMechanism, assessmentSection); + + // Call + IView view = info.CreateInstance(context); + + // Assert + Assert.IsInstanceOf(view); + } } } \ No newline at end of file