Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs
===================================================================
diff -u -r4cc73327b5db5355b456dc0c51846213ad0ea566 -rded51ed5be07b08a299605abbeaed5ba70a7f89c
--- Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 4cc73327b5db5355b456dc0c51846213ad0ea566)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision ded51ed5be07b08a299605abbeaed5ba70a7f89c)
@@ -321,6 +321,15 @@
}
///
+ /// Looks up a localized string similar to Er is geen Hydraulische randvoorwaarden database beschikbaar om de toetspeilen te bereken..
+ ///
+ public static string Toetspeil_No_HRD_To_Calculate {
+ get {
+ return ResourceManager.GetString("Toetspeil_No_HRD_To_Calculate", resourceCulture);
+ }
+ }
+
+ ///
/// Looks up a localized string similar to &Valideren.
///
public static string Validate {
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx
===================================================================
diff -u -r4cc73327b5db5355b456dc0c51846213ad0ea566 -rded51ed5be07b08a299605abbeaed5ba70a7f89c
--- Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision 4cc73327b5db5355b456dc0c51846213ad0ea566)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision ded51ed5be07b08a299605abbeaed5ba70a7f89c)
@@ -220,4 +220,7 @@
Database op pad {0} gekoppeld
+
+ Er is geen Hydraulische randvoorwaarden database beschikbaar om de toetspeilen te bereken.
+
\ No newline at end of file
Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs
===================================================================
diff -u -r4cc73327b5db5355b456dc0c51846213ad0ea566 -rded51ed5be07b08a299605abbeaed5ba70a7f89c
--- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision 4cc73327b5db5355b456dc0c51846213ad0ea566)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision ded51ed5be07b08a299605abbeaed5ba70a7f89c)
@@ -377,13 +377,27 @@
RingtoetsCommonFormsResources.HydraulicBoundaryDatabase_Connect_ToolTip,
RingtoetsCommonFormsResources.DatabaseIcon, (sender, args) => { SelectDatabaseFile(nodeData); });
+ var toetsPeilItem = new StrictContextMenuItem(
+ RingtoetsCommonFormsResources.Toetspeil_Calculate,
+ RingtoetsCommonFormsResources.Toetspeil_Calculate_ToolTip,
+ RingtoetsFormsResources.FailureMechanismIcon,
+ null);
+
+ if (string.IsNullOrEmpty(nodeData.BoundaryDatabase.FilePath))
+ {
+ toetsPeilItem.Enabled = false;
+ toetsPeilItem.ToolTipText = RingtoetsCommonFormsResources.Toetspeil_No_HRD_To_Calculate;
+ }
+
return Gui.Get(nodeData, treeViewControl)
.AddOpenItem()
.AddSeparator()
.AddCustomItem(connectionItem)
.AddImportItem()
.AddExportItem()
.AddSeparator()
+ .AddCustomItem(toetsPeilItem)
+ .AddSeparator()
.AddPropertiesItem()
.Build();
}
@@ -427,7 +441,7 @@
ImportSelectedFile(nodeData, hydraulicBoundaryLocationsImporter, selectedFile, newVersion);
}
- private static void ShowCleanDialog(HydraulicBoundaryDatabaseContext nodeData,
+ private static void ShowCleanDialog(HydraulicBoundaryDatabaseContext nodeData,
HydraulicBoundaryLocationsImporter hydraulicBoundaryLocationsImporter,
string filePath,
string version)
@@ -456,7 +470,7 @@
}
}
- private static void ImportSelectedFile(HydraulicBoundaryDatabaseContext nodeData,
+ private static void ImportSelectedFile(HydraulicBoundaryDatabaseContext nodeData,
HydraulicBoundaryLocationsImporter hydraulicBoundaryLocationsImporter,
string selectedFile,
string newVersion)
Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/TreeNodeInfos/HydraulicBoundaryDatabaseContextTreeNodeInfoTest.cs
===================================================================
diff -u -rca282ef689ea9be0eaa4a7bc3c2276b904d2afb8 -rded51ed5be07b08a299605abbeaed5ba70a7f89c
--- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/TreeNodeInfos/HydraulicBoundaryDatabaseContextTreeNodeInfoTest.cs (.../HydraulicBoundaryDatabaseContextTreeNodeInfoTest.cs) (revision ca282ef689ea9be0eaa4a7bc3c2276b904d2afb8)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/TreeNodeInfos/HydraulicBoundaryDatabaseContextTreeNodeInfoTest.cs (.../HydraulicBoundaryDatabaseContextTreeNodeInfoTest.cs) (revision ded51ed5be07b08a299605abbeaed5ba70a7f89c)
@@ -2,6 +2,7 @@
using Core.Common.Controls.TreeView;
using Core.Common.Gui;
using Core.Common.Gui.ContextMenu;
+using Core.Common.Gui.TestUtil.ContextMenu;
using Core.Common.TestUtil;
using NUnit.Extensions.Forms;
using NUnit.Framework;
@@ -11,6 +12,8 @@
using Ringtoets.Integration.Data.HydraulicBoundary;
using Ringtoets.Integration.Forms.Properties;
using Ringtoets.Integration.Plugin;
+using RingtoetsFormsResources = Ringtoets.Integration.Forms.Properties.Resources;
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
namespace Ringtoets.Integration.Forms.Test.TreeNodeInfos
{
@@ -112,6 +115,8 @@
menuBuilderMock.Expect(mb => mb.AddImportItem()).Return(menuBuilderMock);
menuBuilderMock.Expect(mb => mb.AddExportItem()).Return(menuBuilderMock);
menuBuilderMock.Expect(mb => mb.AddSeparator()).Return(menuBuilderMock);
+ menuBuilderMock.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().Return(menuBuilderMock);
+ menuBuilderMock.Expect(mb => mb.AddSeparator()).Return(menuBuilderMock);
menuBuilderMock.Expect(mb => mb.AddPropertiesItem()).Return(menuBuilderMock);
menuBuilderMock.Expect(mb => mb.Build()).Return(null);
@@ -127,5 +132,58 @@
// Assert
mocks.VerifyAll();
}
+
+ [Test]
+ public void ContextMenuStrip_NoHydraulicBoundaryDatabaseSet_ContextMenuItemCalculateToetspeilenDisabled()
+ {
+ // Setup
+ var guiMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
+ var hydraulicBoundaryDatabaseMock = mocks.StrictMock();
+ var assessmentSectionMock = mocks.StrictMock();
+
+ var nodeData = new HydraulicBoundaryDatabaseContext(hydraulicBoundaryDatabaseMock, assessmentSectionMock);
+
+ guiMock.Expect(cmp => cmp.Get(nodeData, treeViewControlMock)).Return(new CustomItemsOnlyContextMenuBuilder());
+
+ mocks.ReplayAll();
+
+ plugin.Gui = guiMock;
+
+ // Call
+ var contextMenu = info.ContextMenuStrip(nodeData, null, treeViewControlMock);
+
+ // Assert
+ mocks.VerifyAll(); // Expect no calls on arguments
+
+ TestHelper.AssertContextMenuStripContainsItem(contextMenu, 3, RingtoetsCommonFormsResources.Toetspeil_Calculate, RingtoetsCommonFormsResources.Toetspeil_No_HRD_To_Calculate, RingtoetsFormsResources.FailureMechanismIcon, false);
+ }
+
+ [Test]
+ public void ContextMenuStrip_HydraulicBoundaryDatabaseSet_ContextMenuItemCalculateToetspeilenEnabled()
+ {
+ // Setup
+ var guiMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
+ var hydraulicBoundaryDatabaseMock = mocks.StrictMock();
+ var assessmentSectionMock = mocks.StrictMock();
+
+ var nodeData = new HydraulicBoundaryDatabaseContext(hydraulicBoundaryDatabaseMock, assessmentSectionMock);
+
+ guiMock.Expect(cmp => cmp.Get(nodeData, treeViewControlMock)).Return(new CustomItemsOnlyContextMenuBuilder());
+
+ mocks.ReplayAll();
+
+ plugin.Gui = guiMock;
+
+ // Call
+ nodeData.BoundaryDatabase.FilePath = testDataPath;
+ var contextMenu = info.ContextMenuStrip(nodeData, null, treeViewControlMock);
+
+ // Assert
+ mocks.VerifyAll(); // Expect no calls on arguments
+
+ TestHelper.AssertContextMenuStripContainsItem(contextMenu, 3, RingtoetsCommonFormsResources.Toetspeil_Calculate, RingtoetsCommonFormsResources.Toetspeil_Calculate_ToolTip, RingtoetsFormsResources.FailureMechanismIcon);
+ }
}
}
\ No newline at end of file
Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationContextTreeNodeInfoTest.cs
===================================================================
diff -u -rf98cc7191a717793f69485dad2923cd34f6d48de -rded51ed5be07b08a299605abbeaed5ba70a7f89c
--- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationContextTreeNodeInfoTest.cs (.../PipingCalculationContextTreeNodeInfoTest.cs) (revision f98cc7191a717793f69485dad2923cd34f6d48de)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationContextTreeNodeInfoTest.cs (.../PipingCalculationContextTreeNodeInfoTest.cs) (revision ded51ed5be07b08a299605abbeaed5ba70a7f89c)
@@ -244,6 +244,7 @@
[Test]
public void ContextMenuStrip_PipingCalculationWithoutOutput_ContextMenuItemClearOutputDisabled()
{
+ // Setup
var gui = mocks.StrictMock();
var treeViewControlMock = mocks.StrictMock();
var calculation = new PipingCalculation();