Index: Riskeer/Common/src/Riskeer.Common.Forms/TreeNodeInfos/RiskeerContextMenuBuilder.cs =================================================================== diff -u -r78b6df61d5905147137d8bade762490d127f4695 -r08190833dafeaa0e6dd78fe188b0207c1c6a2ece --- Riskeer/Common/src/Riskeer.Common.Forms/TreeNodeInfos/RiskeerContextMenuBuilder.cs (.../RiskeerContextMenuBuilder.cs) (revision 78b6df61d5905147137d8bade762490d127f4695) +++ Riskeer/Common/src/Riskeer.Common.Forms/TreeNodeInfos/RiskeerContextMenuBuilder.cs (.../RiskeerContextMenuBuilder.cs) (revision 08190833dafeaa0e6dd78fe188b0207c1c6a2ece) @@ -328,6 +328,20 @@ public RiskeerContextMenuBuilder AddClearIllustrationPointsOfCalculationsItem( Func isEnabledFunc, IClearIllustrationPointsOfCalculationCollectionChangeHandler changeHandler) { + contextMenuBuilder.AddCustomItem(RiskeerContextMenuItemFactory.CreateClearIllustrationPointsOfCalculationsItem(isEnabledFunc, changeHandler)); + return this; + } + + /// + /// Adds an item to the which is bound to the action + /// of clearing illustration points from collections of calculations in a group. + /// + /// The function to determine whether this item should be enabled. + /// Object responsible for clearing the illustration point results. + /// The itself. + public RiskeerContextMenuBuilder AddClearIllustrationPointsOfCalculationsInGroupItem( + Func isEnabledFunc, IClearIllustrationPointsOfCalculationCollectionChangeHandler changeHandler) + { contextMenuBuilder.AddCustomItem(RiskeerContextMenuItemFactory.CreateClearIllustrationPointsOfCalculationsInGroupItem(isEnabledFunc, changeHandler)); return this; } Index: Riskeer/Common/test/Riskeer.Common.Forms.Test/TreeNodeInfos/RiskeerContextMenuBuilderTest.cs =================================================================== diff -u -r29ca79417b77f2ef9e1d69c19b1b152c25b020e4 -r08190833dafeaa0e6dd78fe188b0207c1c6a2ece --- Riskeer/Common/test/Riskeer.Common.Forms.Test/TreeNodeInfos/RiskeerContextMenuBuilderTest.cs (.../RiskeerContextMenuBuilderTest.cs) (revision 29ca79417b77f2ef9e1d69c19b1b152c25b020e4) +++ Riskeer/Common/test/Riskeer.Common.Forms.Test/TreeNodeInfos/RiskeerContextMenuBuilderTest.cs (.../RiskeerContextMenuBuilderTest.cs) (revision 08190833dafeaa0e6dd78fe188b0207c1c6a2ece) @@ -886,7 +886,7 @@ { // Setup string expectedToolTipMessage = isEnabled - ? "Wis alle berekende illustratiepunten binnen deze map met berekeningen." + ? "Wis alle berekende illustratiepunten." : "Er zijn geen berekeningen met illustratiepunten om te wissen."; var mocks = new MockRepository(); @@ -913,6 +913,42 @@ #endregion + #region AddClearIllustrationPointsOfCalculationsInGroupItem + + [Test] + [TestCase(true)] + [TestCase(false)] + public void AddClearIllustrationPointsOfCalculationsInGroupItem_EnabledSituation_ItemAddedToContextMenuAsExpected(bool isEnabled) + { + // Setup + string expectedToolTipMessage = isEnabled + ? "Wis alle berekende illustratiepunten binnen deze map met berekeningen." + : "Er zijn geen berekeningen met illustratiepunten om te wissen."; + + var mocks = new MockRepository(); + var changeHandler = mocks.StrictMock(); + var contextMenuBuilder = mocks.StrictMock(); + contextMenuBuilder.Expect(cmb => cmb.AddCustomItem(Arg.Is.NotNull)) + .WhenCalled(arg => + { + var contextMenuItem = (StrictContextMenuItem) arg.Arguments[0]; + Assert.AreEqual("Wis alle illustratiepunten...", contextMenuItem.Text); + Assert.AreEqual(expectedToolTipMessage, contextMenuItem.ToolTipText); + Assert.AreEqual(isEnabled, contextMenuItem.Enabled); + }); + mocks.ReplayAll(); + + var riskeerContextMenuBuilder = new RiskeerContextMenuBuilder(contextMenuBuilder); + + // Call + riskeerContextMenuBuilder.AddClearIllustrationPointsOfCalculationsInGroupItem(() => isEnabled, changeHandler); + + // Assert + mocks.VerifyAll(); + } + + #endregion + #region AddClearIllustrationPointsOfCalculationsItem [Test]