Index: Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/TreeNodeInfos/WaterLevelCalculationsForNormTargetProbabilityContextTreeNodeInfoTest.cs =================================================================== diff -u -rfe931aebbdb6bc97d005197d8f881ed9bfc5a7e0 -r0ec70980d9ce4e3157a74f555f2f2478c9537865 --- Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/TreeNodeInfos/WaterLevelCalculationsForNormTargetProbabilityContextTreeNodeInfoTest.cs (.../WaterLevelCalculationsForNormTargetProbabilityContextTreeNodeInfoTest.cs) (revision fe931aebbdb6bc97d005197d8f881ed9bfc5a7e0) +++ Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/TreeNodeInfos/WaterLevelCalculationsForNormTargetProbabilityContextTreeNodeInfoTest.cs (.../WaterLevelCalculationsForNormTargetProbabilityContextTreeNodeInfoTest.cs) (revision 0ec70980d9ce4e3157a74f555f2f2478c9537865) @@ -58,7 +58,7 @@ [TestFixture] public class WaterLevelCalculationsForNormTargetProbabilityContextTreeNodeInfoTest : NUnitFormTest { - private const int contextMenuRunAssessmentLevelCalculationsIndex = 2; + private const int contextMenuRunWaterLevelCalculationsIndex = 2; private const int contextMenuClearIllustrationPointsIndex = 4; private MockRepository mockRepository; @@ -185,6 +185,56 @@ } [Test] + public void ContextMenuStrip_Always_AddCustomItems() + { + // Setup + IAssessmentSection assessmentSection = new AssessmentSectionStub(); + var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); + var nodeData = new WaterLevelCalculationsForNormTargetProbabilityContext(new ObservableList(), + assessmentSection, + () => 0.01); + + using (var treeViewControl = new TreeViewControl()) + { + var gui = mockRepository.Stub(); + gui.Stub(g => g.ProjectOpened += null).IgnoreArguments(); + gui.Stub(g => g.ProjectOpened -= null).IgnoreArguments(); + gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(menuBuilder); + gui.Stub(cmp => cmp.MainWindow).Return(mockRepository.Stub()); + mockRepository.ReplayAll(); + + using (var plugin = new RiskeerPlugin()) + { + TreeNodeInfo info = GetInfo(plugin); + + plugin.Gui = gui; + + // Call + using (ContextMenuStrip menu = info.ContextMenuStrip(nodeData, assessmentSection, treeViewControl)) + { + // Assert + Assert.AreEqual(7, menu.Items.Count); + + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuRunWaterLevelCalculationsIndex, + "Alles be&rekenen", + "Er is geen hydraulische belastingendatabase geïmporteerd.", + RiskeerCommonFormsResources.CalculateAllIcon, + false); + + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuClearIllustrationPointsIndex, + "Wis alle illustratiepunten...", + "Er zijn geen berekeningen met illustratiepunten om te wissen.", + RiskeerCommonFormsResources.ClearIllustrationPointsIcon, + false); + } + } + } + + // Assert + mockRepository.VerifyAll(); + } + + [Test] public void ContextMenuStrip_HydraulicBoundaryDatabaseNotLinked_ContextMenuItemCalculateAllDisabledAndTooltipSet() { // Setup @@ -213,7 +263,7 @@ using (ContextMenuStrip contextMenu = info.ContextMenuStrip(nodeData, null, treeViewControl)) { // Assert - ToolStripItem contextMenuItem = contextMenu.Items[contextMenuRunAssessmentLevelCalculationsIndex]; + ToolStripItem contextMenuItem = contextMenu.Items[contextMenuRunWaterLevelCalculationsIndex]; Assert.AreEqual("Alles be&rekenen", contextMenuItem.Text); StringAssert.Contains("Er is geen hydraulische belastingendatabase geïmporteerd.", contextMenuItem.ToolTipText); @@ -255,7 +305,7 @@ using (ContextMenuStrip contextMenu = info.ContextMenuStrip(nodeData, null, treeViewControl)) { // Assert - ToolStripItem contextMenuItem = contextMenu.Items[contextMenuRunAssessmentLevelCalculationsIndex]; + ToolStripItem contextMenuItem = contextMenu.Items[contextMenuRunWaterLevelCalculationsIndex]; Assert.AreEqual("Alles be&rekenen", contextMenuItem.Text); StringAssert.Contains("Herstellen van de verbinding met de hydraulische belastingendatabase is mislukt.", contextMenuItem.ToolTipText); @@ -307,7 +357,7 @@ const string expectedItemText = @"Alles be&rekenen"; const string expectedItemTooltip = @"Alle waterstanden berekenen."; - TestHelper.AssertContextMenuStripContainsItem(contextMenu, contextMenuRunAssessmentLevelCalculationsIndex, + TestHelper.AssertContextMenuStripContainsItem(contextMenu, contextMenuRunWaterLevelCalculationsIndex, expectedItemText, expectedItemTooltip, RiskeerCommonFormsResources.CalculateAllIcon); } } @@ -488,7 +538,7 @@ using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { // Call - contextMenuAdapter.Items[contextMenuRunAssessmentLevelCalculationsIndex].PerformClick(); + contextMenuAdapter.Items[contextMenuRunWaterLevelCalculationsIndex].PerformClick(); // Assert AssessmentLevelCalculationInput designWaterLevelCalculationInput = designWaterLevelCalculator.ReceivedInputs.First(); @@ -575,7 +625,7 @@ using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { // Call - contextMenuAdapter.Items[contextMenuRunAssessmentLevelCalculationsIndex].PerformClick(); + contextMenuAdapter.Items[contextMenuRunWaterLevelCalculationsIndex].PerformClick(); // Assert AssessmentLevelCalculationInput designWaterLevelCalculationInput = designWaterLevelCalculator.ReceivedInputs.First(); @@ -661,7 +711,7 @@ using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { // Call - contextMenuAdapter.Items[contextMenuRunAssessmentLevelCalculationsIndex].PerformClick(); + contextMenuAdapter.Items[contextMenuRunWaterLevelCalculationsIndex].PerformClick(); // Assert AssessmentLevelCalculationInput designWaterLevelCalculationInput = designWaterLevelCalculator.ReceivedInputs.First(); @@ -738,7 +788,7 @@ using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { // When - void Call() => contextMenuAdapter.Items[contextMenuRunAssessmentLevelCalculationsIndex].PerformClick(); + void Call() => contextMenuAdapter.Items[contextMenuRunWaterLevelCalculationsIndex].PerformClick(); // Then TestHelper.AssertLogMessages(Call, messages => Index: Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/TreeNodeInfos/WaterLevelCalculationsForUserDefinedTargetProbabilityContextTreeNodeInfoTest.cs =================================================================== diff -u -r3b71618c99cb08d530ac684fec83ffb0d32aae93 -r0ec70980d9ce4e3157a74f555f2f2478c9537865 --- Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/TreeNodeInfos/WaterLevelCalculationsForUserDefinedTargetProbabilityContextTreeNodeInfoTest.cs (.../WaterLevelCalculationsForUserDefinedTargetProbabilityContextTreeNodeInfoTest.cs) (revision 3b71618c99cb08d530ac684fec83ffb0d32aae93) +++ Riskeer/Integration/test/Riskeer.Integration.Plugin.Test/TreeNodeInfos/WaterLevelCalculationsForUserDefinedTargetProbabilityContextTreeNodeInfoTest.cs (.../WaterLevelCalculationsForUserDefinedTargetProbabilityContextTreeNodeInfoTest.cs) (revision 0ec70980d9ce4e3157a74f555f2f2478c9537865) @@ -58,7 +58,7 @@ [TestFixture] public class WaterLevelCalculationsForUserDefinedTargetProbabilityContextTreeNodeInfoTest : NUnitFormTest { - private const int contextMenuRunAssessmentLevelCalculationsIndex = 2; + private const int contextMenuRunWaterLevelCalculationsIndex = 2; private const int contextMenuClearIllustrationPointsIndex = 4; private MockRepository mockRepository; @@ -261,6 +261,55 @@ } [Test] + public void ContextMenuStrip_Always_AddCustomItems() + { + // Setup + IAssessmentSection assessmentSection = new AssessmentSectionStub(); + var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); + var nodeData = new WaterLevelCalculationsForUserDefinedTargetProbabilityContext(new HydraulicBoundaryLocationCalculationsForTargetProbability(), + assessmentSection); + + using (var treeViewControl = new TreeViewControl()) + { + var gui = mockRepository.Stub(); + gui.Stub(g => g.ProjectOpened += null).IgnoreArguments(); + gui.Stub(g => g.ProjectOpened -= null).IgnoreArguments(); + gui.Stub(cmp => cmp.Get(nodeData, treeViewControl)).Return(menuBuilder); + gui.Stub(cmp => cmp.MainWindow).Return(mockRepository.Stub()); + mockRepository.ReplayAll(); + + using (var plugin = new RiskeerPlugin()) + { + TreeNodeInfo info = GetInfo(plugin); + + plugin.Gui = gui; + + // Call + using (ContextMenuStrip menu = info.ContextMenuStrip(nodeData, assessmentSection, treeViewControl)) + { + // Assert + Assert.AreEqual(8, menu.Items.Count); + + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuRunWaterLevelCalculationsIndex, + "Alles be&rekenen", + "Er is geen hydraulische belastingendatabase geïmporteerd.", + RiskeerCommonFormsResources.CalculateAllIcon, + false); + + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuClearIllustrationPointsIndex, + "Wis alle illustratiepunten...", + "Er zijn geen berekeningen met illustratiepunten om te wissen.", + RiskeerCommonFormsResources.ClearIllustrationPointsIcon, + false); + } + } + } + + // Assert + mockRepository.VerifyAll(); + } + + [Test] public void ContextMenuStrip_HydraulicBoundaryDatabaseNotLinked_ContextMenuItemCalculateAllDisabledAndTooltipSet() { // Setup @@ -288,7 +337,7 @@ using (ContextMenuStrip contextMenu = info.ContextMenuStrip(nodeData, null, treeViewControl)) { // Assert - ToolStripItem contextMenuItem = contextMenu.Items[contextMenuRunAssessmentLevelCalculationsIndex]; + ToolStripItem contextMenuItem = contextMenu.Items[contextMenuRunWaterLevelCalculationsIndex]; Assert.AreEqual("Alles be&rekenen", contextMenuItem.Text); StringAssert.Contains("Er is geen hydraulische belastingendatabase geïmporteerd.", contextMenuItem.ToolTipText); @@ -329,7 +378,7 @@ using (ContextMenuStrip contextMenu = info.ContextMenuStrip(nodeData, null, treeViewControl)) { // Assert - ToolStripItem contextMenuItem = contextMenu.Items[contextMenuRunAssessmentLevelCalculationsIndex]; + ToolStripItem contextMenuItem = contextMenu.Items[contextMenuRunWaterLevelCalculationsIndex]; Assert.AreEqual("Alles be&rekenen", contextMenuItem.Text); StringAssert.Contains("Herstellen van de verbinding met de hydraulische belastingendatabase is mislukt.", contextMenuItem.ToolTipText); @@ -380,7 +429,7 @@ const string expectedItemText = @"Alles be&rekenen"; const string expectedItemTooltip = @"Alle waterstanden berekenen."; - TestHelper.AssertContextMenuStripContainsItem(contextMenu, contextMenuRunAssessmentLevelCalculationsIndex, + TestHelper.AssertContextMenuStripContainsItem(contextMenu, contextMenuRunWaterLevelCalculationsIndex, expectedItemText, expectedItemTooltip, RiskeerCommonFormsResources.CalculateAllIcon); } } @@ -568,7 +617,7 @@ using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { // Call - contextMenuAdapter.Items[contextMenuRunAssessmentLevelCalculationsIndex].PerformClick(); + contextMenuAdapter.Items[contextMenuRunWaterLevelCalculationsIndex].PerformClick(); // Assert AssessmentLevelCalculationInput designWaterLevelCalculationInput = designWaterLevelCalculator.ReceivedInputs.First(); @@ -657,7 +706,7 @@ using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { // Call - contextMenuAdapter.Items[contextMenuRunAssessmentLevelCalculationsIndex].PerformClick(); + contextMenuAdapter.Items[contextMenuRunWaterLevelCalculationsIndex].PerformClick(); // Assert AssessmentLevelCalculationInput designWaterLevelCalculationInput = designWaterLevelCalculator.ReceivedInputs.First(); @@ -744,7 +793,7 @@ using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { // Call - contextMenuAdapter.Items[contextMenuRunAssessmentLevelCalculationsIndex].PerformClick(); + contextMenuAdapter.Items[contextMenuRunWaterLevelCalculationsIndex].PerformClick(); // Assert AssessmentLevelCalculationInput designWaterLevelCalculationInput = designWaterLevelCalculator.ReceivedInputs.First(); @@ -822,7 +871,7 @@ using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) { // When - void Call() => contextMenuAdapter.Items[contextMenuRunAssessmentLevelCalculationsIndex].PerformClick(); + void Call() => contextMenuAdapter.Items[contextMenuRunWaterLevelCalculationsIndex].PerformClick(); // Then TestHelper.AssertLogMessages(Call, messages =>