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