Index: Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/RingtoetsContextMenuBuilder.cs
===================================================================
diff -u -r37fdad457c3ca89b8d5483bf2796b1ccb11ffdd5 -r0bb125b90287c712f303d231c1083fc79ef45a9a
--- Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/RingtoetsContextMenuBuilder.cs (.../RingtoetsContextMenuBuilder.cs) (revision 37fdad457c3ca89b8d5483bf2796b1ccb11ffdd5)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/RingtoetsContextMenuBuilder.cs (.../RingtoetsContextMenuBuilder.cs) (revision 0bb125b90287c712f303d231c1083fc79ef45a9a)
@@ -166,13 +166,15 @@
/// The type of the failure mechanism context.
/// The failure mechanism to perform all calculations for.
/// The action that performs all calculations.
+ /// The func that checks if the item is enabled.
/// The itself.
public RingtoetsContextMenuBuilder AddPerformAllCalculationsInFailureMechanismItem(
TFailureMechanismContext failureMechanismContext,
- Action calculateAllAction)
+ Action calculateAllAction,
+ Func isEnabledFunc)
where TFailureMechanismContext : IFailureMechanismContext
{
- contextMenuBuilder.AddCustomItem(RingtoetsContextMenuItemFactory.CreatePerformAllCalculationsInFailureMechanismItem(failureMechanismContext, calculateAllAction));
+ contextMenuBuilder.AddCustomItem(RingtoetsContextMenuItemFactory.CreatePerformAllCalculationsInFailureMechanismItem(failureMechanismContext, calculateAllAction, isEnabledFunc));
return this;
}
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/RingtoetsContextMenuItemFactory.cs
===================================================================
diff -u -r4d9751a5458228080891025ab500ae7f2ef8301f -r0bb125b90287c712f303d231c1083fc79ef45a9a
--- Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/RingtoetsContextMenuItemFactory.cs (.../RingtoetsContextMenuItemFactory.cs) (revision 4d9751a5458228080891025ab500ae7f2ef8301f)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/RingtoetsContextMenuItemFactory.cs (.../RingtoetsContextMenuItemFactory.cs) (revision 0bb125b90287c712f303d231c1083fc79ef45a9a)
@@ -227,19 +227,28 @@
/// The type of the failure mechanism context.
/// The failure mechanism to perform all calculations for.
/// The action that performs all calculations.
+ /// The func that checks if the item is enabled.
/// The created .
public static StrictContextMenuItem CreatePerformAllCalculationsInFailureMechanismItem(
TFailureMechanismContext failureMechanismContext,
- Action calculateAllAction)
+ Action calculateAllAction,
+ Func isEnabledFunc)
where TFailureMechanismContext : IFailureMechanismContext
{
var performAllItem = new StrictContextMenuItem(
Resources.Calculate_all,
Resources.Calculate_all_ToolTip,
Resources.CalculateAllIcon,
- (o, args) => calculateAllAction(failureMechanismContext)
- );
+ (o, args) => calculateAllAction(failureMechanismContext))
+ {
+ Enabled = isEnabledFunc(failureMechanismContext)
+ };
+ if (!performAllItem.Enabled)
+ {
+ return performAllItem;
+ }
+
if (!failureMechanismContext.WrappedData.Calculations.Any())
{
performAllItem.Enabled = false;
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj
===================================================================
diff -u -re13aad684439fe0ce56760077b13a7c5b03674de -r0bb125b90287c712f303d231c1083fc79ef45a9a
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj (.../Ringtoets.Common.Forms.Test.csproj) (revision e13aad684439fe0ce56760077b13a7c5b03674de)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj (.../Ringtoets.Common.Forms.Test.csproj) (revision 0bb125b90287c712f303d231c1083fc79ef45a9a)
@@ -102,6 +102,10 @@
{d749ee4c-ce50-4c17-bf01-9a953028c126}
Core.Common.TestUtil
+
+ {C540E627-B95B-4CC0-A1B6-A0BDF74936C7}
+ Ringtoets.GrassCoverErosionInwards.Forms
+
{d4200f43-3f72-4f42-af0a-8ced416a38ec}
Ringtoets.Common.Data
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/RingtoetsContextMenuBuilderTest.cs
===================================================================
diff -u -r4d9751a5458228080891025ab500ae7f2ef8301f -r0bb125b90287c712f303d231c1083fc79ef45a9a
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/RingtoetsContextMenuBuilderTest.cs (.../RingtoetsContextMenuBuilderTest.cs) (revision 4d9751a5458228080891025ab500ae7f2ef8301f)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/RingtoetsContextMenuBuilderTest.cs (.../RingtoetsContextMenuBuilderTest.cs) (revision 0bb125b90287c712f303d231c1083fc79ef45a9a)
@@ -340,7 +340,7 @@
var ringtoetsContextMenuBuilder = new RingtoetsContextMenuBuilder(contextMenuBuilder);
// Call
- var result = ringtoetsContextMenuBuilder.AddPerformAllCalculationsInFailureMechanismItem(failureMechanismContextMock, null).Build();
+ var result = ringtoetsContextMenuBuilder.AddPerformAllCalculationsInFailureMechanismItem(failureMechanismContextMock, null, context => true).Build();
// Assert
Assert.IsInstanceOf(result);
@@ -372,7 +372,7 @@
var ringtoetsContextMenuBuilder = new RingtoetsContextMenuBuilder(contextMenuBuilder);
// Call
- var result = ringtoetsContextMenuBuilder.AddPerformAllCalculationsInFailureMechanismItem(failureMechanismContextMock, null).Build();
+ var result = ringtoetsContextMenuBuilder.AddPerformAllCalculationsInFailureMechanismItem(failureMechanismContextMock, null, context => true).Build();
// Assert
Assert.IsInstanceOf(result);
@@ -551,6 +551,76 @@
}
[Test]
+ public void AddPerformAllCalculationsInFailureMechanismItem_WhenBuildWithAllValidData_ItemAddedToContextmenuEnabled()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var applicationFeatureCommandsMock = mocks.StrictMock();
+ var exportImportHandlerMock = mocks.StrictMock();
+ var viewCommandsMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
+ var failureMechanismMock = mocks.StrictMock();
+ failureMechanismMock.Expect(fm => fm.Calculations).Return(new[]
+ {
+ new TestCalculation()
+ });
+
+ var failureMechanismContextMock = mocks.StrictMock>();
+ failureMechanismContextMock.Expect(fmc => fmc.WrappedData).Return(failureMechanismMock);
+
+ mocks.ReplayAll();
+
+ var contextMenuBuilder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, failureMechanismContextMock, treeViewControlMock);
+ var ringtoetsContextMenuBuilder = new RingtoetsContextMenuBuilder(contextMenuBuilder);
+
+ // Call
+ var result = ringtoetsContextMenuBuilder.AddPerformAllCalculationsInFailureMechanismItem(failureMechanismContextMock, null, context => true).Build();
+
+ // Assert
+ Assert.IsInstanceOf(result);
+ Assert.AreEqual(1, result.Items.Count);
+
+ TestHelper.AssertContextMenuStripContainsItem(result, 0,
+ RingtoetsFormsResources.Calculate_all,
+ RingtoetsFormsResources.Calculate_all_ToolTip,
+ RingtoetsFormsResources.CalculateAllIcon);
+
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AddPerformAllCalculationsInFailureMechanismItem_WhenBuildWithoutAllValidData_ItemAddedToContextmenuDisabled()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var applicationFeatureCommandsMock = mocks.StrictMock();
+ var exportImportHandlerMock = mocks.StrictMock();
+ var viewCommandsMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
+ var failureMechanismContextMock = mocks.StrictMock>();
+
+ mocks.ReplayAll();
+
+ var contextMenuBuilder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, failureMechanismContextMock, treeViewControlMock);
+ var ringtoetsContextMenuBuilder = new RingtoetsContextMenuBuilder(contextMenuBuilder);
+
+ // Call
+ var result = ringtoetsContextMenuBuilder.AddPerformAllCalculationsInFailureMechanismItem(failureMechanismContextMock, null, context => false).Build();
+
+ // Assert
+ Assert.IsInstanceOf(result);
+ Assert.AreEqual(1, result.Items.Count);
+
+ TestHelper.AssertContextMenuStripContainsItem(result, 0,
+ RingtoetsFormsResources.Calculate_all,
+ RingtoetsFormsResources.Calculate_all_ToolTip,
+ RingtoetsFormsResources.CalculateAllIcon,
+ false);
+
+ mocks.VerifyAll();
+ }
+
+ [Test]
public void AddRenameItem_ContextMenuBuilder_CorrectlyDecorated()
{
// Setup
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/RingtoetsContextMenuItemFactoryTest.cs
===================================================================
diff -u -r4d9751a5458228080891025ab500ae7f2ef8301f -r0bb125b90287c712f303d231c1083fc79ef45a9a
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/RingtoetsContextMenuItemFactoryTest.cs (.../RingtoetsContextMenuItemFactoryTest.cs) (revision 4d9751a5458228080891025ab500ae7f2ef8301f)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/RingtoetsContextMenuItemFactoryTest.cs (.../RingtoetsContextMenuItemFactoryTest.cs) (revision 0bb125b90287c712f303d231c1083fc79ef45a9a)
@@ -31,6 +31,7 @@
using Ringtoets.Common.Data.FailureMechanism;
using Ringtoets.Common.Forms.PresentationObjects;
using Ringtoets.Common.Forms.TreeNodeInfos;
+using Ringtoets.GrassCoverErosionInwards.Forms.PresentationObjects;
using BaseResources = Core.Common.Base.Properties.Resources;
using RingtoetsDataResources = Ringtoets.Common.Data.Properties.Resources;
using RingtoetsFormsResources = Ringtoets.Common.Forms.Properties.Resources;
@@ -597,7 +598,7 @@
var failureMechanismContext = new TestFailureMechanismContext(failureMechanismMock, assessmentSectionMock);
// Call
- var toolStripItem = RingtoetsContextMenuItemFactory.CreatePerformAllCalculationsInFailureMechanismItem(failureMechanismContext, null);
+ var toolStripItem = RingtoetsContextMenuItemFactory.CreatePerformAllCalculationsInFailureMechanismItem(failureMechanismContext, null, context => true);
// Assert
Assert.AreEqual(RingtoetsFormsResources.Calculate_all, toolStripItem.Text);
@@ -619,7 +620,7 @@
var failureMechanismContext = new TestFailureMechanismContext(failureMechanismMock, assessmentSectionMock);
// Call
- var toolStripItem = RingtoetsContextMenuItemFactory.CreatePerformAllCalculationsInFailureMechanismItem(failureMechanismContext, null);
+ var toolStripItem = RingtoetsContextMenuItemFactory.CreatePerformAllCalculationsInFailureMechanismItem(failureMechanismContext, null, context => true);
// Assert
Assert.AreEqual(RingtoetsFormsResources.Calculate_all, toolStripItem.Text);
@@ -644,7 +645,7 @@
calculationMock
});
var failureMechanismContext = new TestFailureMechanismContext(failureMechanism, assessmentSectionMock);
- var toolStripItem = RingtoetsContextMenuItemFactory.CreatePerformAllCalculationsInFailureMechanismItem(failureMechanismContext, (fmContext) => counter++);
+ var toolStripItem = RingtoetsContextMenuItemFactory.CreatePerformAllCalculationsInFailureMechanismItem(failureMechanismContext, (fmContext) => counter++, context => true);
// Call
toolStripItem.PerformClick();
@@ -876,6 +877,55 @@
mocks.VerifyAll();
}
+ [Test]
+ public void CreatePerformAllCalculationsInFailureMechanismItem_IsEnabledFuncTrue_CreatesDecoratedAndEnabledItem()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var assessmentSectionMock = mocks.StrictMock();
+ var failureMechanismMock = mocks.StrictMock();
+ failureMechanismMock.Expect(fm => fm.Calculations).Return(new[] { new TestCalculation() });
+
+ var failureMechanismContextMock = mocks.StrictMock>(failureMechanismMock, assessmentSectionMock);
+
+ mocks.ReplayAll();
+
+ // Call
+ var toolStripItem = RingtoetsContextMenuItemFactory.CreatePerformAllCalculationsInFailureMechanismItem(failureMechanismContextMock, null, context => true);
+
+ // Assert
+ Assert.AreEqual(RingtoetsFormsResources.Calculate_all, toolStripItem.Text);
+ Assert.AreEqual(RingtoetsFormsResources.Calculate_all_ToolTip, toolStripItem.ToolTipText);
+ TestHelper.AssertImagesAreEqual(RingtoetsFormsResources.CalculateAllIcon, toolStripItem.Image);
+ Assert.IsTrue(toolStripItem.Enabled);
+
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void CreatePerformAllCalculationsInFailureMechanismItem_IsEnabledFuncFalse_CreatesDecoratedAndEnabledItem()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var assessmentSectionMock = mocks.StrictMock();
+ var failureMechanismMock = mocks.StrictMock();
+
+ var failureMechanismContextMock = mocks.StrictMock>(failureMechanismMock, assessmentSectionMock);
+
+ mocks.ReplayAll();
+
+ // Call
+ var toolStripItem = RingtoetsContextMenuItemFactory.CreatePerformAllCalculationsInFailureMechanismItem(failureMechanismContextMock, null, context => false);
+
+ // Assert
+ Assert.AreEqual(RingtoetsFormsResources.Calculate_all, toolStripItem.Text);
+ Assert.AreEqual(RingtoetsFormsResources.Calculate_all_ToolTip, toolStripItem.ToolTipText);
+ TestHelper.AssertImagesAreEqual(RingtoetsFormsResources.CalculateAllIcon, toolStripItem.Image);
+ Assert.IsFalse(toolStripItem.Enabled);
+
+ mocks.VerifyAll();
+ }
+
# region Nested types
private class TestFailureMechanismContext : FailureMechanismContext
Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs
===================================================================
diff -u -r37fdad457c3ca89b8d5483bf2796b1ccb11ffdd5 -r0bb125b90287c712f303d231c1083fc79ef45a9a
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs (.../GrassCoverErosionInwardsGuiPlugin.cs) (revision 37fdad457c3ca89b8d5483bf2796b1ccb11ffdd5)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs (.../GrassCoverErosionInwardsGuiPlugin.cs) (revision 0bb125b90287c712f303d231c1083fc79ef45a9a)
@@ -118,11 +118,6 @@
var sectionLength = failureMechanismSection.GetSectionLength();
var inwardsInput = calculation.InputParameters;
- if (calculation.Output == null)
- {
- calculation.Output = new GrassCoverErosionInwardsOutput(double.NaN, double.NaN, double.NaN, double.NaN, double.NaN);
- }
-
return HydraRingActivityFactory.Create(
calculation.Name,
hlcdDirectory,
@@ -142,7 +137,7 @@
ParseForeshore(inwardsInput),
ParseBreakWater(inwardsInput)
),
- output => { ParseHydraRingOutput(calculation.Output, output); });
+ output => { ParseHydraRingOutput(calculation, output); });
}
private static HydraRingBreakWater ParseBreakWater(GrassCoverErosionInwardsInput input)
@@ -183,11 +178,11 @@
}
}
- private static void ParseHydraRingOutput(GrassCoverErosionInwardsOutput grassCoverErosionInwardsOutput, ExceedanceProbabilityCalculationOutput output)
+ private static void ParseHydraRingOutput(GrassCoverErosionInwardsCalculation calculation, ExceedanceProbabilityCalculationOutput output)
{
if (output != null)
{
- grassCoverErosionInwardsOutput.Probability = (RoundedDouble) output.Beta;
+ calculation.Output = new GrassCoverErosionInwardsOutput(double.NaN, double.NaN, (RoundedDouble)output.Beta, double.NaN, double.NaN);
}
else
{
@@ -266,7 +261,7 @@
.AddSeparator()
.AddCustomItem(changeRelevancyItem)
.AddSeparator()
- .AddPerformAllCalculationsInFailureMechanismItem(grassCoverErosionInwardsFailureMechanismContext, CalculateAll)
+ .AddPerformAllCalculationsInFailureMechanismItem(grassCoverErosionInwardsFailureMechanismContext, CalculateAll, EnablePerformAllCalculationsInFailureMechanism)
.AddClearAllCalculationOutputInFailureMechanismItem(grassCoverErosionInwardsFailureMechanismContext.WrappedData)
.AddSeparator()
.AddImportItem()
@@ -279,6 +274,11 @@
.Build();
}
+ private static bool EnablePerformAllCalculationsInFailureMechanism(GrassCoverErosionInwardsFailureMechanismContext context)
+ {
+ return AllDataAvailable(context.Parent, context.WrappedData);
+ }
+
private ContextMenuStrip FailureMechanismDisabledContextMenuStrip(GrassCoverErosionInwardsFailureMechanismContext grassCoverErosionInwardsFailureMechanismContext, object parentData, TreeViewControl treeViewControl)
{
var builder = new RingtoetsContextMenuBuilder(Gui.Get(grassCoverErosionInwardsFailureMechanismContext, treeViewControl));
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsFailureMechanismContextTreeNodeInfoTest.cs
===================================================================
diff -u -r266b001fc7fcb405383d2411a970efa735e3c66d -r0bb125b90287c712f303d231c1083fc79ef45a9a
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsFailureMechanismContextTreeNodeInfoTest.cs (.../GrassCoverErosionInwardsFailureMechanismContextTreeNodeInfoTest.cs) (revision 266b001fc7fcb405383d2411a970efa735e3c66d)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsFailureMechanismContextTreeNodeInfoTest.cs (.../GrassCoverErosionInwardsFailureMechanismContextTreeNodeInfoTest.cs) (revision 0bb125b90287c712f303d231c1083fc79ef45a9a)
@@ -21,6 +21,7 @@
using System.IO;
using System.Linq;
+using System.Windows.Forms;
using Core.Common.Base;
using Core.Common.Base.Geometry;
using Core.Common.Controls.TreeView;
@@ -416,6 +417,82 @@
}
[Test]
+ public void ContextMenuStrip_NoHydraulicDatabaseAndFailureMechanismSections_ReturnContextMenuWithCalculateAllDisabled()
+ {
+ // Setup
+ var gui = mocksRepository.StrictMock();
+ var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
+ var assessmentSectionMock = mocksRepository.StrictMock();
+ assessmentSectionMock.Expect(asm => asm.HydraulicBoundaryDatabase).Return(null);
+
+ var nodeData = new GrassCoverErosionInwardsFailureMechanismContext(failureMechanism, assessmentSectionMock);
+
+ var applicationFeatureCommandHandler = mocksRepository.Stub();
+ var exportImportHandler = mocksRepository.Stub();
+ var viewCommandsHandler = mocksRepository.StrictMock();
+ var treeViewControl = mocksRepository.StrictMock();
+
+ var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, nodeData, treeViewControl);
+ gui.Expect(g => g.Get(nodeData, treeViewControl)).Return(menuBuilder);
+
+ treeViewControl.Expect(tvc => tvc.CanExpandOrCollapseForData(nodeData)).Repeat.Twice().Return(false);
+ viewCommandsHandler.Expect(vc => vc.CanOpenViewFor(nodeData)).Return(false);
+
+ plugin.Gui = gui;
+ mocksRepository.ReplayAll();
+
+ // Call
+ ContextMenuStrip menu = info.ContextMenuStrip(nodeData, null, treeViewControl);
+
+ // Assert
+ TestHelper.AssertContextMenuStripContainsItem(menu, 4,
+ RingtoetsFormsResources.Calculate_all,
+ RingtoetsFormsResources.Calculate_all_ToolTip,
+ RingtoetsFormsResources.CalculateIcon,
+ false);
+ mocksRepository.VerifyAll();
+ }
+
+ [Test]
+ public void ContextMenuStrip_HydraulicDatabaseAndFailureMechanismSectionsSet_ReturnContextMenuWithCalculateAllEnabled()
+ {
+ // Setup
+ var gui = mocksRepository.StrictMock();
+ var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
+ failureMechanism.AddSection(new FailureMechanismSection("test", new[] { new Point2D(0, 0) }));
+ failureMechanism.CalculationsGroup.Children.Add(new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput()));
+
+ var assessmentSectionMock = mocksRepository.StrictMock();
+ assessmentSectionMock.Expect(asm => asm.HydraulicBoundaryDatabase).Return(new HydraulicBoundaryDatabase());
+
+ var nodeData = new GrassCoverErosionInwardsFailureMechanismContext(failureMechanism, assessmentSectionMock);
+
+ var applicationFeatureCommandHandler = mocksRepository.Stub();
+ var exportImportHandler = mocksRepository.Stub();
+ var viewCommandsHandler = mocksRepository.StrictMock();
+ var treeViewControl = mocksRepository.StrictMock();
+
+ var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, nodeData, treeViewControl);
+ gui.Expect(g => g.Get(nodeData, treeViewControl)).Return(menuBuilder);
+
+ treeViewControl.Expect(tvc => tvc.CanExpandOrCollapseForData(nodeData)).Repeat.Twice().Return(false);
+ viewCommandsHandler.Expect(vc => vc.CanOpenViewFor(nodeData)).Return(false);
+
+ plugin.Gui = gui;
+ mocksRepository.ReplayAll();
+
+ // Call
+ ContextMenuStrip menu = info.ContextMenuStrip(nodeData, null, treeViewControl);
+
+ // Assert
+ TestHelper.AssertContextMenuStripContainsItem(menu, 4,
+ RingtoetsFormsResources.Calculate_all,
+ RingtoetsFormsResources.Calculate_all_ToolTip,
+ RingtoetsFormsResources.CalculateIcon);
+ mocksRepository.VerifyAll();
+ }
+
+ [Test]
[TestCase(true)]
[TestCase(false)]
public void GivenMultipleCalculationsWithOutput_WhenClearingOutputFromContextMenu_ThenCalculationsOutputClearedAndNotified(bool confirm)
Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs
===================================================================
diff -u -r37fdad457c3ca89b8d5483bf2796b1ccb11ffdd5 -r0bb125b90287c712f303d231c1083fc79ef45a9a
--- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 37fdad457c3ca89b8d5483bf2796b1ccb11ffdd5)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 0bb125b90287c712f303d231c1083fc79ef45a9a)
@@ -295,7 +295,7 @@
.AddCustomItem(changeRelevancyItem)
.AddSeparator()
.AddCustomItem(validateAllItem)
- .AddPerformAllCalculationsInFailureMechanismItem(pipingFailureMechanismContext, CalculateAll)
+ .AddPerformAllCalculationsInFailureMechanismItem(pipingFailureMechanismContext, CalculateAll, context => true)
.AddClearAllCalculationOutputInFailureMechanismItem(pipingFailureMechanismContext.WrappedData)
.AddSeparator()
.AddImportItem()