Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingPlugin.cs =================================================================== diff -u -r52cdf6d3134a95bad594aa61c9ef062a97b1a2ab -r39b5069cba551091731554a275e54896e5a5daa8 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingPlugin.cs (.../PipingPlugin.cs) (revision 52cdf6d3134a95bad594aa61c9ef062a97b1a2ab) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingPlugin.cs (.../PipingPlugin.cs) (revision 39b5069cba551091731554a275e54896e5a5daa8) @@ -515,7 +515,9 @@ #region Piping TreeNodeInfo - private ContextMenuStrip FailureMechanismEnabledContextMenuStrip(PipingFailureMechanismContext pipingFailureMechanismContext, object parentData, TreeViewControl treeViewControl) + private ContextMenuStrip FailureMechanismEnabledContextMenuStrip(PipingFailureMechanismContext pipingFailureMechanismContext, + object parentData, + TreeViewControl treeViewControl) { var builder = new RingtoetsContextMenuBuilder(Gui.Get(pipingFailureMechanismContext, treeViewControl)); @@ -546,11 +548,13 @@ ValidateAll(context.WrappedData.Calculations.OfType()); } - private ContextMenuStrip FailureMechanismDisabledContextMenuStrip(PipingFailureMechanismContext pipingFailureMechanismContext, object parentData, TreeViewControl treeViewControl) + private ContextMenuStrip FailureMechanismDisabledContextMenuStrip(PipingFailureMechanismContext pipingFailureMechanismContext, + object parentData, + TreeViewControl treeViewControl) { var builder = new RingtoetsContextMenuBuilder(Gui.Get(pipingFailureMechanismContext, treeViewControl)); - return builder.AddToggleRelevancyOfFailureMechanismItem(pipingFailureMechanismContext, null) + return builder.AddToggleRelevancyOfFailureMechanismItem(pipingFailureMechanismContext, RemoveAllViewsForItem) .AddSeparator() .AddExpandAllItem() .AddCollapseAllItem() @@ -577,7 +581,7 @@ { return new object[] { - new CommentContext(pipingFailureMechanismContext.WrappedData) + new CommentContext(pipingFailureMechanismContext.WrappedData.NotRelevantComments) }; } @@ -588,7 +592,7 @@ new FailureMechanismSectionsContext(failureMechanism, assessmentSection), new RingtoetsPipingSurfaceLinesContext(failureMechanism.SurfaceLines, failureMechanism, assessmentSection), new StochasticSoilModelsContext(failureMechanism.StochasticSoilModels, failureMechanism, assessmentSection), - new CommentContext(failureMechanism) + new CommentContext(failureMechanism.InputComments) }; } @@ -597,7 +601,9 @@ return new ArrayList { new PipingScenariosContext(failureMechanism.CalculationsGroup, failureMechanism), - new FailureMechanismSectionResultContext(failureMechanism.SectionResults, failureMechanism) + new FailureMechanismSectionResultContext( + failureMechanism.SectionResults, failureMechanism), + new CommentContext(failureMechanism.OutputComments) }; } Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingFailureMechanismContextTreeNodeInfoTest.cs =================================================================== diff -u -re82f04fb50a7b5a6f9c45289258c00c94aa8c64c -r39b5069cba551091731554a275e54896e5a5daa8 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingFailureMechanismContextTreeNodeInfoTest.cs (.../PipingFailureMechanismContextTreeNodeInfoTest.cs) (revision e82f04fb50a7b5a6f9c45289258c00c94aa8c64c) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingFailureMechanismContextTreeNodeInfoTest.cs (.../PipingFailureMechanismContextTreeNodeInfoTest.cs) (revision 39b5069cba551091731554a275e54896e5a5daa8) @@ -163,8 +163,8 @@ Assert.AreSame(pipingFailureMechanism, stochasticSoilModelContext.FailureMechanism); Assert.AreSame(assessmentSection, stochasticSoilModelContext.AssessmentSection); - var commentContext = (CommentContext) inputsFolder.Contents[3]; - Assert.AreSame(pipingFailureMechanism, commentContext.WrappedData); + var inputCommentContext = (CommentContext) inputsFolder.Contents[3]; + Assert.AreSame(pipingFailureMechanism.InputComments, inputCommentContext.WrappedData); var calculationsFolder = (PipingCalculationGroupContext) children[1]; Assert.AreEqual("Berekeningen", calculationsFolder.WrappedData.Name); @@ -177,17 +177,21 @@ Assert.AreEqual("Oordeel", outputsFolder.Name); Assert.AreEqual(TreeFolderCategory.Output, outputsFolder.Category); + Assert.AreEqual(3, outputsFolder.Contents.Count); var failureMechanismScenariosContext = (PipingScenariosContext) outputsFolder.Contents[0]; Assert.AreSame(pipingFailureMechanism, failureMechanismScenariosContext.ParentFailureMechanism); Assert.AreSame(pipingFailureMechanism.CalculationsGroup, failureMechanismScenariosContext.WrappedData); var failureMechanismResultsContext = (FailureMechanismSectionResultContext) outputsFolder.Contents[1]; Assert.AreSame(pipingFailureMechanism, failureMechanismResultsContext.FailureMechanism); Assert.AreSame(pipingFailureMechanism.SectionResults, failureMechanismResultsContext.WrappedData); + + var outputCommentContext = (CommentContext) outputsFolder.Contents[2]; + Assert.AreSame(pipingFailureMechanism.OutputComments, outputCommentContext.WrappedData); } [Test] - public void ChildNodeObjects_FailureMechanismIsNotRelevant_ReturnOnlyFailureMechanismComments() + public void ChildNodeObjects_FailureMechanismIsNotRelevant_ReturnOnlyFailureMechanismNotRelevantComments() { // Setup var assessmentSection = mocks.Stub(); @@ -209,7 +213,7 @@ // Assert Assert.AreEqual(1, children.Length); var commentContext = (CommentContext) children[0]; - Assert.AreSame(pipingFailureMechanism, commentContext.WrappedData); + Assert.AreSame(pipingFailureMechanism.NotRelevantComments, commentContext.WrappedData); } [Test] @@ -659,10 +663,7 @@ var failureMechanismObserver = mocks.Stub(); failureMechanismObserver.Expect(o => o.UpdateObserver()); - var failureMechanism = new PipingFailureMechanism - { - IsRelevant = true - }; + var failureMechanism = new PipingFailureMechanism(); failureMechanism.Attach(failureMechanismObserver); var assessmentSection = mocks.Stub(); @@ -710,9 +711,13 @@ var assessmentSection = mocks.Stub(); var failureMechanismContext = new PipingFailureMechanismContext(failureMechanism, assessmentSection); + var viewCommands = mocks.StrictMock(); + viewCommands.Expect(vs => vs.RemoveAllViewsForItem(failureMechanismContext)); + var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); var gui = mocks.StrictMock(); + gui.Stub(g => g.ViewCommands).Return(viewCommands); gui.Expect(g => g.Get(failureMechanismContext, treeViewControl)).Return(menuBuilder); mocks.ReplayAll(); Index: Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Plugin/StabilityPointStructuresPlugin.cs =================================================================== diff -u -rbc9af05d3eb0d40e5620b96f537ed92f3ae52e94 -r39b5069cba551091731554a275e54896e5a5daa8 --- Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Plugin/StabilityPointStructuresPlugin.cs (.../StabilityPointStructuresPlugin.cs) (revision bc9af05d3eb0d40e5620b96f537ed92f3ae52e94) +++ Ringtoets/StabilityPointStructures/src/Ringtoets.StabilityPointStructures.Plugin/StabilityPointStructuresPlugin.cs (.../StabilityPointStructuresPlugin.cs) (revision 39b5069cba551091731554a275e54896e5a5daa8) @@ -200,7 +200,7 @@ var assessmentSection = o as IAssessmentSection; var failureMechanism = o as StabilityPointStructuresFailureMechanism; - var viewFailureMechanismContext = (StabilityPointStructuresFailureMechanismContext)view.Data; + var viewFailureMechanismContext = (StabilityPointStructuresFailureMechanismContext) view.Data; var viewFailureMechanism = viewFailureMechanismContext.WrappedData; return assessmentSection != null @@ -369,18 +369,19 @@ { return new object[] { - new CommentContext(stabilityPointStructuresFailureMechanismContext.WrappedData) + new CommentContext(stabilityPointStructuresFailureMechanismContext.WrappedData.NotRelevantComments) }; } - private static object[] GetInputs(StabilityPointStructuresFailureMechanism failureMechanism, IAssessmentSection assessmentSection) + private static object[] GetInputs(StabilityPointStructuresFailureMechanism failureMechanism, + IAssessmentSection assessmentSection) { return new object[] { new FailureMechanismSectionsContext(failureMechanism, assessmentSection), new ForeshoreProfilesContext(failureMechanism.ForeshoreProfiles, failureMechanism, assessmentSection), new StabilityPointStructuresContext(failureMechanism.StabilityPointStructures, failureMechanism, assessmentSection), - new CommentContext(failureMechanism) + new CommentContext(failureMechanism.InputComments) }; } @@ -389,7 +390,9 @@ return new object[] { new StabilityPointStructuresScenariosContext(failureMechanism.CalculationsGroup, failureMechanism), - new FailureMechanismSectionResultContext(failureMechanism.SectionResults, failureMechanism) + new FailureMechanismSectionResultContext( + failureMechanism.SectionResults, failureMechanism), + new CommentContext(failureMechanism.OutputComments) }; } @@ -428,7 +431,7 @@ { var builder = new RingtoetsContextMenuBuilder(Gui.Get(stabilityPointStructuresFailureMechanismContext, treeViewControl)); - return builder.AddToggleRelevancyOfFailureMechanismItem(stabilityPointStructuresFailureMechanismContext, null) + return builder.AddToggleRelevancyOfFailureMechanismItem(stabilityPointStructuresFailureMechanismContext, RemoveAllViewsForItem) .AddSeparator() .AddExpandAllItem() .AddCollapseAllItem() Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Forms.Test/TreeNodeInfos/StabilityPointStructuresFailureMechanismContextTreeNodeInfoTest.cs =================================================================== diff -u -rf724e2a23cc180381b736c4da1318d87398e5758 -r39b5069cba551091731554a275e54896e5a5daa8 --- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Forms.Test/TreeNodeInfos/StabilityPointStructuresFailureMechanismContextTreeNodeInfoTest.cs (.../StabilityPointStructuresFailureMechanismContextTreeNodeInfoTest.cs) (revision f724e2a23cc180381b736c4da1318d87398e5758) +++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Forms.Test/TreeNodeInfos/StabilityPointStructuresFailureMechanismContextTreeNodeInfoTest.cs (.../StabilityPointStructuresFailureMechanismContextTreeNodeInfoTest.cs) (revision 39b5069cba551091731554a275e54896e5a5daa8) @@ -139,8 +139,8 @@ Assert.AreSame(failureMechanism, stabilityPointStructuresContext.FailureMechanism); Assert.AreSame(assessmentSectionMock, stabilityPointStructuresContext.AssessmentSection); - var commentContext = (CommentContext) inputsFolder.Contents[3]; - Assert.AreSame(failureMechanism, commentContext.WrappedData); + var inputCommentContext = (CommentContext) inputsFolder.Contents[3]; + Assert.AreSame(failureMechanism.InputComments, inputCommentContext.WrappedData); var calculationsFolder = (StabilityPointStructuresCalculationGroupContext) children[1]; Assert.AreEqual("Berekeningen", calculationsFolder.WrappedData.Name); @@ -150,7 +150,7 @@ var outputsFolder = (CategoryTreeFolder) children[2]; Assert.AreEqual("Oordeel", outputsFolder.Name); Assert.AreEqual(TreeFolderCategory.Output, outputsFolder.Category); - Assert.AreEqual(2, outputsFolder.Contents.Count); + Assert.AreEqual(3, outputsFolder.Contents.Count); var scenariosContext = (StabilityPointStructuresScenariosContext) outputsFolder.Contents[0]; Assert.AreSame(failureMechanism, scenariosContext.ParentFailureMechanism); @@ -159,12 +159,15 @@ var failureMechanismResultsContext = (FailureMechanismSectionResultContext) outputsFolder.Contents[1]; Assert.AreSame(failureMechanism, failureMechanismResultsContext.FailureMechanism); Assert.AreSame(failureMechanism.SectionResults, failureMechanismResultsContext.WrappedData); + + var outputCommentContext = (CommentContext) outputsFolder.Contents[2]; + Assert.AreSame(failureMechanism.OutputComments, outputCommentContext.WrappedData); } mocksRepository.VerifyAll(); } [Test] - public void ChildNodeObjects_FailureMechanismIsNotRelevant_ReturnOnlyFailureMechanismComments() + public void ChildNodeObjects_FailureMechanismIsNotRelevant_ReturnOnlyFailureMechanismNotRelevantComments() { // Setup var assessmentSectionMock = mocksRepository.Stub(); @@ -186,7 +189,7 @@ // Assert Assert.AreEqual(1, children.Length); var commentContext = (CommentContext) children[0]; - Assert.AreSame(failureMechanism, commentContext.WrappedData); + Assert.AreSame(failureMechanism.NotRelevantComments, commentContext.WrappedData); } mocksRepository.VerifyAll(); } @@ -365,7 +368,7 @@ } [Test] - public void ContextMenuStrip_FailureMechanismIsRelevantAndClickOnIsRelevantItem_OnChangeActionRemovesAllViewsForItem() + public void ContextMenuStrip_FailureMechanismIsRelevantAndClickOnIsRelevantItem_MakeFailureMechanismNotRelevantAndRemovesAllViewsForItem() { // Setup var failureMechanism = new StabilityPointStructuresFailureMechanism(); @@ -392,15 +395,17 @@ { // Call contextMenu.Items[contextMenuRelevancyIndexWhenRelevant].PerformClick(); + + // Assert + Assert.IsFalse(failureMechanism.IsRelevant); } } - // Assert mocksRepository.VerifyAll(); } [Test] - public void ContextMenuStrip_FailureMechanismIsNotRelevantAndClickOnIsRelevantItem_MakeFailureMechanismRelevant() + public void ContextMenuStrip_FailureMechanismIsNotRelevantAndClickOnIsRelevantItem_MakeFailureMechanismRelevantAndRemovesAllViewsForItem() { // Setup var failureMechanism = new StabilityPointStructuresFailureMechanism @@ -409,9 +414,13 @@ }; var assessmentSectionMock = mocksRepository.Stub(); var failureMechanismContext = new StabilityPointStructuresFailureMechanismContext(failureMechanism, assessmentSectionMock); + var viewCommandsMock = mocksRepository.StrictMock(); var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); var guiMock = mocksRepository.StrictMock(); + viewCommandsMock.Expect(vs => vs.RemoveAllViewsForItem(failureMechanismContext)); + guiMock.Stub(g => g.ViewCommands).Return(viewCommandsMock); + using (var plugin = new StabilityPointStructuresPlugin()) using (var treeViewControl = new TreeViewControl()) { @@ -426,10 +435,12 @@ { // Call contextMenu.Items[contextMenuRelevancyIndexWhenNotRelevant].PerformClick(); + + // Assert + Assert.IsTrue(failureMechanism.IsRelevant); } } - // Assert mocksRepository.VerifyAll(); }