Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Plugin/ClosingStructuresPlugin.cs =================================================================== diff -u -rdad191ad1ec7648b4ead227124aa1df4b612bd45 -r5a6d329435609e061bf207fc4c7e29cbd5a732e2 --- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Plugin/ClosingStructuresPlugin.cs (.../ClosingStructuresPlugin.cs) (revision dad191ad1ec7648b4ead227124aa1df4b612bd45) +++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Plugin/ClosingStructuresPlugin.cs (.../ClosingStructuresPlugin.cs) (revision 5a6d329435609e061bf207fc4c7e29cbd5a732e2) @@ -713,15 +713,20 @@ return childNodes.ToArray(); } - private ContextMenuStrip CalculationContextContextMenuStrip(ClosingStructuresCalculationContext context, object parentData, TreeViewControl treeViewControl) + private ContextMenuStrip CalculationContextContextMenuStrip(ClosingStructuresCalculationContext context, + object parentData, + TreeViewControl treeViewControl) { var builder = new RingtoetsContextMenuBuilder(Gui.Get(context, treeViewControl)); + var inquiryHelper = new DialogBasedInquiryHelper(Gui.MainWindow); StructuresCalculation calculation = context.WrappedData; - return builder.AddExportItem() .AddSeparator() .AddRenameItem() + .AddUpdateForeshoreProfileOfCalculationItem(context.WrappedData, + inquiryHelper, + UpdateForeshoreProfileDerivedCalculationInput) .AddCustomItem(CreateUpdateStructureItem(context)) .AddSeparator() .AddValidateCalculationItem( @@ -744,6 +749,8 @@ .Build(); } + private static void UpdateForeshoreProfileDerivedCalculationInput(ICalculation calculation) {} + private void Calculate(StructuresCalculation calculation, ClosingStructuresCalculationContext context) { ActivityProgressDialogRunner.Run(Gui.MainWindow, Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/TreeNodeInfos/ClosingStructuresCalculationContextTreeNodeInfoTest.cs =================================================================== diff -u -r7c857a9d25bf11581d83514bda0d31413eca8dd3 -r5a6d329435609e061bf207fc4c7e29cbd5a732e2 --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/TreeNodeInfos/ClosingStructuresCalculationContextTreeNodeInfoTest.cs (.../ClosingStructuresCalculationContextTreeNodeInfoTest.cs) (revision 7c857a9d25bf11581d83514bda0d31413eca8dd3) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/TreeNodeInfos/ClosingStructuresCalculationContextTreeNodeInfoTest.cs (.../ClosingStructuresCalculationContextTreeNodeInfoTest.cs) (revision 5a6d329435609e061bf207fc4c7e29cbd5a732e2) @@ -57,10 +57,11 @@ [TestFixture] public class ClosingStructuresCalculationContextTreeNodeInfoTest : NUnitFormTest { - private const int contextMenuUpdateStructureIndex = 3; - private const int contextMenuValidateIndex = 5; - private const int contextMenuCalculateIndex = 6; - private const int contextMenuClearIndex = 8; + private const int contextMenuUpdateForeshoreProfileIndex = 3; + private const int contextMenuUpdateStructureIndex = 4; + private const int contextMenuValidateIndex = 6; + private const int contextMenuCalculateIndex = 7; + private const int contextMenuClearIndex = 9; private readonly string testDataPath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.Common.IO, "HydraulicBoundaryDatabaseImporter"); private IGui gui; @@ -200,6 +201,7 @@ 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.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); @@ -217,7 +219,7 @@ using (var treeViewControl = new TreeViewControl()) { gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(menuBuilderMock); - + gui.Stub(cmp => cmp.MainWindow).Return(mocks.Stub()); mocks.ReplayAll(); // Call @@ -248,15 +250,21 @@ using (var treeViewControl = new TreeViewControl()) { gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(menuBuilder); - + gui.Stub(cmp => cmp.MainWindow).Return(mocks.Stub()); mocks.ReplayAll(); // Call using (ContextMenuStrip menu = info.ContextMenuStrip(nodeData, assessmentSection, treeViewControl)) { // Assert - Assert.AreEqual(15, menu.Items.Count); + Assert.AreEqual(16, menu.Items.Count); + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuUpdateForeshoreProfileIndex, + "&Bijwerken voorlandprofiel...", + "Er moet een voorlandprofiel geselecteerd zijn.", + RingtoetsCommonFormsResources.UpdateItemIcon, + false); + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuUpdateStructureIndex, "&Bijwerken kunstwerk", "Er moet een kunstwerk geselecteerd zijn.", @@ -296,6 +304,7 @@ using (var treeViewControl = new TreeViewControl()) { gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(menuBuilder); + gui.Stub(cmp => cmp.MainWindow).Return(mocks.Stub()); mocks.ReplayAll(); // Call @@ -332,6 +341,7 @@ using (var treeViewControl = new TreeViewControl()) { gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(menuBuilder); + gui.Stub(cmp => cmp.MainWindow).Return(mocks.Stub()); mocks.ReplayAll(); // Call @@ -681,7 +691,7 @@ using (var treeViewControl = new TreeViewControl()) { gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(new CustomItemsOnlyContextMenuBuilder()); - + gui.Stub(cmp => cmp.MainWindow).Return(mocks.Stub()); mocks.ReplayAll(); // Call @@ -717,7 +727,7 @@ using (var treeViewControl = new TreeViewControl()) { gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(new CustomItemsOnlyContextMenuBuilder()); - + gui.Stub(cmp => cmp.MainWindow).Return(mocks.Stub()); mocks.ReplayAll(); // Call @@ -761,7 +771,7 @@ using (var treeViewControl = new TreeViewControl()) { gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(new CustomItemsOnlyContextMenuBuilder()); - + gui.Stub(cmp => cmp.MainWindow).Return(mocks.Stub()); mocks.ReplayAll(); // Call @@ -803,7 +813,7 @@ using (var treeViewControl = new TreeViewControl()) { gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(new CustomItemsOnlyContextMenuBuilder()); - + gui.Stub(cmp => cmp.MainWindow).Return(mocks.Stub()); mocks.ReplayAll(); // Call @@ -936,7 +946,7 @@ using (var treeViewControl = new TreeViewControl()) { gui.Stub(g => g.Get(calculationContext, treeViewControl)).Return(new CustomItemsOnlyContextMenuBuilder()); - + gui.Stub(cmp => cmp.MainWindow).Return(mocks.Stub()); mocks.ReplayAll(); using (ContextMenuStrip contextMenuStrip = info.ContextMenuStrip(calculationContext, null, treeViewControl)) Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Plugin.Test/TreeNodeInfos/HeightStructuresCalculationContextTreeNodeInfoTest.cs =================================================================== diff -u -r11c6d40de442b2548ca1134ee5bd5cf754549de4 -r5a6d329435609e061bf207fc4c7e29cbd5a732e2 --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Plugin.Test/TreeNodeInfos/HeightStructuresCalculationContextTreeNodeInfoTest.cs (.../HeightStructuresCalculationContextTreeNodeInfoTest.cs) (revision 11c6d40de442b2548ca1134ee5bd5cf754549de4) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Plugin.Test/TreeNodeInfos/HeightStructuresCalculationContextTreeNodeInfoTest.cs (.../HeightStructuresCalculationContextTreeNodeInfoTest.cs) (revision 5a6d329435609e061bf207fc4c7e29cbd5a732e2) @@ -57,6 +57,7 @@ [TestFixture] public class HeightStructuresCalculationContextTreeNodeInfoTest : NUnitFormTest { + private const int contextMenuUpdateForeshoreProfileIndex = 3; private const int contextMenuUpdateStructureIndex = 4; private const int contextMenuValidateIndex = 6; private const int contextMenuCalculateIndex = 7; @@ -252,6 +253,12 @@ // Assert Assert.AreEqual(16, menu.Items.Count); + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuUpdateForeshoreProfileIndex, + "&Bijwerken voorlandprofiel...", + "Er moet een voorlandprofiel geselecteerd zijn.", + RingtoetsCommonFormsResources.UpdateItemIcon, + false); + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuUpdateStructureIndex, "&Bijwerken kunstwerk", "Er moet een kunstwerk geselecteerd zijn.",