Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs =================================================================== diff -u -r16ffb4842cab4a8c457638eef546fd87bea3f0f6 -r475eb03892eeecc8b364e1484d7485036444ecb6 --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision 16ffb4842cab4a8c457638eef546fd87bea3f0f6) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsPlugin.cs (.../RingtoetsPlugin.cs) (revision 475eb03892eeecc8b364e1484d7485036444ecb6) @@ -708,6 +708,8 @@ Text = context => RingtoetsCommonFormsResources.Calculation_Input, Image = context => RingtoetsCommonFormsResources.GenericInputOutputIcon, ContextMenuStrip = (nodeData, parentData, treeViewControl) => Gui.Get(nodeData, treeViewControl) + .AddOpenItem() + .AddSeparator() .AddPropertiesItem() .Build() }; @@ -958,10 +960,10 @@ private static bool CloseWaveConditionsInputViewForData(WaveConditionsInputView view, object o) { - var context = o as WaveConditionsInputContext; + var context = o as ICalculationContext; if (context != null) { - return ReferenceEquals(view.Data, context.Calculation); + return ReferenceEquals(view.Data, context.WrappedData); } var calculation = o as IWaveConditionsCalculation; if (calculation != null) Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/TreeNodeInfos/WaveConditionsInputContextTreeNodeInfoTest.cs =================================================================== diff -u -r0c889cff16b60d497640a21c3c9a2ede888dd263 -r475eb03892eeecc8b364e1484d7485036444ecb6 --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/TreeNodeInfos/WaveConditionsInputContextTreeNodeInfoTest.cs (.../WaveConditionsInputContextTreeNodeInfoTest.cs) (revision 0c889cff16b60d497640a21c3c9a2ede888dd263) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/TreeNodeInfos/WaveConditionsInputContextTreeNodeInfoTest.cs (.../WaveConditionsInputContextTreeNodeInfoTest.cs) (revision 475eb03892eeecc8b364e1484d7485036444ecb6) @@ -19,8 +19,6 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using System; -using System.Collections.Generic; using System.Drawing; using System.Linq; using Core.Common.Controls.TreeView; @@ -29,13 +27,10 @@ using Core.Common.TestUtil; using NUnit.Framework; using Rhino.Mocks; -using Ringtoets.Common.Data.DikeProfiles; -using Ringtoets.Common.Data.Hydraulics; using Ringtoets.Common.Forms.Properties; using Ringtoets.Revetment.Data; using Ringtoets.Revetment.Forms.PresentationObjects; using Ringtoets.Revetment.Forms.TestUtil; -using Ringtoets.Revetment.TestUtil; namespace Ringtoets.Integration.Plugin.Test.TreeNodeInfos { @@ -119,6 +114,8 @@ var menuBuilder = mocks.StrictMock(); using (mocks.Ordered()) { + menuBuilder.Expect(mb => mb.AddOpenItem()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddSeparator()).Return(menuBuilder); menuBuilder.Expect(mb => mb.AddPropertiesItem()).Return(menuBuilder); menuBuilder.Expect(mb => mb.Build()).Return(null); } Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/ViewInfos/WaveConditionsInputViewInfoTest.cs =================================================================== diff -u -r16ffb4842cab4a8c457638eef546fd87bea3f0f6 -r475eb03892eeecc8b364e1484d7485036444ecb6 --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/ViewInfos/WaveConditionsInputViewInfoTest.cs (.../WaveConditionsInputViewInfoTest.cs) (revision 16ffb4842cab4a8c457638eef546fd87bea3f0f6) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/ViewInfos/WaveConditionsInputViewInfoTest.cs (.../WaveConditionsInputViewInfoTest.cs) (revision 475eb03892eeecc8b364e1484d7485036444ecb6) @@ -109,15 +109,16 @@ } [Test] - public void CloseForData_ViewCorrespondingToRemovedCalculationInputContext_ReturnsTrue() + [TestCaseSource(nameof(GetCalculationContextDatas), + new object[] + { + "CloseForData_CorrespondingToCalculationContext_ReturnTrue({0})" + })] + public void CloseForData_ViewCorrespondingToRemovedCalculationContext_ReturnsTrue( + ICalculationContext context, + IWaveConditionsCalculation calculation) { // Setup - var input = new WaveConditionsInput(); - var calculation = new TestWaveConditionsCalculation(); - var context = new TestWaveConditionsInputContext(input, calculation, - new ForeshoreProfile[0], - new HydraulicBoundaryLocation[0]); - using (var view = new WaveConditionsInputView { Data = calculation @@ -132,19 +133,21 @@ } [Test] - public void CloseForData_ViewNotCorrespondingToRemovedCalculationInputContext_ReturnsFalse() + [TestCaseSource(nameof(GetCalculationContextDatas), + new object[] + { + "CloseForData_NotCorrespondingToCalculationContext_ReturnFalse({0})" + })] + public void CloseForData_ViewNotCorrespondingToRemovedCalculationContext_ReturnsFalse( + ICalculationContext context, + IWaveConditionsCalculation calculation) { // Setup - var input = new WaveConditionsInput(); - var calculation = new TestWaveConditionsCalculation(); var calculationToRemove = new TestWaveConditionsCalculation(); - var context = new TestWaveConditionsInputContext(input, calculationToRemove, - new ForeshoreProfile[0], - new HydraulicBoundaryLocation[0]); using (var view = new WaveConditionsInputView { - Data = calculation + Data = calculationToRemove }) { // Call @@ -461,6 +464,39 @@ #region TestCaseData + private static IEnumerable GetCalculationContextDatas(string testNameFormat) + { + var grassCoverErosionOutwardsWaveConditionsCalculation = new GrassCoverErosionOutwardsWaveConditionsCalculation(); + yield return new TestCaseData( + new GrassCoverErosionOutwardsWaveConditionsCalculationContext( + grassCoverErosionOutwardsWaveConditionsCalculation, + new GrassCoverErosionOutwardsFailureMechanism(), + new AssessmentSection(AssessmentSectionComposition.Dike)), + grassCoverErosionOutwardsWaveConditionsCalculation) + .SetName(string.Format(testNameFormat, + nameof(GrassCoverErosionOutwardsWaveConditionsCalculation))); + + var stabilityStoneCoverWaveConditionsCalculation = new StabilityStoneCoverWaveConditionsCalculation(); + yield return new TestCaseData( + new StabilityStoneCoverWaveConditionsCalculationContext( + stabilityStoneCoverWaveConditionsCalculation, + new StabilityStoneCoverFailureMechanism(), + new AssessmentSection(AssessmentSectionComposition.Dike)), + stabilityStoneCoverWaveConditionsCalculation) + .SetName(string.Format(testNameFormat, + nameof(StabilityStoneCoverWaveConditionsCalculation))); + + var waveImpactAsphaltCoverWaveConditionsCalculation = new WaveImpactAsphaltCoverWaveConditionsCalculation(); + yield return new TestCaseData( + new WaveImpactAsphaltCoverWaveConditionsCalculationContext( + waveImpactAsphaltCoverWaveConditionsCalculation, + new WaveImpactAsphaltCoverFailureMechanism(), + new AssessmentSection(AssessmentSectionComposition.Dike)), + waveImpactAsphaltCoverWaveConditionsCalculation) + .SetName(string.Format(testNameFormat, + nameof(WaveImpactAsphaltCoverWaveConditionsCalculation))); + } + private static IEnumerable GetfailureMechanismDatas(string testNameFormat) { var grassCoverErosionOutwardsWaveConditionsCalculation = new GrassCoverErosionOutwardsWaveConditionsCalculation();