Index: Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Plugin.Test/TreeNodeInfos/StabilityStoneCoverWaveConditionsCalculationGroupContextTreeNodeInfoTest.cs =================================================================== diff -u -r94f2ec1496623ae488b567f883e66b4d26243441 -re7238c36a2ce066d7dd6c1e5e195924f0ef96bc8 --- Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Plugin.Test/TreeNodeInfos/StabilityStoneCoverWaveConditionsCalculationGroupContextTreeNodeInfoTest.cs (.../StabilityStoneCoverWaveConditionsCalculationGroupContextTreeNodeInfoTest.cs) (revision 94f2ec1496623ae488b567f883e66b4d26243441) +++ Ringtoets/StabilityStoneCover/test/Ringtoets.StabilityStoneCover.Plugin.Test/TreeNodeInfos/StabilityStoneCoverWaveConditionsCalculationGroupContextTreeNodeInfoTest.cs (.../StabilityStoneCoverWaveConditionsCalculationGroupContextTreeNodeInfoTest.cs) (revision e7238c36a2ce066d7dd6c1e5e195924f0ef96bc8) @@ -54,26 +54,26 @@ [TestFixture] public class StabilityStoneCoverWaveConditionsCalculationGroupContextTreeNodeInfoTest : NUnitFormTest { - private const int contextMenuImportConfigurationIndex = 0; - private const int contextMenuExportConfigurationIndex = 1; - private const int contextMenuAddGenerateCalculationsIndex = 3; private const int contextMenuAddCalculationGroupIndexRootGroup = 5; private const int contextMenuAddCalculationIndexRootGroup = 6; - private const int contextMenuValidateAllIndexRootGroup = 8; - private const int contextMenuCalculateAllIndexRootGroup = 9; - private const int contextMenuClearOutputIndexRootGroup = 11; - private const int contextMenuRemoveAllChildrenIndexRootGroup = 12; - private const int contextMenuCollapseAllIndexRootGroup = 14; - private const int contextMenuExpandAllIndexRootGroup = 15; - private const int contextMenuPropertiesIndexRootGroup = 17; + private const int contextMenuUpdateForeshoreProfileIndexRootGroup = 8; + private const int contextMenuValidateAllIndexRootGroup = 10; + private const int contextMenuCalculateAllIndexRootGroup = 11; + private const int contextMenuClearOutputIndexRootGroup = 13; + private const int contextMenuRemoveAllChildrenIndexRootGroup = 14; + private const int contextMenuCollapseAllIndexRootGroup = 16; + private const int contextMenuExpandAllIndexRootGroup = 17; + private const int contextMenuPropertiesIndexRootGroup = 19; private const int contextMenuAddCalculationGroupIndexNestedGroup = 3; private const int contextMenuAddCalculationIndexNestedGroup = 4; - private const int contextMenuValidateAllIndexNestedGroup = 8; - private const int contextMenuCalculateAllIndexNestedGroup = 9; - private const int contextMenuClearOutputIndexNestedGroup = 11; + private const int contextMenuUpdateForeshoreProfileIndexNestedGroup = 7; + private const int contextMenuValidateAllIndexNestedGroup = 9; + private const int contextMenuCalculateAllIndexNestedGroup = 10; + private const int contextMenuClearOutputIndexNestedGroup = 12; + private IGui gui; private MockRepository mocks; private StabilityStoneCoverPlugin plugin; private TreeNodeInfo info; @@ -82,7 +82,11 @@ public void SetUp() { mocks = new MockRepository(); - plugin = new StabilityStoneCoverPlugin(); + gui = mocks.Stub(); + plugin = new StabilityStoneCoverPlugin + { + Gui = gui + }; info = plugin.GetTreeNodeInfos().First(tni => tni.TagType == typeof(StabilityStoneCoverWaveConditionsCalculationGroupContext)); } @@ -209,126 +213,233 @@ } [Test] - public void ContextMenuStrip_NestedCalculationGroup_ReturnContextMenuWithItems() + public void ContextMenuStrip_WithoutParentNodeDefaultBehavior_CallsContextMenuBuilderMethods() { // Setup var group = new CalculationGroup(); - var failureMechanism = new StabilityStoneCoverFailureMechanism(); - failureMechanism.WaveConditionsCalculationGroup.Children.Add(group); + var assessmentSection = mocks.Stub(); + var groupContext = new StabilityStoneCoverWaveConditionsCalculationGroupContext(group, + failureMechanism, + assessmentSection); + var menuBuilderMock = mocks.StrictMock(); + using (mocks.Ordered()) + { + 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.AddCustomItem(null)).IgnoreArguments().Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().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.AddCustomItem(null)).IgnoreArguments().Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddSeparator()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddDeleteChildrenItem()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddSeparator()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddCollapseAllItem()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddExpandAllItem()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddSeparator()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddPropertiesItem()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.Build()).Return(null); + } + + using (var treeViewControl = new TreeViewControl()) + { + gui.Stub(g => g.Get(groupContext, treeViewControl)).Return(menuBuilderMock); + gui.Stub(g => g.ViewCommands).Return(mocks.Stub()); + gui.Stub(g => g.MainWindow).Return(mocks.Stub()); + mocks.ReplayAll(); + + // Call + info.ContextMenuStrip(groupContext, null, treeViewControl); + } + // Assert + // Assert expectancies called in TearDown() + } + + [Test] + public void ContextMenuStrip_WithoutParentNodeDefaultBehavior_AddCustomItems() + { + // Setup + var group = new CalculationGroup(); + var failureMechanism = new StabilityStoneCoverFailureMechanism(); var assessmentSection = mocks.Stub(); + var groupContext = new StabilityStoneCoverWaveConditionsCalculationGroupContext(group, + failureMechanism, + assessmentSection); - var nodeData = new StabilityStoneCoverWaveConditionsCalculationGroupContext(group, - failureMechanism, - assessmentSection); - var parentNodeData = new StabilityStoneCoverWaveConditionsCalculationGroupContext(failureMechanism.WaveConditionsCalculationGroup, - failureMechanism, - assessmentSection); + var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); - var applicationFeatureCommandHandler = mocks.Stub(); - var importHandlerMock = mocks.StrictMock(); - importHandlerMock.Expect(ihm => ihm.CanImportOn(nodeData)).Return(true); - var exportHandlerMock = mocks.StrictMock(); - exportHandlerMock.Expect(ehm => ehm.CanExportFrom(nodeData)).Return(true); - var updateHandlerMock = mocks.StrictMock(); - var viewCommandsHandler = mocks.StrictMock(); - var treeViewControl = mocks.StrictMock(); + using (var treeViewControl = new TreeViewControl()) + { + gui.Stub(g => g.Get(groupContext, treeViewControl)).Return(menuBuilder); + gui.Stub(g => g.ViewCommands).Return(mocks.Stub()); + gui.Stub(g => g.MainWindow).Return(mocks.Stub()); + mocks.ReplayAll(); - var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, - importHandlerMock, - exportHandlerMock, - updateHandlerMock, - viewCommandsHandler, - nodeData, - treeViewControl); + // Call + using (ContextMenuStrip menu = info.ContextMenuStrip(groupContext, null, treeViewControl)) + { + // Assert + Assert.AreEqual(20, menu.Items.Count); - var gui = mocks.Stub(); - gui.Stub(g => g.Get(nodeData, treeViewControl)).Return(menuBuilder); + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuAddGenerateCalculationsIndex, + "Genereer &berekeningen...", + "Er is geen hydraulische randvoorwaardendatabase beschikbaar om de randvoorwaardenberekeningen te genereren.", + RingtoetsCommonFormsResources.GenerateScenariosIcon, + false); + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuAddCalculationGroupIndexRootGroup, + "&Map toevoegen", + "Voeg een nieuwe berekeningsmap toe aan deze berekeningsmap.", + RingtoetsCommonFormsResources.AddFolderIcon); + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuAddCalculationIndexRootGroup, + "Berekening &toevoegen", + "Voeg een nieuwe berekening toe aan deze berekeningsmap.", + RingtoetsCommonFormsResources.FailureMechanismIcon); - treeViewControl.Expect(tvc => tvc.CanRemoveNodeForData(nodeData)).Return(true); - treeViewControl.Expect(tvc => tvc.CanRenameNodeForData(nodeData)).Return(true); - treeViewControl.Expect(tvc => tvc.CanExpandOrCollapseForData(nodeData)).Repeat.Twice().Return(false); + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuUpdateForeshoreProfileIndexRootGroup, + "&Bijwerken voorlandprofielen...", + "De geselecteerde voorlandprofielen hebben geen wijzigingen om bij te werken.", + RingtoetsCommonFormsResources.UpdateItemIcon, + false); - mocks.ReplayAll(); + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuValidateAllIndexRootGroup, + "Alles &valideren", + "Er zijn geen berekeningen om te valideren.", + RingtoetsCommonFormsResources.ValidateAllIcon, + false); + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuCalculateAllIndexRootGroup, + "Alles be&rekenen", + "Er zijn geen berekeningen om uit te voeren.", + RingtoetsCommonFormsResources.CalculateAllIcon, + false); + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuClearOutputIndexRootGroup, + "&Wis alle uitvoer...", + "Er zijn geen berekeningen met uitvoer om te wissen.", + RingtoetsCommonFormsResources.ClearIcon, + false); + } + } + } - plugin.Gui = gui; + [Test] + public void ContextMenuStrip_NestedCalculationGroup_CallsContextMenuBuilderMethods() + { + // Setup + var group = new CalculationGroup(); + var parentGroup = new CalculationGroup(); + var failureMechanism = new StabilityStoneCoverFailureMechanism(); + var assessmentSection = mocks.Stub(); + var groupContext = new StabilityStoneCoverWaveConditionsCalculationGroupContext(group, + failureMechanism, + assessmentSection); + var parentGroupContext = new StabilityStoneCoverWaveConditionsCalculationGroupContext(parentGroup, + failureMechanism, + assessmentSection); - // Call - using (ContextMenuStrip menu = info.ContextMenuStrip(nodeData, parentNodeData, treeViewControl)) + var menuBuilderMock = mocks.StrictMock(); + using (mocks.Ordered()) { - // Assert - Assert.AreEqual(18, menu.Items.Count); + 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.AddCustomItem(null)).IgnoreArguments().Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddSeparator()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddRenameItem()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddSeparator()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddSeparator()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddDeleteItem()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddSeparator()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddCollapseAllItem()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddExpandAllItem()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddSeparator()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddPropertiesItem()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.Build()).Return(null); + } - TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuImportConfigurationIndex, - "&Importeren...", - "Importeer de gegevens vanuit een bestand.", - CoreCommonGuiResources.ImportIcon); - TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuExportConfigurationIndex, - "&Exporteren...", - "Exporteer de gegevens naar een bestand.", - CoreCommonGuiResources.ExportIcon); + using (var treeViewControl = new TreeViewControl()) + { + gui.Stub(g => g.Get(groupContext, treeViewControl)).Return(menuBuilderMock); + gui.Stub(g => g.MainWindow).Return(mocks.Stub()); + mocks.ReplayAll(); - TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuAddCalculationGroupIndexNestedGroup, - "&Map toevoegen", - "Voeg een nieuwe berekeningsmap toe aan deze berekeningsmap.", - RingtoetsCommonFormsResources.AddFolderIcon); - TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuAddCalculationIndexNestedGroup, - "Berekening &toevoegen", - "Voeg een nieuwe berekening toe aan deze berekeningsmap.", - RingtoetsCommonFormsResources.FailureMechanismIcon); + // Call + info.ContextMenuStrip(groupContext, parentGroupContext, treeViewControl); + } + // Assert + // Assert expectancies called in TearDown() + } - TestHelper.AssertContextMenuStripContainsItem(menu, 6, - "&Hernoemen", - "Wijzig de naam van dit element.", - CoreCommonGuiResources.RenameIcon); - TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuValidateAllIndexNestedGroup, - "Alles &valideren", - "Er zijn geen berekeningen om te valideren.", - RingtoetsCommonFormsResources.ValidateAllIcon, - false); - TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuCalculateAllIndexNestedGroup, - "Alles be&rekenen", - "Er zijn geen berekeningen om uit te voeren.", - RingtoetsCommonFormsResources.CalculateAllIcon, - false); - TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuClearOutputIndexNestedGroup, - "&Wis alle uitvoer...", - "Er zijn geen berekeningen met uitvoer om te wissen.", - RingtoetsCommonFormsResources.ClearIcon, - false); + [Test] + public void ContextMenuStrip_NestedCalculationGroup_AddCustomItems() + { + // Setup + var group = new CalculationGroup(); + var parentGroup = new CalculationGroup(); + var failureMechanism = new StabilityStoneCoverFailureMechanism(); + var assessmentSection = mocks.Stub(); + var groupContext = new StabilityStoneCoverWaveConditionsCalculationGroupContext(group, + failureMechanism, + assessmentSection); + var parentGroupContext = new StabilityStoneCoverWaveConditionsCalculationGroupContext(parentGroup, + failureMechanism, + assessmentSection); - TestHelper.AssertContextMenuStripContainsItem(menu, 12, - "Verwij&deren...", - "Verwijder dit element uit de boom.", - CoreCommonGuiResources.DeleteIcon); + var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); + using (var treeViewControl = new TreeViewControl()) + { + gui.Stub(g => g.Get(groupContext, treeViewControl)).Return(menuBuilder); + gui.Stub(g => g.MainWindow).Return(mocks.Stub()); + mocks.ReplayAll(); - TestHelper.AssertContextMenuStripContainsItem(menu, 14, - "Alles i&nklappen", - "Klap dit element en alle onderliggende elementen in.", - CoreCommonGuiResources.CollapseAllIcon, - false); - TestHelper.AssertContextMenuStripContainsItem(menu, 15, - "Alles ui&tklappen", - "Klap dit element en alle onderliggende elementen uit.", - CoreCommonGuiResources.ExpandAllIcon, - false); + // Call + using (ContextMenuStrip menu = info.ContextMenuStrip(groupContext, parentGroupContext, treeViewControl)) + { + // Assert + Assert.AreEqual(19, menu.Items.Count); - TestHelper.AssertContextMenuStripContainsItem(menu, 17, - "Ei&genschappen", - "Toon de eigenschappen in het Eigenschappenpaneel.", - CoreCommonGuiResources.PropertiesHS, - false); + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuAddCalculationGroupIndexNestedGroup, + "&Map toevoegen", + "Voeg een nieuwe berekeningsmap toe aan deze berekeningsmap.", + RingtoetsCommonFormsResources.AddFolderIcon); + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuAddCalculationIndexNestedGroup, + "Berekening &toevoegen", + "Voeg een nieuwe berekening toe aan deze berekeningsmap.", + RingtoetsCommonFormsResources.FailureMechanismIcon); - CollectionAssert.AllItemsAreInstancesOfType(new[] - { - menu.Items[2], - menu.Items[5], - menu.Items[7], - menu.Items[10], - menu.Items[13], - menu.Items[16] - }, typeof(ToolStripSeparator)); + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuUpdateForeshoreProfileIndexNestedGroup, + "&Bijwerken voorlandprofielen...", + "De geselecteerde voorlandprofielen hebben geen wijzigingen om bij te werken.", + RingtoetsCommonFormsResources.UpdateItemIcon, + false); + + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuValidateAllIndexNestedGroup, + "Alles &valideren", + "Er zijn geen berekeningen om te valideren.", + RingtoetsCommonFormsResources.ValidateAllIcon, + false); + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuCalculateAllIndexNestedGroup, + "Alles be&rekenen", + "Er zijn geen berekeningen om uit te voeren.", + RingtoetsCommonFormsResources.CalculateAllIcon, + false); + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuClearOutputIndexNestedGroup, + "&Wis alle uitvoer...", + "Er zijn geen berekeningen met uitvoer om te wissen.", + RingtoetsCommonFormsResources.ClearIcon, + false); + } } } @@ -361,28 +472,15 @@ nodeData, treeViewControl); - var gui = mocks.Stub(); gui.Stub(g => g.Get(nodeData, treeViewControl)).Return(menuBuilder); - gui.Stub(cmp => cmp.ViewCommands).Return(mocks.Stub()); + gui.Stub(g => g.ViewCommands).Return(mocks.Stub()); + gui.Stub(g => g.MainWindow).Return(mocks.Stub()); mocks.ReplayAll(); - plugin.Gui = gui; - // Call using (ContextMenuStrip menu = info.ContextMenuStrip(nodeData, null, treeViewControl)) { // Assert - Assert.AreEqual(18, menu.Items.Count); - - TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuImportConfigurationIndex, - "&Importeren...", - "Importeer de gegevens vanuit een bestand.", - CoreCommonGuiResources.ImportIcon); - TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuExportConfigurationIndex, - "&Exporteren...", - "Exporteer de gegevens naar een bestand.", - CoreCommonGuiResources.ExportIcon); - TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuAddGenerateCalculationsIndex, "Genereer &berekeningen...", "Er is geen hydraulische randvoorwaardendatabase beschikbaar om de randvoorwaardenberekeningen te genereren.", @@ -430,15 +528,6 @@ "Toon de eigenschappen in het Eigenschappenpaneel.", CoreCommonGuiResources.PropertiesHS, false); - CollectionAssert.AllItemsAreInstancesOfType(new[] - { - menu.Items[2], - menu.Items[4], - menu.Items[7], - menu.Items[10], - menu.Items[13], - menu.Items[16] - }, typeof(ToolStripSeparator)); } } } @@ -478,28 +567,15 @@ nodeData, treeViewControl); - var gui = mocks.Stub(); gui.Stub(g => g.Get(nodeData, treeViewControl)).Return(menuBuilder); - gui.Stub(cmp => cmp.ViewCommands).Return(mocks.Stub()); + gui.Stub(g => g.ViewCommands).Return(mocks.Stub()); + gui.Stub(g => g.MainWindow).Return(mocks.Stub()); mocks.ReplayAll(); - plugin.Gui = gui; - // Call using (ContextMenuStrip menu = info.ContextMenuStrip(nodeData, null, treeViewControl)) { // Assert - Assert.AreEqual(18, menu.Items.Count); - - TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuImportConfigurationIndex, - "&Importeren...", - "Importeer de gegevens vanuit een bestand.", - CoreCommonGuiResources.ImportIcon); - TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuExportConfigurationIndex, - "&Exporteren...", - "Exporteer de gegevens naar een bestand.", - CoreCommonGuiResources.ExportIcon); - TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuAddGenerateCalculationsIndex, "Genereer &berekeningen...", "Genereer randvoorwaardenberekeningen.", @@ -547,15 +623,6 @@ "Toon de eigenschappen in het Eigenschappenpaneel.", CoreCommonGuiResources.PropertiesHS, false); - CollectionAssert.AllItemsAreInstancesOfType(new[] - { - menu.Items[2], - menu.Items[4], - menu.Items[7], - menu.Items[10], - menu.Items[13], - menu.Items[16] - }, typeof(ToolStripSeparator)); } } } @@ -581,13 +648,10 @@ var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); - var gui = mocks.Stub(); - gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(menuBuilder); - + gui.Stub(g => g.Get(nodeData, treeViewControl)).Return(menuBuilder); + gui.Stub(g => g.MainWindow).Return(mocks.Stub()); mocks.ReplayAll(); - plugin.Gui = gui; - // Call using (ContextMenuStrip contextMenu = info.ContextMenuStrip(nodeData, parentNodeData, treeViewControl)) { @@ -624,13 +688,10 @@ var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); - var gui = mocks.Stub(); - gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(menuBuilder); - + gui.Stub(g => g.Get(nodeData, treeViewControl)).Return(menuBuilder); + gui.Stub(g => g.MainWindow).Return(mocks.Stub()); mocks.ReplayAll(); - plugin.Gui = gui; - // Call using (ContextMenuStrip contextMenu = info.ContextMenuStrip(nodeData, parentNodeData, treeViewControl)) { @@ -671,13 +732,10 @@ var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); - var gui = mocks.Stub(); - gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(menuBuilder); - + gui.Stub(g => g.Get(nodeData, treeViewControl)).Return(menuBuilder); + gui.Stub(g => g.MainWindow).Return(mocks.Stub()); mocks.ReplayAll(); - plugin.Gui = gui; - // Call using (ContextMenuStrip contextMenu = info.ContextMenuStrip(nodeData, parentNodeData, treeViewControl)) { @@ -722,13 +780,10 @@ var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); - var gui = mocks.Stub(); - gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(menuBuilder); - + gui.Stub(g => g.Get(nodeData, treeViewControl)).Return(menuBuilder); + gui.Stub(g => g.MainWindow).Return(mocks.Stub()); mocks.ReplayAll(); - plugin.Gui = gui; - // Call using (ContextMenuStrip contextMenu = info.ContextMenuStrip(nodeData, parentNodeData, treeViewControl)) { @@ -805,13 +860,10 @@ using (var treeViewControl = new TreeViewControl()) { - var gui = mocks.Stub(); - gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(menuBuilder); - + gui.Stub(g => g.Get(nodeData, treeViewControl)).Return(menuBuilder); + gui.Stub(g => g.MainWindow).Return(mocks.Stub()); mocks.ReplayAll(); - plugin.Gui = gui; - using (ContextMenuStrip contextMenu = info.ContextMenuStrip(nodeData, parentNodeData, treeViewControl)) { // Call @@ -873,14 +925,11 @@ { var mainWindow = mocks.Stub(); - var gui = mocks.Stub(); - gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(menuBuilder); + gui.Stub(g => g.Get(nodeData, treeViewControl)).Return(menuBuilder); gui.Stub(g => g.MainWindow).Return(mainWindow); mocks.ReplayAll(); - plugin.Gui = gui; - using (new HydraRingCalculatorFactoryConfig()) using (ContextMenuStrip contextMenu = info.ContextMenuStrip(nodeData, parentNodeData, treeViewControl)) { @@ -934,14 +983,11 @@ { var mainWindow = mocks.Stub(); - var gui = mocks.Stub(); - gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(menuBuilder); + gui.Stub(g => g.Get(nodeData, treeViewControl)).Return(menuBuilder); gui.Stub(g => g.MainWindow).Return(mainWindow); mocks.ReplayAll(); - plugin.Gui = gui; - using (new HydraRingCalculatorFactoryConfig()) using (ContextMenuStrip contextMenu = info.ContextMenuStrip(nodeData, parentNodeData, treeViewControl)) { @@ -985,14 +1031,11 @@ { var mainWindow = mocks.Stub(); - var gui = mocks.Stub(); - gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(menuBuilder); + gui.Stub(g => g.Get(nodeData, treeViewControl)).Return(menuBuilder); gui.Stub(g => g.MainWindow).Return(mainWindow); mocks.ReplayAll(); - plugin.Gui = gui; - using (new HydraRingCalculatorFactoryConfig()) using (ContextMenuStrip contextMenu = info.ContextMenuStrip(nodeData, parentNodeData, treeViewControl)) { @@ -1066,14 +1109,11 @@ { var mainWindow = mocks.Stub(); - var gui = mocks.Stub(); - gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(menuBuilder); + gui.Stub(g => g.Get(nodeData, treeViewControl)).Return(menuBuilder); gui.Stub(g => g.MainWindow).Return(mainWindow); mocks.ReplayAll(); - plugin.Gui = gui; - using (new HydraRingCalculatorFactoryConfig()) using (ContextMenuStrip contextMenu = info.ContextMenuStrip(nodeData, parentNodeData, treeViewControl)) { @@ -1111,15 +1151,13 @@ var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); - var gui = mocks.Stub(); - gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(menuBuilder); + gui.Stub(g => g.Get(nodeData, treeViewControl)).Return(menuBuilder); + gui.Stub(g => g.MainWindow).Return(mocks.Stub()); var observer = mocks.StrictMock(); observer.Expect(o => o.UpdateObserver()); mocks.ReplayAll(); - plugin.Gui = gui; - var calculationItem = new CalculationGroup { Name = "Nieuwe map" @@ -1185,14 +1223,12 @@ var mainWindow = mocks.Stub(); var viewCommandsMock = mocks.StrictMock(); - var gui = mocks.Stub(); - gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(menuBuilder); - gui.Stub(cmp => cmp.MainWindow).Return(mainWindow); - gui.Stub(cmp => cmp.ViewCommands).Return(viewCommandsMock); + gui.Stub(g => g.Get(nodeData, treeViewControl)).Return(menuBuilder); + gui.Stub(g => g.MainWindow).Return(mainWindow); + gui.Stub(g => g.ViewCommands).Return(viewCommandsMock); mocks.ReplayAll(); - plugin.Gui = gui; nodeData.Attach(observerMock); HydraulicBoundaryLocationSelectionDialog dialog = null; @@ -1252,14 +1288,12 @@ var mainWindow = mocks.Stub(); var viewCommandsMock = mocks.StrictMock(); - var gui = mocks.Stub(); - gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(menuBuilder); - gui.Stub(cmp => cmp.MainWindow).Return(mainWindow); - gui.Stub(cmp => cmp.ViewCommands).Return(viewCommandsMock); + gui.Stub(g => g.Get(nodeData, treeViewControl)).Return(menuBuilder); + gui.Stub(g => g.MainWindow).Return(mainWindow); + gui.Stub(g => g.ViewCommands).Return(viewCommandsMock); mocks.ReplayAll(); - plugin.Gui = gui; nodeData.Attach(observerMock); HydraulicBoundaryLocationSelectionDialog dialog = null; @@ -1342,14 +1376,11 @@ context, treeViewControl); - var gui = mocks.Stub(); gui.Stub(g => g.ViewCommands).Return(viewCommands); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilderMock); - + gui.Stub(g => g.MainWindow).Return(mocks.Stub()); mocks.ReplayAll(); - plugin.Gui = gui; - // When using (ContextMenuStrip contextMenu = info.ContextMenuStrip(context, null, treeViewControl)) { @@ -1394,14 +1425,11 @@ context, treeViewControl); - var gui = mocks.Stub(); gui.Stub(g => g.ViewCommands).Return(viewCommands); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilderMock); - + gui.Stub(g => g.MainWindow).Return(mocks.Stub()); mocks.ReplayAll(); - plugin.Gui = gui; - using (ContextMenuStrip contextMenu = info.ContextMenuStrip(context, null, treeViewControl)) { // Precondition