Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs =================================================================== diff -u -r9e6869de553715aefe4752478334c3a6a3f83340 -r1fb6c37d6a506ba338946ce171071a3ef6f3c603 --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs (.../GrassCoverErosionOutwardsPlugin.cs) (revision 9e6869de553715aefe4752478334c3a6a3f83340) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs (.../GrassCoverErosionOutwardsPlugin.cs) (revision 1fb6c37d6a506ba338946ce171071a3ef6f3c603) @@ -872,6 +872,8 @@ return builder .AddExportItem() .AddSeparator() + .AddDuplicateCalculationItem(calculation, nodeData) + .AddSeparator() .AddRenameItem() .AddUpdateForeshoreProfileOfCalculationItem(calculation, inquiryHelper, Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs =================================================================== diff -u -re74c57e402614c4fb76622b00011d111a92b6696 -r1fb6c37d6a506ba338946ce171071a3ef6f3c603 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision e74c57e402614c4fb76622b00011d111a92b6696) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision 1fb6c37d6a506ba338946ce171071a3ef6f3c603) @@ -55,29 +55,17 @@ [TestFixture] public class GrassCoverErosionOutwardsWaveConditionsCalculationContextTreeNodeInfoTest : NUnitFormTest { - private const int contextMenuUpdateForeshoreProfileIndex = 3; - private const int validateMenuItemIndex = 5; - private const int calculateMenuItemIndex = 6; - private const int clearOutputMenuItemIndex = 8; + private const int contextMenuDuplicateIndex = 2; + private const int contextMenuUpdateForeshoreProfileIndex = 5; + private const int validateMenuItemIndex = 7; + private const int calculateMenuItemIndex = 8; + private const int clearOutputMenuItemIndex = 10; private readonly string testDataPath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.Common.IO, "HydraulicBoundaryDatabaseImporter"); private MockRepository mocks; private GrassCoverErosionOutwardsPlugin plugin; private TreeNodeInfo info; - public override void Setup() - { - mocks = new MockRepository(); - plugin = new GrassCoverErosionOutwardsPlugin(); - info = plugin.GetTreeNodeInfos().First(tni => tni.TagType == typeof(GrassCoverErosionOutwardsWaveConditionsCalculationContext)); - } - - public override void TearDown() - { - plugin.Dispose(); - mocks.VerifyAll(); - } - [Test] public void Initialized_Always_ExpectedPropertiesSet() { @@ -463,6 +451,8 @@ { menuBuilder.Expect(mb => mb.AddExportItem()).Return(menuBuilder); menuBuilder.Expect(mb => mb.AddSeparator()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddSeparator()).Return(menuBuilder); menuBuilder.Expect(mb => mb.AddRenameItem()).Return(menuBuilder); menuBuilder.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().Return(menuBuilder); menuBuilder.Expect(mb => mb.AddSeparator()).Return(menuBuilder); @@ -533,8 +523,13 @@ using (ContextMenuStrip menu = info.ContextMenuStrip(context, assessmentSection, treeViewControl)) { // Assert - Assert.AreEqual(15, menu.Items.Count); + Assert.AreEqual(17, menu.Items.Count); + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuDuplicateIndex, + "D&upliceren", + "Dupliceer dit element.", + RingtoetsCommonFormsResources.CopyHS); + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuUpdateForeshoreProfileIndex, "&Bijwerken voorlandprofiel...", "Er moet een voorlandprofiel geselecteerd zijn.", @@ -588,12 +583,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); @@ -644,12 +639,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); @@ -705,12 +700,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); @@ -766,12 +761,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); @@ -1091,12 +1086,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); @@ -1158,12 +1153,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); @@ -1214,12 +1209,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); @@ -1275,12 +1270,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); @@ -1336,12 +1331,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); @@ -1397,12 +1392,12 @@ var viewCommands = mocks.Stub(); var mainWindow = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var observer = mocks.StrictMock(); observer.Expect(o => o.UpdateObserver()); calculation.Attach(observer); @@ -1462,12 +1457,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); @@ -1515,12 +1510,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); @@ -1571,12 +1566,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); @@ -1604,6 +1599,19 @@ } } + public override void Setup() + { + mocks = new MockRepository(); + plugin = new GrassCoverErosionOutwardsPlugin(); + info = plugin.GetTreeNodeInfos().First(tni => tni.TagType == typeof(GrassCoverErosionOutwardsWaveConditionsCalculationContext)); + } + + public override void TearDown() + { + plugin.Dispose(); + mocks.VerifyAll(); + } + private static GrassCoverErosionOutwardsWaveConditionsCalculation GetValidCalculation() { return new GrassCoverErosionOutwardsWaveConditionsCalculation Index: Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Plugin/WaveImpactAsphaltCoverPlugin.cs =================================================================== diff -u -r9e6869de553715aefe4752478334c3a6a3f83340 -r1fb6c37d6a506ba338946ce171071a3ef6f3c603 --- Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Plugin/WaveImpactAsphaltCoverPlugin.cs (.../WaveImpactAsphaltCoverPlugin.cs) (revision 9e6869de553715aefe4752478334c3a6a3f83340) +++ Ringtoets/WaveImpactAsphaltCover/src/Ringtoets.WaveImpactAsphaltCover.Plugin/WaveImpactAsphaltCoverPlugin.cs (.../WaveImpactAsphaltCoverPlugin.cs) (revision 1fb6c37d6a506ba338946ce171071a3ef6f3c603) @@ -573,6 +573,8 @@ return builder.AddExportItem() .AddSeparator() + .AddDuplicateCalculationItem(calculation, nodeData) + .AddSeparator() .AddRenameItem() .AddUpdateForeshoreProfileOfCalculationItem(calculation, inquiryHelper, Index: Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Plugin.Test/TreeNodeInfos/WaveImpactAsphaltCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs =================================================================== diff -u -r8b60c9e846480f3ffeeb263bfea5d3367bf6bee3 -r1fb6c37d6a506ba338946ce171071a3ef6f3c603 --- Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Plugin.Test/TreeNodeInfos/WaveImpactAsphaltCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision 8b60c9e846480f3ffeeb263bfea5d3367bf6bee3) +++ Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Plugin.Test/TreeNodeInfos/WaveImpactAsphaltCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs (.../WaveImpactAsphaltCoverWaveConditionsCalculationContextTreeNodeInfoTest.cs) (revision 1fb6c37d6a506ba338946ce171071a3ef6f3c603) @@ -57,10 +57,11 @@ [TestFixture] public class WaveImpactAsphaltCoverWaveConditionsCalculationContextTreeNodeInfoTest : NUnitFormTest { - private const int contextMenuUpdateForeshoreProfileIndex = 3; - private const int validateMenuItemIndex = 5; - private const int calculateMenuItemIndex = 6; - private const int clearOutputMenuItemIndex = 8; + private const int contextMenuDuplicateIndex = 2; + private const int contextMenuUpdateForeshoreProfileIndex = 5; + private const int validateMenuItemIndex = 7; + private const int calculateMenuItemIndex = 8; + private const int clearOutputMenuItemIndex = 10; private readonly string testDataPath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.Common.IO, "HydraulicBoundaryDatabaseImporter"); private MockRepository mocks; @@ -428,6 +429,8 @@ { menuBuilder.Expect(mb => mb.AddExportItem()).Return(menuBuilder); menuBuilder.Expect(mb => mb.AddSeparator()).Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().Return(menuBuilder); + menuBuilder.Expect(mb => mb.AddSeparator()).Return(menuBuilder); menuBuilder.Expect(mb => mb.AddRenameItem()).Return(menuBuilder); menuBuilder.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().Return(menuBuilder); menuBuilder.Expect(mb => mb.AddSeparator()).Return(menuBuilder); @@ -495,8 +498,13 @@ using (ContextMenuStrip menu = info.ContextMenuStrip(context, assessmentSection, treeViewControl)) { // Assert - Assert.AreEqual(15, menu.Items.Count); + Assert.AreEqual(17, menu.Items.Count); + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuDuplicateIndex, + "D&upliceren", + "Dupliceer dit element.", + RingtoetsCommonFormsResources.CopyHS); + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuUpdateForeshoreProfileIndex, "&Bijwerken voorlandprofiel...", "Er moet een voorlandprofiel geselecteerd zijn.", @@ -552,12 +560,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); @@ -610,12 +618,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); @@ -673,12 +681,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); @@ -1006,12 +1014,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); @@ -1040,7 +1048,6 @@ } CalculationServiceTestHelper.AssertValidationEndMessage(messages.Last()); - }); } } @@ -1071,12 +1078,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); @@ -1129,12 +1136,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); @@ -1192,12 +1199,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); @@ -1255,12 +1262,12 @@ var viewCommands = mocks.Stub(); var mainWindow = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var observer = mocks.StrictMock(); observer.Expect(o => o.UpdateObserver()); calculation.Attach(observer); @@ -1327,12 +1334,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); @@ -1380,12 +1387,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); @@ -1436,12 +1443,12 @@ var updateHandler = mocks.Stub(); var viewCommands = mocks.Stub(); var menuBuilder = new ContextMenuBuilder(appFeatureCommandHandler, - importHandler, - exportHandler, - updateHandler, - viewCommands, - context, - treeViewControl); + importHandler, + exportHandler, + updateHandler, + viewCommands, + context, + treeViewControl); var gui = mocks.Stub(); gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder);