Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj =================================================================== diff -u -r743c32ba40bc0d0165d0513d6ca95282b1021e6a -r6833a6c92024007966c7fd99a955b234653f2ef8 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision 743c32ba40bc0d0165d0513d6ca95282b1021e6a) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision 6833a6c92024007966c7fd99a955b234653f2ef8) @@ -61,7 +61,6 @@ True Resources.resx - UserControl Fisheye: Tag 6833a6c92024007966c7fd99a955b234653f2ef8 refers to a dead (removed) revision in file `Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/DefaultFailureMechanismTreeNodeInfo.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj =================================================================== diff -u -r7d242b8efca25dd01d33ba0481d707f7ee4baebd -r6833a6c92024007966c7fd99a955b234653f2ef8 --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj (.../Ringtoets.Common.Forms.Test.csproj) (revision 7d242b8efca25dd01d33ba0481d707f7ee4baebd) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj (.../Ringtoets.Common.Forms.Test.csproj) (revision 6833a6c92024007966c7fd99a955b234653f2ef8) @@ -67,7 +67,6 @@ - Fisheye: Tag 6833a6c92024007966c7fd99a955b234653f2ef8 refers to a dead (removed) revision in file `Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/DefaultFailureMechanismTreeNodeInfoTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsFailureMechanismContextTreeNodeInfoTest.cs =================================================================== diff -u -r7206def3cee84d518d3f7ea1b76e05e3163b8aea -r6833a6c92024007966c7fd99a955b234653f2ef8 --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsFailureMechanismContextTreeNodeInfoTest.cs (.../GrassCoverErosionInwardsFailureMechanismContextTreeNodeInfoTest.cs) (revision 7206def3cee84d518d3f7ea1b76e05e3163b8aea) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsFailureMechanismContextTreeNodeInfoTest.cs (.../GrassCoverErosionInwardsFailureMechanismContextTreeNodeInfoTest.cs) (revision 6833a6c92024007966c7fd99a955b234653f2ef8) @@ -49,7 +49,8 @@ private GrassCoverErosionInwardsGuiPlugin plugin; private TreeNodeInfo info; - private const int contextMenuRelevancyIndex = 1; + private const int contextMenuRelevancyIndexWhenRelevant = 1; + private const int contextMenuRelevancyIndexWhenNotRelevant = 0; [SetUp] public void SetUp() @@ -268,7 +269,7 @@ var menu = info.ContextMenuStrip(failureMechanismContext, assessmentSection, treeView); // Assert - TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuRelevancyIndex, + TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuRelevancyIndexWhenRelevant, RingtoetsCommonFormsResources.FailureMechanismContextMenuStrip_Is_relevant, RingtoetsCommonFormsResources.FailureMechanismContextMenuStrip_Is_relevant_Tooltip, RingtoetsCommonFormsResources.Checkbox_ticked); @@ -310,11 +311,47 @@ var contextMenu = info.ContextMenuStrip(failureMechanismContext, null, treeViewControl); // Call - contextMenu.Items[contextMenuRelevancyIndex].PerformClick(); + contextMenu.Items[contextMenuRelevancyIndexWhenRelevant].PerformClick(); // Assert Assert.IsFalse(failureMechanism.IsRelevant); mocksRepository.VerifyAll(); } + + [Test] + public void ContextMenuStrip_FailureMechanismIsNotRelevantAndClickOnIsRelevantItem_MakeFailureMechanismRelevant() + { + // Setup + var failureMechanismObserver = mocksRepository.Stub(); + failureMechanismObserver.Expect(o => o.UpdateObserver()); + + var failureMechanism = new GrassCoverErosionInwardsFailureMechanism + { + IsRelevant = false + }; + failureMechanism.Attach(failureMechanismObserver); + + var assessmentSection = mocksRepository.Stub(); + var failureMechanismContext = new GrassCoverErosionInwardsFailureMechanismContext(failureMechanism, assessmentSection); + + var treeViewControl = mocksRepository.StrictMock(); + var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); + + var gui = mocksRepository.StrictMock(); + gui.Expect(g => g.Get(failureMechanismContext, treeViewControl)).Return(menuBuilder); + + mocksRepository.ReplayAll(); + + plugin.Gui = gui; + + var contextMenu = info.ContextMenuStrip(failureMechanismContext, null, treeViewControl); + + // Call + contextMenu.Items[contextMenuRelevancyIndexWhenNotRelevant].PerformClick(); + + // Assert + Assert.IsTrue(failureMechanism.IsRelevant); + mocksRepository.VerifyAll(); + } } } \ No newline at end of file Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/TreeNodeInfos/FailureMechanismPlaceholderTreeNodeInfoTest.cs =================================================================== diff -u -r330586b375b0f21f7aa9f650827ffe29572a2f03 -r6833a6c92024007966c7fd99a955b234653f2ef8 --- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/TreeNodeInfos/FailureMechanismPlaceholderTreeNodeInfoTest.cs (.../FailureMechanismPlaceholderTreeNodeInfoTest.cs) (revision 330586b375b0f21f7aa9f650827ffe29572a2f03) +++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/TreeNodeInfos/FailureMechanismPlaceholderTreeNodeInfoTest.cs (.../FailureMechanismPlaceholderTreeNodeInfoTest.cs) (revision 6833a6c92024007966c7fd99a955b234653f2ef8) @@ -413,6 +413,49 @@ mocks.VerifyAll(); } + [Test] + public void ContextMenuStrip_FailureMechanismIsNotRelevantAndClickOnIsRelevantItem_MakeFailureMechanismRelevant() + { + // Setup + var failureMechanismObserver = mocks.Stub(); + failureMechanismObserver.Expect(o => o.UpdateObserver()); + + var failureMechanism = new FailureMechanismPlaceholder("A") + { + IsRelevant = false + }; + failureMechanism.Attach(failureMechanismObserver); + + var assessmentSection = mocks.Stub(); + var failureMechanismContext = new FailureMechanismPlaceholderContext(failureMechanism, assessmentSection); + + var treeViewControl = mocks.StrictMock(); + var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); + + var gui = mocks.StrictMock(); + gui.Stub(g => g.ProjectOpened += null).IgnoreArguments(); + gui.Stub(g => g.ProjectOpened -= null).IgnoreArguments(); + gui.Expect(g => g.Get(failureMechanismContext, treeViewControl)).Return(menuBuilder); + + mocks.ReplayAll(); + + using (var guiPlugin = new RingtoetsGuiPlugin()) + { + guiPlugin.Gui = gui; + + var info = GetInfo(guiPlugin); + + var contextMenu = info.ContextMenuStrip(failureMechanismContext, null, treeViewControl); + + // Call + contextMenu.Items[contextMenuRelevancyIndex].PerformClick(); + + // Assert + Assert.IsTrue(failureMechanism.IsRelevant); + } + mocks.VerifyAll(); + } + private TreeNodeInfo GetInfo(RingtoetsGuiPlugin guiPlugin) { return guiPlugin.GetTreeNodeInfos().First(tni => tni.TagType == typeof(FailureMechanismPlaceholderContext)); Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingFailureMechanismContextTreeNodeInfoTest.cs =================================================================== diff -u -r7206def3cee84d518d3f7ea1b76e05e3163b8aea -r6833a6c92024007966c7fd99a955b234653f2ef8 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingFailureMechanismContextTreeNodeInfoTest.cs (.../PipingFailureMechanismContextTreeNodeInfoTest.cs) (revision 7206def3cee84d518d3f7ea1b76e05e3163b8aea) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingFailureMechanismContextTreeNodeInfoTest.cs (.../PipingFailureMechanismContextTreeNodeInfoTest.cs) (revision 6833a6c92024007966c7fd99a955b234653f2ef8) @@ -57,7 +57,8 @@ private PipingGuiPlugin plugin; private TreeNodeInfo info; - private const int contextMenuRelevancyIndex = 1; + private const int contextMenuRelevancyIndexWhenRelevant = 1; + private const int contextMenuRelevancyIndexWhenNotRelevant = 0; private const int contextMenuValidateAllIndex = 3; private const int contextMenuCalculateAllIndex = 4; private const int contextMenuClearIndex = 5; @@ -645,11 +646,47 @@ var contextMenu = info.ContextMenuStrip(failureMechanismContext, null, treeViewControl); // Call - contextMenu.Items[contextMenuRelevancyIndex].PerformClick(); + contextMenu.Items[contextMenuRelevancyIndexWhenRelevant].PerformClick(); // Assert Assert.IsFalse(failureMechanism.IsRelevant); mocks.VerifyAll(); } + + [Test] + public void ContextMenuStrip_FailureMechanismIsNotRelevantAndClickOnIsRelevantItem_MakeFailureMechanismRelevant() + { + // Setup + var failureMechanismObserver = mocks.Stub(); + failureMechanismObserver.Expect(o => o.UpdateObserver()); + + var failureMechanism = new PipingFailureMechanism + { + IsRelevant = false + }; + failureMechanism.Attach(failureMechanismObserver); + + var assessmentSection = mocks.Stub(); + var failureMechanismContext = new PipingFailureMechanismContext(failureMechanism, assessmentSection); + + var treeViewControl = mocks.StrictMock(); + var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); + + var gui = mocks.StrictMock(); + gui.Expect(g => g.Get(failureMechanismContext, treeViewControl)).Return(menuBuilder); + + mocks.ReplayAll(); + + plugin.Gui = gui; + + var contextMenu = info.ContextMenuStrip(failureMechanismContext, null, treeViewControl); + + // Call + contextMenu.Items[contextMenuRelevancyIndexWhenNotRelevant].PerformClick(); + + // Assert + Assert.IsTrue(failureMechanism.IsRelevant); + mocks.VerifyAll(); + } } } \ No newline at end of file