Index: Core/Common/src/Core.Common.Gui/ContextMenuItemFactory.cs
===================================================================
diff -u
--- Core/Common/src/Core.Common.Gui/ContextMenuItemFactory.cs (revision 0)
+++ Core/Common/src/Core.Common.Gui/ContextMenuItemFactory.cs (revision a85e384df91356b2c2716591531a863e01da876b)
@@ -0,0 +1,44 @@
+using System.Linq;
+using System.Windows.Forms;
+using Core.Common.Gui.Properties;
+
+namespace Core.Common.Gui
+{
+ public class ContextMenuItemFactory
+ {
+ private readonly IGui gui;
+
+ public ContextMenuItemFactory(IGui gui)
+ {
+ this.gui = gui;
+ }
+
+ public ToolStripItem CreateExportItem(object item)
+ {
+ var exporters = gui.ApplicationCore.FileExporters.Where(fe => fe.CanExportFor(item));
+ var newItem = new ToolStripMenuItem(Resources.Export)
+ {
+ ToolTipText = Resources.Export_ToolTip,
+ Image = Resources.ExportIcon
+ };
+
+ newItem.Enabled = exporters.Any();
+
+ return newItem;
+ }
+
+ public ToolStripItem CreateImportItem(object item)
+ {
+ var importers = gui.ApplicationCore.FileImporters.Where(fe => fe.CanImportOn(item));
+ var newItem = new ToolStripMenuItem(Resources.Import)
+ {
+ ToolTipText = Resources.Import_ToolTip,
+ Image = Resources.ImportIcon
+ };
+
+ newItem.Enabled = importers.Any();
+
+ return newItem;
+ }
+ }
+}
\ No newline at end of file
Index: Core/Common/src/Core.Common.Gui/Core.Common.Gui.csproj
===================================================================
diff -u -rb13a656f78f98541b955433ea4074da47b57f8bc -ra85e384df91356b2c2716591531a863e01da876b
--- Core/Common/src/Core.Common.Gui/Core.Common.Gui.csproj (.../Core.Common.Gui.csproj) (revision b13a656f78f98541b955433ea4074da47b57f8bc)
+++ Core/Common/src/Core.Common.Gui/Core.Common.Gui.csproj (.../Core.Common.Gui.csproj) (revision a85e384df91356b2c2716591531a863e01da876b)
@@ -133,6 +133,8 @@
+
+
@@ -361,6 +363,8 @@
Always
+
+
Index: Core/Common/src/Core.Common.Gui/IContextMenuProvider.cs
===================================================================
diff -u
--- Core/Common/src/Core.Common.Gui/IContextMenuProvider.cs (revision 0)
+++ Core/Common/src/Core.Common.Gui/IContextMenuProvider.cs (revision a85e384df91356b2c2716591531a863e01da876b)
@@ -0,0 +1,9 @@
+using System.Windows.Forms;
+
+namespace Core.Common.Gui
+{
+ public interface IContextMenuProvider
+ {
+ ContextMenuStrip Get(object obj);
+ }
+}
\ No newline at end of file
Index: Core/Common/src/Core.Common.Gui/Properties/Resources.Designer.cs
===================================================================
diff -u -rb13a656f78f98541b955433ea4074da47b57f8bc -ra85e384df91356b2c2716591531a863e01da876b
--- Core/Common/src/Core.Common.Gui/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision b13a656f78f98541b955433ea4074da47b57f8bc)
+++ Core/Common/src/Core.Common.Gui/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision a85e384df91356b2c2716591531a863e01da876b)
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:4.0.30319.18063
+// Runtime Version:4.0.30319.34209
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -757,8 +757,36 @@
}
///
+ /// Looks up a localized string similar to &Exporteren....
+ ///
+ public static string Export {
+ get {
+ return ResourceManager.GetString("Export", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Exporteer gegevens naar een bestand..
+ ///
+ public static string Export_ToolTip {
+ get {
+ return ResourceManager.GetString("Export_ToolTip", resourceCulture);
+ }
+ }
+
+ ///
/// Looks up a localized resource of type System.Drawing.Bitmap.
///
+ public static System.Drawing.Bitmap ExportIcon {
+ get {
+ object obj = ResourceManager.GetObject("ExportIcon", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
public static System.Drawing.Bitmap feed {
get {
object obj = ResourceManager.GetObject("feed", resourceCulture);
@@ -1143,8 +1171,36 @@
}
///
+ /// Looks up a localized string similar to &Importeren....
+ ///
+ public static string Import {
+ get {
+ return ResourceManager.GetString("Import", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Importeer gegevens vanuit een bestand..
+ ///
+ public static string Import_ToolTip {
+ get {
+ return ResourceManager.GetString("Import_ToolTip", resourceCulture);
+ }
+ }
+
+ ///
/// Looks up a localized resource of type System.Drawing.Bitmap.
///
+ public static System.Drawing.Bitmap ImportIcon {
+ get {
+ object obj = ResourceManager.GetObject("ImportIcon", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
public static System.Drawing.Bitmap information {
get {
object obj = ResourceManager.GetObject("information", resourceCulture);
Index: Core/Common/src/Core.Common.Gui/Properties/Resources.resx
===================================================================
diff -u -rb13a656f78f98541b955433ea4074da47b57f8bc -ra85e384df91356b2c2716591531a863e01da876b
--- Core/Common/src/Core.Common.Gui/Properties/Resources.resx (.../Resources.resx) (revision b13a656f78f98541b955433ea4074da47b57f8bc)
+++ Core/Common/src/Core.Common.Gui/Properties/Resources.resx (.../Resources.resx) (revision a85e384df91356b2c2716591531a863e01da876b)
@@ -815,4 +815,22 @@
Licentie
+
+ &Exporteren...
+
+
+ Exporteer gegevens naar een bestand.
+
+
+ ..\resources\table-export.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ &Importeren...
+
+
+ ..\resources\table-import.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Importeer gegevens vanuit een bestand.
+
\ No newline at end of file
Index: Core/Common/src/Core.Common.Gui/Resources/table-export.png
===================================================================
diff -u
Binary files differ
Index: Core/Common/src/Core.Common.Gui/Resources/table-import.png
===================================================================
diff -u
Binary files differ
Index: Core/Common/src/Core.Common.Gui/RingtoetsGui.cs
===================================================================
diff -u -rb13a656f78f98541b955433ea4074da47b57f8bc -ra85e384df91356b2c2716591531a863e01da876b
--- Core/Common/src/Core.Common.Gui/RingtoetsGui.cs (.../RingtoetsGui.cs) (revision b13a656f78f98541b955433ea4074da47b57f8bc)
+++ Core/Common/src/Core.Common.Gui/RingtoetsGui.cs (.../RingtoetsGui.cs) (revision a85e384df91356b2c2716591531a863e01da876b)
@@ -32,7 +32,7 @@
///
/// Gui class provides graphical user functionality for a given IApplication.
///
- public class RingtoetsGui : IGui, IDisposable
+ public class RingtoetsGui : IGui, IContextMenuProvider, IDisposable
{
public event EventHandler SelectionChanged; // TODO: make it weak
@@ -61,6 +61,7 @@
private bool runFinished;
private bool isExiting;
private Project project;
+ private ContextMenuItemFactory contextMenuItemFactory;
private bool userSettingsDirty;
private ApplicationSettingsBase userSettings;
@@ -91,6 +92,8 @@
ProjectClosing += ApplicationProjectClosing;
ProjectOpened += ApplicationProjectOpened;
+
+ contextMenuItemFactory = new ContextMenuItemFactory(this);
}
public bool SkipDialogsOnExit { get; set; }
@@ -1060,5 +1063,13 @@
{
Dispose(false);
}
+
+ public ContextMenuStrip Get(object obj)
+ {
+ ContextMenuStrip contextMenu = new ContextMenuStrip();
+ contextMenu.Items.Add(contextMenuItemFactory.CreateImportItem(obj));
+ contextMenu.Items.Add(contextMenuItemFactory.CreateExportItem(obj));
+ return contextMenu;
+ }
}
}
\ No newline at end of file
Index: Core/Common/test/Core.Common.TestUtils/TestHelper.cs
===================================================================
diff -u -r7299ddaaafe53e58adef80f0e05a0576f66e1edf -ra85e384df91356b2c2716591531a863e01da876b
--- Core/Common/test/Core.Common.TestUtils/TestHelper.cs (.../TestHelper.cs) (revision 7299ddaaafe53e58adef80f0e05a0576f66e1edf)
+++ Core/Common/test/Core.Common.TestUtils/TestHelper.cs (.../TestHelper.cs) (revision a85e384df91356b2c2716591531a863e01da876b)
@@ -291,7 +291,7 @@
return;
}
Assert.IsNotNull(actualImage);
-
+
Assert.AreEqual(expectedImage.Size, actualImage.Size);
IEnumerable expectedImageBytes = GetImageAsByteArray(expectedImage);
IEnumerable actualImageBytes = GetImageAsByteArray(actualImage);
@@ -635,7 +635,7 @@
{
using (var stream = new MemoryStream())
{
- expectedImage.Save(stream, ImageFormat.Bmp);
+ expectedImage.Save(stream, expectedImage.RawFormat);
var length = stream.Length;
var imageBytes = new byte[length];
stream.Read(imageBytes, 0, (int)length);
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Extensions/ContextMenuStripExtensions.cs
===================================================================
diff -u -rd3747e8b32bdedc478c8182bce75fba78269d34d -ra85e384df91356b2c2716591531a863e01da876b
--- Ringtoets/Common/src/Ringtoets.Common.Forms/Extensions/ContextMenuStripExtensions.cs (.../ContextMenuStripExtensions.cs) (revision d3747e8b32bdedc478c8182bce75fba78269d34d)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/Extensions/ContextMenuStripExtensions.cs (.../ContextMenuStripExtensions.cs) (revision a85e384df91356b2c2716591531a863e01da876b)
@@ -20,27 +20,52 @@
/// The newly created .
public static ToolStripItem AddMenuItem(this ContextMenuStrip parentMenu, string text, string tooltip, Image icon, EventHandler clickHandler)
{
+ return parentMenu.InsertMenuItem(parentMenu.Items.Count, text, tooltip, icon, clickHandler);
+ }
+
+ ///
+ /// Inserts a new with all standard parameters at the given .
+ ///
+ /// The position in the to add the item to.
+ /// The parent menu to which the new item is added.
+ /// Value for .
+ /// Value for .
+ /// Value for .
+ /// Method to handle the user clicking on the item..
+ /// The newly created .
+ public static ToolStripItem InsertMenuItem(this ContextMenuStrip parentMenu, int position, string text, string tooltip, Image icon, EventHandler clickHandler)
+ {
var newItem = new ToolStripMenuItem(text)
{
ToolTipText = tooltip,
Image = icon
};
newItem.Click += clickHandler;
- parentMenu.Items.Add(newItem);
+ parentMenu.Items.Insert(position,newItem);
return newItem;
}
///
- /// Adds a new with all standard parameters.
+ /// Adds a new .
///
/// The parent menu to which the new item is added.
public static void AddSeperator(this ContextMenuStrip parentMenu)
{
+ parentMenu.InsertSeperator(parentMenu.Items.Count);
+ }
+
+ ///
+ /// Insert a new at the given .
+ ///
+ /// The position in the to add the item to.
+ /// The parent menu to which the new item is added.
+ public static void InsertSeperator(this ContextMenuStrip parentMenu, int position)
+ {
var newItem = new ToolStripSeparator();
- parentMenu.Items.Add(newItem);
+ parentMenu.Items.Insert(position, newItem);
}
}
}
\ No newline at end of file
Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/ContextMenu/FailureMechanismContextMenu.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Ringtoets.Integration.Forms/ContextMenu/FailureMechanismContextMenu.cs (revision 0)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/ContextMenu/FailureMechanismContextMenu.cs (revision a85e384df91356b2c2716591531a863e01da876b)
@@ -0,0 +1,64 @@
+using System.Windows.Forms;
+using Core.Common.Controls;
+using Core.Common.Gui;
+using Ringtoets.Common.Forms.Extensions;
+using Ringtoets.Common.Forms.Properties;
+using Ringtoets.Integration.Data.Placeholders;
+using Ringtoets.Piping.Data;
+
+namespace Ringtoets.Integration.Forms.ContextMenu
+{
+ public class FailureMechanismContextMenu
+ {
+ public static ContextMenuStrip CreateContextMenu(IGuiCommandHandler commandHandler, ITreeView treeView, FailureMechanismPlaceholder item, IContextMenuProvider provider)
+ {
+ ContextMenuStrip contextMenu = provider.Get(item);
+
+ contextMenu.InsertMenuItem(0,
+ Resources.Calculate_all,
+ Resources.Calculate_all_ToolTip,
+ Resources.CalculateAllIcon, null).Enabled = false;
+ contextMenu.InsertMenuItem(1,
+ Resources.Clear_all_output,
+ Resources.Clear_all_output_ToolTip,
+ Resources.ClearIcon, null).Enabled = false;
+ contextMenu.InsertSeperator(2);
+
+ contextMenu.InsertMenuItem(3,
+ Resources.FailureMechanism_Expand_all,
+ Resources.FailureMechanism_Expand_all_ToolTip,
+ Resources.ExpandAllIcon, (s, e) => ExpandAllItemClicked(treeView));
+ contextMenu.InsertMenuItem(4,
+ Resources.FailureMechanism_Collapse_all,
+ Resources.FailureMechanism_Collapse_all_ToolTip,
+ Resources.CollapseAllIcon, (s,e) => CollapseAllItemClicked(treeView));
+ contextMenu.InsertSeperator(5);
+
+ contextMenu.AddSeperator();
+ contextMenu.AddMenuItem(
+ Resources.FailureMechanism_Properties,
+ Resources.FailureMechanism_Properties_ToolTip,
+ Resources.PropertiesIcon, (s, e) => ShowProperties(commandHandler));
+
+ return contextMenu;
+ }
+
+ public static void ShowProperties(IGuiCommandHandler commandHandler)
+ {
+ if (commandHandler != null)
+ {
+ commandHandler.ShowProperties();
+ }
+ }
+
+ public static void CollapseAllItemClicked(ITreeView treeView)
+ {
+ treeView.CollapseAll(treeView.SelectedNode);
+ }
+
+ public static void ExpandAllItemClicked(ITreeView treeView)
+ {
+ treeView.ExpandAll(treeView.SelectedNode);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/ContextMenu/PlaceholderWithReadonlyNameContextMenu.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Ringtoets.Integration.Forms/ContextMenu/PlaceholderWithReadonlyNameContextMenu.cs (revision 0)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/ContextMenu/PlaceholderWithReadonlyNameContextMenu.cs (revision a85e384df91356b2c2716591531a863e01da876b)
@@ -0,0 +1,46 @@
+using System.Windows.Forms;
+using Core.Common.Gui;
+using Ringtoets.Common.Forms.Extensions;
+using Ringtoets.Common.Forms.Properties;
+using Ringtoets.Common.Placeholder;
+
+namespace Ringtoets.Integration.Forms.ContextMenu
+{
+ public class PlaceholderWithReadonlyNameContextMenu
+ {
+ public static ContextMenuStrip CreateContextMenu(PlaceholderWithReadonlyName nodeData, IGuiCommandHandler guiHandler, IContextMenuProvider provider)
+ {
+ ContextMenuStrip contextMenu = provider.Get(nodeData);
+
+ if (nodeData is InputPlaceholder || nodeData is OutputPlaceholder)
+ {
+ contextMenu.InsertMenuItem(0,
+ Resources.FailureMechanism_InputsOutputs_Open,
+ Resources.FailureMechanism_InputsOutputs_Open_ToolTip,
+ Resources.OpenIcon, null).Enabled = false;
+ contextMenu.InsertSeperator(1);
+
+ contextMenu.InsertMenuItem(2,
+ Resources.FailureMechanism_InputsOutputs_Erase,
+ Resources.FailureMechanism_InputsOutputs_Erase_ToolTip,
+ Resources.ClearIcon, null).Enabled = false;
+ contextMenu.InsertSeperator(3);
+
+ contextMenu.AddSeperator();
+ contextMenu.AddMenuItem(
+ Resources.FailureMechanism_Properties,
+ Resources.FailureMechanism_Properties_ToolTip,
+ Resources.PropertiesIcon, (s, e) => ShowProperties(guiHandler));
+ }
+ return contextMenu;
+ }
+
+ private static void ShowProperties(IGuiCommandHandler guiHandler)
+ {
+ if (guiHandler != null)
+ {
+ guiHandler.ShowProperties();
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/NodePresenters/FailureMechanismNodePresenter.cs
===================================================================
diff -u -r7299ddaaafe53e58adef80f0e05a0576f66e1edf -ra85e384df91356b2c2716591531a863e01da876b
--- Ringtoets/Integration/src/Ringtoets.Integration.Forms/NodePresenters/FailureMechanismNodePresenter.cs (.../FailureMechanismNodePresenter.cs) (revision 7299ddaaafe53e58adef80f0e05a0576f66e1edf)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/NodePresenters/FailureMechanismNodePresenter.cs (.../FailureMechanismNodePresenter.cs) (revision a85e384df91356b2c2716591531a863e01da876b)
@@ -1,10 +1,8 @@
-using System;
-using System.Collections;
+using System.Collections;
using System.Drawing;
using System.Windows.Forms;
using Core.Common.Controls;
using Core.Common.Gui;
-using Ringtoets.Common.Forms.Extensions;
using Ringtoets.Common.Forms.NodePresenters;
using Ringtoets.Common.Forms.PresentationObjects;
using Ringtoets.Integration.Data.Placeholders;
@@ -16,11 +14,13 @@
{
public class FailureMechanismNodePresenter : RingtoetsNodePresenterBase
{
- private IGuiCommandHandler guiHandler;
+ private readonly IGuiCommandHandler guiHandler;
+ private readonly IContextMenuProvider contextMenuProvider;
- public FailureMechanismNodePresenter(IGuiCommandHandler guiHandler = null)
+ public FailureMechanismNodePresenter(IContextMenuProvider contextMenuProvider, IGuiCommandHandler guiHandler = null)
{
this.guiHandler = guiHandler;
+ this.contextMenuProvider = contextMenuProvider;
}
protected override void UpdateNode(ITreeNode parentNode, ITreeNode node, FailureMechanismPlaceholder nodeData)
@@ -38,60 +38,11 @@
protected override ContextMenuStrip GetContextMenu(ITreeNode sender, FailureMechanismPlaceholder nodeData)
{
- var contextMenu = new ContextMenuStrip();
+ var contextMenu = ContextMenu.FailureMechanismContextMenu.CreateContextMenu(guiHandler, TreeView, nodeData, contextMenuProvider);
- contextMenu.AddMenuItem(
- RingtoetsCommonFormsResources.Calculate_all,
- RingtoetsCommonFormsResources.Calculate_all_ToolTip,
- RingtoetsCommonFormsResources.CalculateAllIcon, null).Enabled = false;
- contextMenu.AddMenuItem(
- RingtoetsCommonFormsResources.Clear_all_output,
- RingtoetsCommonFormsResources.Clear_all_output_ToolTip,
- RingtoetsCommonFormsResources.ClearIcon, null).Enabled = false;
- contextMenu.AddSeperator();
-
- contextMenu.AddMenuItem(
- RingtoetsCommonFormsResources.FailureMechanism_Expand_all,
- RingtoetsCommonFormsResources.FailureMechanism_Expand_all_ToolTip,
- RingtoetsCommonFormsResources.ExpandAllIcon, ExpandAllItemClicked);
- contextMenu.AddMenuItem(
- RingtoetsCommonFormsResources.FailureMechanism_Collapse_all,
- RingtoetsCommonFormsResources.FailureMechanism_Collapse_all_ToolTip,
- RingtoetsCommonFormsResources.CollapseAllIcon, CollapseAllItemClicked);
- contextMenu.AddSeperator();
-
- contextMenu.AddMenuItem(
- RingtoetsCommonFormsResources.FailureMechanism_Export,
- RingtoetsCommonFormsResources.FailureMechanism_Export_ToolTip,
- RingtoetsCommonFormsResources.ExportIcon, null).Enabled = false;
- contextMenu.AddSeperator();
-
- contextMenu.AddMenuItem(
- RingtoetsCommonFormsResources.FailureMechanism_Properties,
- RingtoetsCommonFormsResources.FailureMechanism_Properties_ToolTip,
- RingtoetsCommonFormsResources.PropertiesIcon, PropertiesItemClicked);
-
return contextMenu;
}
- private void PropertiesItemClicked(object sender, EventArgs eventArgs)
- {
- if (guiHandler != null)
- {
- guiHandler.ShowProperties();
- }
- }
-
- private void CollapseAllItemClicked(object sender, EventArgs eventArgs)
- {
- TreeView.CollapseAll(TreeView.SelectedNode);
- }
-
- private void ExpandAllItemClicked(object sender, EventArgs eventArgs)
- {
- TreeView.ExpandAll(TreeView.SelectedNode);
- }
-
private IEnumerable GetInputs(FailureMechanismPlaceholder nodeData)
{
yield return nodeData.SectionDivisions;
Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/NodePresenters/PlaceholderWithReadonlyNameNodePresenter.cs
===================================================================
diff -u -r7299ddaaafe53e58adef80f0e05a0576f66e1edf -ra85e384df91356b2c2716591531a863e01da876b
--- Ringtoets/Integration/src/Ringtoets.Integration.Forms/NodePresenters/PlaceholderWithReadonlyNameNodePresenter.cs (.../PlaceholderWithReadonlyNameNodePresenter.cs) (revision 7299ddaaafe53e58adef80f0e05a0576f66e1edf)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/NodePresenters/PlaceholderWithReadonlyNameNodePresenter.cs (.../PlaceholderWithReadonlyNameNodePresenter.cs) (revision a85e384df91356b2c2716591531a863e01da876b)
@@ -1,11 +1,10 @@
-using System;
-using System.Drawing;
+using System.Drawing;
using System.Windows.Forms;
using Core.Common.Controls;
using Core.Common.Gui;
-using Ringtoets.Common.Forms.Extensions;
using Ringtoets.Common.Forms.NodePresenters;
using Ringtoets.Common.Placeholder;
+using Ringtoets.Integration.Forms.ContextMenu;
using Ringtoets.Integration.Forms.Properties;
using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
@@ -18,10 +17,12 @@
public class PlaceholderWithReadonlyNameNodePresenter : RingtoetsNodePresenterBase
{
private IGuiCommandHandler guiHandler;
+ private IContextMenuProvider contextMenuProvider;
- public PlaceholderWithReadonlyNameNodePresenter(IGuiCommandHandler guiHandler = null)
+ public PlaceholderWithReadonlyNameNodePresenter(IContextMenuProvider contextMenuProvider, IGuiCommandHandler guiHandler = null)
{
this.guiHandler = guiHandler;
+ this.contextMenuProvider = contextMenuProvider;
}
protected override void UpdateNode(ITreeNode parentNode, ITreeNode node, PlaceholderWithReadonlyName nodeData)
@@ -42,53 +43,7 @@
protected override ContextMenuStrip GetContextMenu(ITreeNode sender, PlaceholderWithReadonlyName nodeData)
{
- var contextMenu = new ContextMenuStrip();
-
- if (nodeData is InputPlaceholder || nodeData is OutputPlaceholder)
- {
- contextMenu.AddMenuItem(
- RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Open,
- RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Open_ToolTip,
- RingtoetsCommonFormsResources.OpenIcon, null).Enabled = false;
- contextMenu.AddSeperator();
-
- contextMenu.AddMenuItem(
- RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Erase,
- RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Erase_ToolTip,
- RingtoetsCommonFormsResources.ClearIcon, null).Enabled = false;
- contextMenu.AddSeperator();
- }
-
- if (nodeData is InputPlaceholder)
- {
- contextMenu.AddMenuItem(
- RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Import,
- RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Import_ToolTip,
- RingtoetsCommonFormsResources.ImportIcon, null).Enabled = false;
- }
-
- if (nodeData is InputPlaceholder || nodeData is OutputPlaceholder)
- {
- contextMenu.AddMenuItem(
- RingtoetsCommonFormsResources.FailureMechanism_Export,
- RingtoetsCommonFormsResources.FailureMechanism_Export_ToolTip,
- RingtoetsCommonFormsResources.ExportIcon, null).Enabled = false;
- contextMenu.AddSeperator();
-
- contextMenu.AddMenuItem(
- RingtoetsCommonFormsResources.FailureMechanism_Properties,
- RingtoetsCommonFormsResources.FailureMechanism_Properties_ToolTip,
- RingtoetsCommonFormsResources.PropertiesIcon, PropertiesItemClicked);
- }
- return contextMenu;
+ return PlaceholderWithReadonlyNameContextMenu.CreateContextMenu(nodeData, guiHandler, contextMenuProvider);
}
-
- private void PropertiesItemClicked(object sender, EventArgs eventArgs)
- {
- if (guiHandler != null)
- {
- guiHandler.ShowProperties();
- }
- }
}
}
\ No newline at end of file
Index: Ringtoets/Integration/src/Ringtoets.Integration.Forms/Ringtoets.Integration.Forms.csproj
===================================================================
diff -u -r6819809d62f8609b8311b58dfef1b6ddef5701fe -ra85e384df91356b2c2716591531a863e01da876b
--- Ringtoets/Integration/src/Ringtoets.Integration.Forms/Ringtoets.Integration.Forms.csproj (.../Ringtoets.Integration.Forms.csproj) (revision 6819809d62f8609b8311b58dfef1b6ddef5701fe)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Forms/Ringtoets.Integration.Forms.csproj (.../Ringtoets.Integration.Forms.csproj) (revision a85e384df91356b2c2716591531a863e01da876b)
@@ -49,6 +49,8 @@
Properties\GlobalAssembly.cs
+
+
Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs
===================================================================
diff -u -rfc37d02640f08334ab1ddce79ceca36c2f0cff17 -ra85e384df91356b2c2716591531a863e01da876b
--- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision fc37d02640f08334ab1ddce79ceca36c2f0cff17)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision a85e384df91356b2c2716591531a863e01da876b)
@@ -32,8 +32,8 @@
public override IEnumerable GetProjectTreeViewNodePresenters()
{
yield return new AssessmentSectionBaseNodePresenter();
- yield return new FailureMechanismNodePresenter(Gui.CommandHandler);
- yield return new PlaceholderWithReadonlyNameNodePresenter(Gui.CommandHandler);
+ yield return new FailureMechanismNodePresenter((IContextMenuProvider)Gui, Gui.CommandHandler);
+ yield return new PlaceholderWithReadonlyNameNodePresenter((IContextMenuProvider)Gui, Gui.CommandHandler);
yield return new CategoryTreeFolderNodePresenter();
}
}
Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/NodePresenters/FailureMechanismNodePresenterTest.cs
===================================================================
diff -u -r7299ddaaafe53e58adef80f0e05a0576f66e1edf -ra85e384df91356b2c2716591531a863e01da876b
--- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/NodePresenters/FailureMechanismNodePresenterTest.cs (.../FailureMechanismNodePresenterTest.cs) (revision 7299ddaaafe53e58adef80f0e05a0576f66e1edf)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/NodePresenters/FailureMechanismNodePresenterTest.cs (.../FailureMechanismNodePresenterTest.cs) (revision a85e384df91356b2c2716591531a863e01da876b)
@@ -16,17 +16,27 @@
using RingtoetsFormsResources = Ringtoets.Integration.Forms.Properties.Resources;
using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+using CommonResources = Core.Common.Gui.Properties.Resources;
namespace Ringtoets.Integration.Forms.Test.NodePresenters
{
[TestFixture]
public class FailureMechanismNodePresenterTest
{
+ private MockRepository mocks;
+
+ [SetUp]
+ public void SetUp()
+ {
+ mocks = new MockRepository();
+ }
+
[Test]
public void DefaultConstructor_ExpectedValues()
{
// Call
- var nodePresenter = new FailureMechanismNodePresenter();
+ var contextMenuProvider = mocks.StrictMock();
+ var nodePresenter = new FailureMechanismNodePresenter(contextMenuProvider);
// Assert
Assert.IsInstanceOf>(nodePresenter);
@@ -36,14 +46,14 @@
public void UpdateNode_ValidOutputPlaceholderData_UpdateTreeNode()
{
// Setup
- var mocks = new MockRepository();
+ var contextMenuProvider = mocks.StrictMock();
var parentNode = mocks.StrictMock();
var nodeToUpdate = mocks.Stub();
mocks.ReplayAll();
var dataObject = new FailureMechanismPlaceholder("test");
- var nodePresenter = new FailureMechanismNodePresenter();
+ var nodePresenter = new FailureMechanismNodePresenter(contextMenuProvider);
// Call
nodePresenter.UpdateNode(parentNode, nodeToUpdate, dataObject);
@@ -59,7 +69,8 @@
public void CanRenameNode_Always_ReturnFalse()
{
// Setup
- var nodePresenter = new FailureMechanismNodePresenter();
+ var contextMenuProvider = mocks.StrictMock();
+ var nodePresenter = new FailureMechanismNodePresenter(contextMenuProvider);
// Call
bool isRenamingAllowed = nodePresenter.CanRenameNode(null);
@@ -72,7 +83,8 @@
public void CanRenameTo_Always_ReturnFalse()
{
// Setup
- var nodePresenter = new FailureMechanismNodePresenter();
+ var contextMenuProvider = mocks.StrictMock();
+ var nodePresenter = new FailureMechanismNodePresenter(contextMenuProvider);
// Call
bool isRenamingAllowed = nodePresenter.CanRenameNodeTo(null, null);
@@ -85,7 +97,8 @@
public void CanRemove_Always_ReturnFalse()
{
// Setup
- var nodePresenter = new FailureMechanismNodePresenter();
+ var contextMenuProvider = mocks.StrictMock();
+ var nodePresenter = new FailureMechanismNodePresenter(contextMenuProvider);
// Call
bool isRemovalAllowed = nodePresenter.CanRemove(null, null);
@@ -98,7 +111,8 @@
public void GetChildNodeObjects_Always_ReturnInputAndOutput()
{
// Setup
- var nodePresenter = new FailureMechanismNodePresenter();
+ var contextMenuProvider = mocks.StrictMock();
+ var nodePresenter = new FailureMechanismNodePresenter(contextMenuProvider);
var failureMechanism = new FailureMechanismPlaceholder("test");
// Call
@@ -126,43 +140,49 @@
public void GetContextMenu_Always_ReturnsContextMenuWithItems()
{
// Setup
- var mocks = new MockRepository();
var nodeMock = mocks.StrictMock();
+ var contextMenuProvider = mocks.StrictMock();
+ contextMenuProvider.Expect(cmp => cmp.Get(new object())).IgnoreArguments().Return(new ContextMenuStrip());
- var nodePresenter = new FailureMechanismNodePresenter();
+ var nodePresenter = new FailureMechanismNodePresenter(contextMenuProvider);
var failureMechanism = new FailureMechanismPlaceholder("test");
+ mocks.ReplayAll();
+
// Call
var menu = nodePresenter.GetContextMenu(nodeMock, failureMechanism);
// Assert
- Assert.AreEqual(9, menu.Items.Count);
+ Assert.AreEqual(8, menu.Items.Count);
TestHelper.AssertContextMenuStripContainsItem(menu, 0, RingtoetsCommonFormsResources.Calculate_all, RingtoetsCommonFormsResources.Calculate_all_ToolTip, RingtoetsCommonFormsResources.CalculateAllIcon, false);
TestHelper.AssertContextMenuStripContainsItem(menu, 1, RingtoetsCommonFormsResources.Clear_all_output, RingtoetsCommonFormsResources.Clear_all_output_ToolTip, RingtoetsCommonFormsResources.ClearIcon, false);
TestHelper.AssertContextMenuStripContainsItem(menu, 3, RingtoetsCommonFormsResources.FailureMechanism_Expand_all, RingtoetsCommonFormsResources.FailureMechanism_Expand_all_ToolTip, RingtoetsCommonFormsResources.ExpandAllIcon);
TestHelper.AssertContextMenuStripContainsItem(menu, 4, RingtoetsCommonFormsResources.FailureMechanism_Collapse_all, RingtoetsCommonFormsResources.FailureMechanism_Collapse_all_ToolTip, RingtoetsCommonFormsResources.CollapseAllIcon);
- TestHelper.AssertContextMenuStripContainsItem(menu, 6, RingtoetsCommonFormsResources.FailureMechanism_Export, RingtoetsCommonFormsResources.FailureMechanism_Export_ToolTip, RingtoetsCommonFormsResources.ExportIcon, false);
- TestHelper.AssertContextMenuStripContainsItem(menu, 8, RingtoetsCommonFormsResources.FailureMechanism_Properties, RingtoetsCommonFormsResources.FailureMechanism_Properties_ToolTip, RingtoetsCommonFormsResources.PropertiesIcon);
+ TestHelper.AssertContextMenuStripContainsItem(menu, 7, RingtoetsCommonFormsResources.FailureMechanism_Properties, RingtoetsCommonFormsResources.FailureMechanism_Properties_ToolTip, RingtoetsCommonFormsResources.PropertiesIcon);
- CollectionAssert.AllItemsAreInstancesOfType(new []{menu.Items[2], menu.Items[5],menu.Items[7]}, typeof(ToolStripSeparator));
+ CollectionAssert.AllItemsAreInstancesOfType(new []{menu.Items[2], menu.Items[5],menu.Items[6]}, typeof(ToolStripSeparator));
+
+ mocks.VerifyAll();
}
[Test]
public void GetContextMenu_ShowPropertiesClickedWithHandler_CallsShowProperties()
{
// Setup
- var mocks = new MockRepository();
var nodeMock = mocks.StrictMock();
+ var contextMenuProvider = mocks.StrictMock();
+ contextMenuProvider.Expect(cmp => cmp.Get(new object())).IgnoreArguments().Return(new ContextMenuStrip());
+
var commandHandlerMock = mocks.StrictMock();
commandHandlerMock.Expect(ch => ch.ShowProperties());
- var nodePresenter = new FailureMechanismNodePresenter(commandHandlerMock);
+ var nodePresenter = new FailureMechanismNodePresenter(contextMenuProvider, commandHandlerMock);
var failureMechanism = new FailureMechanismPlaceholder("test");
mocks.ReplayAll();
- var showPropertiesMenuItem = nodePresenter.GetContextMenu(nodeMock, failureMechanism).Items[8];
+ var showPropertiesMenuItem = nodePresenter.GetContextMenu(nodeMock, failureMechanism).Items[7];
// Call
showPropertiesMenuItem.PerformClick();
@@ -175,16 +195,21 @@
public void GetContextMenu_ShowPropertiesClickedWithoutHandler_NoExceptions()
{
// Setup
- var mocks = new MockRepository();
var nodeMock = mocks.StrictMock();
+ var contextMenuProvider = mocks.StrictMock();
+ contextMenuProvider.Expect(cmp => cmp.Get(new object())).IgnoreArguments().Return(new ContextMenuStrip());
- var nodePresenter = new FailureMechanismNodePresenter();
+ var nodePresenter = new FailureMechanismNodePresenter(contextMenuProvider);
var failureMechanism = new FailureMechanismPlaceholder("test");
- var showPropertiesMenuItem = nodePresenter.GetContextMenu(nodeMock, failureMechanism).Items[8];
+ mocks.ReplayAll();
+ var showPropertiesMenuItem = nodePresenter.GetContextMenu(nodeMock, failureMechanism).Items[7];
+
// Call & Assert
showPropertiesMenuItem.PerformClick();
+
+ mocks.VerifyAll();
}
}
}
\ No newline at end of file
Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/NodePresenters/PlaceholderWithReadonlyNameNodePresenterTest.cs
===================================================================
diff -u -r7299ddaaafe53e58adef80f0e05a0576f66e1edf -ra85e384df91356b2c2716591531a863e01da876b
--- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/NodePresenters/PlaceholderWithReadonlyNameNodePresenterTest.cs (.../PlaceholderWithReadonlyNameNodePresenterTest.cs) (revision 7299ddaaafe53e58adef80f0e05a0576f66e1edf)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/NodePresenters/PlaceholderWithReadonlyNameNodePresenterTest.cs (.../PlaceholderWithReadonlyNameNodePresenterTest.cs) (revision a85e384df91356b2c2716591531a863e01da876b)
@@ -21,11 +21,22 @@
[TestFixture]
public class PlaceholderWithReadonlyNameNodePresenterTest
{
+ private MockRepository mocks;
+
+ [SetUp]
+ public void SetUp()
+ {
+ mocks = new MockRepository();
+ }
+
[Test]
public void DefaultConstructor_ExpectedValues()
{
+ // Setup
+ var contextMenuProvider = mocks.StrictMock();
+
// Call
- var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter();
+ var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter(contextMenuProvider);
// Assert
Assert.IsInstanceOf>(nodePresenter);
@@ -35,14 +46,14 @@
public void UpdateNode_ValidNodeData_UpdateTreeNode()
{
// Setup
- var mocks = new MockRepository();
+ var contextMenuProvider = mocks.StrictMock();
var parentNode = mocks.StrictMock();
var nodeToUpdate = mocks.Stub();
mocks.ReplayAll();
var dataObject = new PlaceholderWithReadonlyName("test");
- var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter();
+ var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter(contextMenuProvider);
// Call
nodePresenter.UpdateNode(parentNode, nodeToUpdate, dataObject);
@@ -58,14 +69,14 @@
public void UpdateNode_ValidInputPlaceholderData_UpdateTreeNode()
{
// Setup
- var mocks = new MockRepository();
+ var contextMenuProvider = mocks.StrictMock();
var parentNode = mocks.StrictMock();
var nodeToUpdate = mocks.Stub();
mocks.ReplayAll();
var dataObject = new InputPlaceholder("test");
- var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter();
+ var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter(contextMenuProvider);
// Call
nodePresenter.UpdateNode(parentNode, nodeToUpdate, dataObject);
@@ -81,14 +92,14 @@
public void UpdateNode_ValidOutputPlaceholderData_UpdateTreeNode()
{
// Setup
- var mocks = new MockRepository();
+ var contextMenuProvider = mocks.StrictMock();
var parentNode = mocks.StrictMock();
var nodeToUpdate = mocks.Stub();
mocks.ReplayAll();
var dataObject = new OutputPlaceholder("test");
- var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter();
+ var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter(contextMenuProvider);
// Call
nodePresenter.UpdateNode(parentNode, nodeToUpdate, dataObject);
@@ -104,7 +115,8 @@
public void CanRenameNode_Always_ReturnFalse()
{
// Setup
- var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter();
+ var contextMenuProvider = mocks.StrictMock();
+ var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter(contextMenuProvider);
// Call
bool isRenamingAllowed = nodePresenter.CanRenameNode(null);
@@ -117,7 +129,8 @@
public void CanRenamceTo_Always_ReturnFalse()
{
// Setup
- var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter();
+ var contextMenuProvider = mocks.StrictMock();
+ var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter(contextMenuProvider);
// Call
bool isRenamingAllowed = nodePresenter.CanRenameNodeTo(null, null);
@@ -130,7 +143,8 @@
public void CanRemove_Always_ReturnFalse()
{
// Setup
- var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter();
+ var contextMenuProvider = mocks.StrictMock();
+ var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter(contextMenuProvider);
// Call
bool isRemovalAllowed = nodePresenter.CanRemove(null, null);
@@ -143,7 +157,8 @@
public void GetChildNodeObjects_Always_ReturnEmptyEnumerable()
{
// Setup
- var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter();
+ var contextMenuProvider = mocks.StrictMock();
+ var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter(contextMenuProvider);
// Call
IEnumerable children = nodePresenter.GetChildNodeObjects(null, null);
@@ -156,83 +171,97 @@
public void GetContextMenu_PlaceholderWithReadonlyName_ReturnsContextMenuWithItems()
{
// Setup
- var mocks = new MockRepository();
var nodeMock = mocks.StrictMock();
+ var contextMenuProvider = mocks.StrictMock();
+ contextMenuProvider.Expect(cmp => cmp.Get(new object())).IgnoreArguments().Return(new ContextMenuStrip());
- var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter();
+ mocks.ReplayAll();
+
+ var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter(contextMenuProvider);
var placeholderData = new PlaceholderWithReadonlyName("test");
// Call
var menu = nodePresenter.GetContextMenu(nodeMock, placeholderData);
// Assert
Assert.AreEqual(0, menu.Items.Count);
+
+ mocks.VerifyAll();
}
[Test]
public void GetContextMenu_InputPlaceHolder_ReturnsContextMenuWithItems()
{
// Setup
- var mocks = new MockRepository();
var nodeMock = mocks.StrictMock();
+ var contextMenuProvider = mocks.StrictMock();
+ contextMenuProvider.Expect(cmp => cmp.Get(new object())).IgnoreArguments().Return(new ContextMenuStrip());
- var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter();
+ var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter(contextMenuProvider);
var placeholderData = new InputPlaceholder("test");
+ mocks.ReplayAll();
+
// Call
var menu = nodePresenter.GetContextMenu(nodeMock, placeholderData);
// Assert
- Assert.AreEqual(8, menu.Items.Count);
+ Assert.AreEqual(6, menu.Items.Count);
TestHelper.AssertContextMenuStripContainsItem(menu, 0, RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Open, RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Open_ToolTip, RingtoetsCommonFormsResources.OpenIcon, false);
TestHelper.AssertContextMenuStripContainsItem(menu, 2, RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Erase, RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Erase_ToolTip, RingtoetsCommonFormsResources.ClearIcon, false);
- TestHelper.AssertContextMenuStripContainsItem(menu, 4, RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Import, RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Import_ToolTip, RingtoetsCommonFormsResources.ImportIcon, false);
- TestHelper.AssertContextMenuStripContainsItem(menu, 5, RingtoetsCommonFormsResources.FailureMechanism_Export, RingtoetsCommonFormsResources.FailureMechanism_Export_ToolTip, RingtoetsCommonFormsResources.ExportIcon, false);
- TestHelper.AssertContextMenuStripContainsItem(menu, 7, RingtoetsCommonFormsResources.FailureMechanism_Properties, RingtoetsCommonFormsResources.FailureMechanism_Properties_ToolTip, RingtoetsCommonFormsResources.PropertiesIcon);
+ TestHelper.AssertContextMenuStripContainsItem(menu, 5, RingtoetsCommonFormsResources.FailureMechanism_Properties, RingtoetsCommonFormsResources.FailureMechanism_Properties_ToolTip, RingtoetsCommonFormsResources.PropertiesIcon);
- CollectionAssert.AllItemsAreInstancesOfType(new[] { menu.Items[1], menu.Items[3], menu.Items[6] }, typeof(ToolStripSeparator));
+ CollectionAssert.AllItemsAreInstancesOfType(new[] { menu.Items[1], menu.Items[3], menu.Items[4] }, typeof(ToolStripSeparator));
+
+ mocks.VerifyAll();
}
[Test]
public void GetContextMenu_OutputPlaceHolder_ReturnsContextMenuWithItems()
{
// Setup
- var mocks = new MockRepository();
var nodeMock = mocks.StrictMock();
+ var contextMenuProvider = mocks.StrictMock();
+ contextMenuProvider.Expect(cmp => cmp.Get(new object())).IgnoreArguments().Return(new ContextMenuStrip());
- var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter();
+ var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter(contextMenuProvider);
var placeholderData = new OutputPlaceholder("test");
+ mocks.ReplayAll();
+
// Call
var menu = nodePresenter.GetContextMenu(nodeMock, placeholderData);
// Assert
- Assert.AreEqual(7, menu.Items.Count);
+ Assert.AreEqual(6, menu.Items.Count);
TestHelper.AssertContextMenuStripContainsItem(menu, 0, RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Open, RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Open_ToolTip, RingtoetsCommonFormsResources.OpenIcon, false);
TestHelper.AssertContextMenuStripContainsItem(menu, 2, RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Erase, RingtoetsCommonFormsResources.FailureMechanism_InputsOutputs_Erase_ToolTip, RingtoetsCommonFormsResources.ClearIcon, false);
- TestHelper.AssertContextMenuStripContainsItem(menu, 4, RingtoetsCommonFormsResources.FailureMechanism_Export, RingtoetsCommonFormsResources.FailureMechanism_Export_ToolTip, RingtoetsCommonFormsResources.ExportIcon, false);
- TestHelper.AssertContextMenuStripContainsItem(menu, 6, RingtoetsCommonFormsResources.FailureMechanism_Properties, RingtoetsCommonFormsResources.FailureMechanism_Properties_ToolTip, RingtoetsCommonFormsResources.PropertiesIcon);
+ TestHelper.AssertContextMenuStripContainsItem(menu, 5, RingtoetsCommonFormsResources.FailureMechanism_Properties, RingtoetsCommonFormsResources.FailureMechanism_Properties_ToolTip, RingtoetsCommonFormsResources.PropertiesIcon);
- CollectionAssert.AllItemsAreInstancesOfType(new[] { menu.Items[1], menu.Items[3], menu.Items[5] }, typeof(ToolStripSeparator));
+ CollectionAssert.AllItemsAreInstancesOfType(new[] { menu.Items[1], menu.Items[3], menu.Items[4] }, typeof(ToolStripSeparator));
+
+ mocks.VerifyAll();
}
[Test]
public void GetContextMenu_OutputPlaceholderShowPropertiesClickedWithHandler_CallsShowProperties()
{
// Setup
- var mocks = new MockRepository();
var nodeMock = mocks.StrictMock();
var commandHandlerMock = mocks.StrictMock();
+ var contextMenuProvider = mocks.StrictMock();
+
commandHandlerMock.Expect(ch => ch.ShowProperties());
+ contextMenuProvider.Expect(cmp => cmp.Get(new object())).IgnoreArguments().Return(new ContextMenuStrip());
- var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter(commandHandlerMock);
+ var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter(contextMenuProvider, commandHandlerMock);
var placeholderData = new OutputPlaceholder("test");
mocks.ReplayAll();
- var showPropertiesMenuItem = nodePresenter.GetContextMenu(nodeMock, placeholderData).Items[6];
+ var showPropertiesMenuItem = nodePresenter.GetContextMenu(nodeMock, placeholderData).Items[5];
// Call
showPropertiesMenuItem.PerformClick();
@@ -245,16 +274,22 @@
public void GetContextMenu_OutputPlaceholderShowPropertiesClickedWithoutHandler_NoExceptions()
{
// Setup
- var mocks = new MockRepository();
var nodeMock = mocks.StrictMock();
+ var contextMenuProvider = mocks.StrictMock();
- var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter();
+ contextMenuProvider.Expect(cmp => cmp.Get(new object())).IgnoreArguments().Return(new ContextMenuStrip());
+
+ var nodePresenter = new PlaceholderWithReadonlyNameNodePresenter(contextMenuProvider);
var placeholderData = new OutputPlaceholder("test");
- var showPropertiesMenuItem = nodePresenter.GetContextMenu(nodeMock, placeholderData).Items[6];
+ mocks.ReplayAll();
+ var showPropertiesMenuItem = nodePresenter.GetContextMenu(nodeMock, placeholderData).Items[5];
+
// Call & Assert
showPropertiesMenuItem.PerformClick();
+
+ mocks.VerifyAll();
}
}
}
\ No newline at end of file
Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsGuiPluginTest.cs
===================================================================
diff -u -r161a620dbf1cc69c7d860cc123c66419c207236e -ra85e384df91356b2c2716591531a863e01da876b
--- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsGuiPluginTest.cs (.../RingtoetsGuiPluginTest.cs) (revision 161a620dbf1cc69c7d860cc123c66419c207236e)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/RingtoetsGuiPluginTest.cs (.../RingtoetsGuiPluginTest.cs) (revision a85e384df91356b2c2716591531a863e01da876b)
@@ -54,8 +54,8 @@
// setup
var mocks = new MockRepository();
- var guiStub = mocks.Stub();
- guiStub.CommandHandler = mocks.Stub();
+ var guiStub = mocks.DynamicMultiMock(typeof(IGui), typeof(IContextMenuProvider));
+ guiStub.Expect(gs => gs.CommandHandler).Return(mocks.Stub()).Repeat.Twice();
mocks.ReplayAll();