Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Plugin/ClosingStructuresPlugin.cs =================================================================== diff -u -r7a165d807e1cce8ca51f7707ce6addb0951aa8b4 -r2f4ab8ae59075bc9fe42f07604d2d72bb685531d --- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Plugin/ClosingStructuresPlugin.cs (.../ClosingStructuresPlugin.cs) (revision 7a165d807e1cce8ca51f7707ce6addb0951aa8b4) +++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Plugin/ClosingStructuresPlugin.cs (.../ClosingStructuresPlugin.cs) (revision 2f4ab8ae59075bc9fe42f07604d2d72bb685531d) @@ -338,7 +338,9 @@ }; } - private ContextMenuStrip FailureMechanismEnabledContextMenuStrip(ClosingStructuresFailureMechanismContext closingStructuresFailureMechanismContext, object parentData, TreeViewControl treeViewControl) + private ContextMenuStrip FailureMechanismEnabledContextMenuStrip(ClosingStructuresFailureMechanismContext closingStructuresFailureMechanismContext, + object parentData, + TreeViewControl treeViewControl) { var builder = new RingtoetsContextMenuBuilder(Gui.Get(closingStructuresFailureMechanismContext, treeViewControl)); Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Forms.Test/TreeNodeInfos/ClosingStructureFailureMechanismContextTreeNodeInfoTest.cs =================================================================== diff -u -rb511be73943a75edb281b05825772474b88c40d7 -r2f4ab8ae59075bc9fe42f07604d2d72bb685531d --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Forms.Test/TreeNodeInfos/ClosingStructureFailureMechanismContextTreeNodeInfoTest.cs (.../ClosingStructureFailureMechanismContextTreeNodeInfoTest.cs) (revision b511be73943a75edb281b05825772474b88c40d7) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Forms.Test/TreeNodeInfos/ClosingStructureFailureMechanismContextTreeNodeInfoTest.cs (.../ClosingStructureFailureMechanismContextTreeNodeInfoTest.cs) (revision 2f4ab8ae59075bc9fe42f07604d2d72bb685531d) @@ -115,11 +115,11 @@ public void ChildNodeObjects_FailureMechanismIsRelevant_ReturnChildDataNodes() { // Setup - var assessmentSectionMock = mocksRepository.Stub(); + var assessmentSectionStub = mocksRepository.Stub(); mocksRepository.ReplayAll(); var failureMechanism = new ClosingStructuresFailureMechanism(); - var failureMechanismContext = new ClosingStructuresFailureMechanismContext(failureMechanism, assessmentSectionMock); + var failureMechanismContext = new ClosingStructuresFailureMechanismContext(failureMechanism, assessmentSectionStub); // Call var children = info.ChildNodeObjects(failureMechanismContext).ToArray(); @@ -134,17 +134,17 @@ Assert.AreEqual(4, inputsFolder.Contents.Count); var failureMechanismSectionsContext = (FailureMechanismSectionsContext) inputsFolder.Contents[0]; Assert.AreSame(failureMechanism, failureMechanismSectionsContext.WrappedData); - Assert.AreSame(assessmentSectionMock, failureMechanismSectionsContext.ParentAssessmentSection); + Assert.AreSame(assessmentSectionStub, failureMechanismSectionsContext.ParentAssessmentSection); var profilesContext = (ForeshoreProfilesContext) inputsFolder.Contents[1]; Assert.AreSame(failureMechanism.ForeshoreProfiles, profilesContext.WrappedData); Assert.AreSame(failureMechanism, profilesContext.ParentFailureMechanism); - Assert.AreSame(assessmentSectionMock, profilesContext.ParentAssessmentSection); + Assert.AreSame(assessmentSectionStub, profilesContext.ParentAssessmentSection); var closingStructuresContext = (ClosingStructuresContext) inputsFolder.Contents[2]; Assert.AreSame(failureMechanism.ClosingStructures, closingStructuresContext.WrappedData); Assert.AreSame(failureMechanism, closingStructuresContext.FailureMechanism); - Assert.AreSame(assessmentSectionMock, closingStructuresContext.AssessmentSection); + Assert.AreSame(assessmentSectionStub, closingStructuresContext.AssessmentSection); var inputCommentContext = (CommentContext) inputsFolder.Contents[3]; Assert.AreSame(failureMechanism.InputComments, inputCommentContext.WrappedData); @@ -353,7 +353,7 @@ } [Test] - public void ContextMenuStrip_FailureMechanismIsRelevantAndClickOnIsRelevantItem_OnChangeActionRemovesAllViewsForItem() + public void ContextMenuStrip_FailureMechanismIsRelevantAndClickOnIsRelevantItem_MakeFailureMechanismNotRelevantAndRemovesAllViewsForItem() { // Setup var failureMechanism = new ClosingStructuresFailureMechanism(); @@ -377,15 +377,15 @@ { // Call contextMenu.Items[contextMenuRelevancyIndexWhenRelevant].PerformClick(); + + // Assert + Assert.IsFalse(failureMechanism.IsRelevant); } } - - // Assert - // Assert is done in TearDown } [Test] - public void ContextMenuStrip_FailureMechanismIsNotRelevantAndClickOnIsRelevantItem_OnChangeActionRemovesAllViewsForItem() + public void ContextMenuStrip_FailureMechanismIsNotRelevantAndClickOnIsRelevantItem_MakeFailureMechanismRelevantAndRemovesAllViewsForItem() { // Setup var failureMechanism = new ClosingStructuresFailureMechanism @@ -412,11 +412,11 @@ { // Call contextMenu.Items[contextMenuRelevancyIndexWhenNotRelevant].PerformClick(); + + // Assert + Assert.IsTrue(failureMechanism.IsRelevant); } } - - // Assert - // Assert is done in TearDown } [Test] Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsFailureMechanismContextTreeNodeInfoTest.cs =================================================================== diff -u -rb511be73943a75edb281b05825772474b88c40d7 -r2f4ab8ae59075bc9fe42f07604d2d72bb685531d --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsFailureMechanismContextTreeNodeInfoTest.cs (.../GrassCoverErosionInwardsFailureMechanismContextTreeNodeInfoTest.cs) (revision b511be73943a75edb281b05825772474b88c40d7) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsFailureMechanismContextTreeNodeInfoTest.cs (.../GrassCoverErosionInwardsFailureMechanismContextTreeNodeInfoTest.cs) (revision 2f4ab8ae59075bc9fe42f07604d2d72bb685531d) @@ -342,7 +342,7 @@ } [Test] - public void ContextMenuStrip_FailureMechanismIsRelevantAndClickOnIsRelevantItem_OnChangeActionRemovesAllViewsForItem() + public void ContextMenuStrip_FailureMechanismIsRelevantAndClickOnIsRelevantItem_MakeFailureMechanismNotRelevantAndRemovesAllViewsForItem() { // Setup var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); @@ -367,14 +367,15 @@ { // Call contextMenu.Items[contextMenuRelevancyIndexWhenRelevant].PerformClick(); + + // Assert + Assert.IsFalse(failureMechanism.IsRelevant); } } - // Assert - // Assert expectancies are called in TearDown() } [Test] - public void ContextMenuStrip_FailureMechanismIsNotRelevantAndClickOnIsRelevantItem_OnChangeActionRemovesAllViewsForItem() + public void ContextMenuStrip_FailureMechanismIsNotRelevantAndClickOnIsRelevantItem_MakeFailureMechanismRelevantAndRemovesAllViewsForItem() { // Setup var failureMechanism = new GrassCoverErosionInwardsFailureMechanism @@ -402,10 +403,11 @@ { // Call contextMenu.Items[contextMenuRelevancyIndexWhenNotRelevant].PerformClick(); + + // Assert + Assert.IsTrue(failureMechanism.IsRelevant); } } - // Assert - // Assert expectancies are called in TearDown() } [Test] Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs =================================================================== diff -u -rd3f74e71ab47dc8afda0c64ca923f2f889f4154b -r2f4ab8ae59075bc9fe42f07604d2d72bb685531d --- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs (.../GrassCoverErosionOutwardsPlugin.cs) (revision d3f74e71ab47dc8afda0c64ca923f2f889f4154b) +++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Plugin/GrassCoverErosionOutwardsPlugin.cs (.../GrassCoverErosionOutwardsPlugin.cs) (revision 2f4ab8ae59075bc9fe42f07604d2d72bb685531d) @@ -305,7 +305,7 @@ var assessmentSection = data as IAssessmentSection; var failureMechanism = data as GrassCoverErosionOutwardsFailureMechanism; - var viewFailureMechanismContext = (GrassCoverErosionOutwardsFailureMechanismContext)view.Data; + var viewFailureMechanismContext = (GrassCoverErosionOutwardsFailureMechanismContext) view.Data; var viewFailureMechanism = viewFailureMechanismContext.WrappedData; return assessmentSection != null @@ -402,7 +402,7 @@ { return new object[] { - new CommentContext(failureMechanismContext.WrappedData) + new CommentContext(failureMechanismContext.WrappedData.NotRelevantComments) }; } @@ -412,19 +412,23 @@ { new FailureMechanismSectionsContext(failureMechanism, assessmentSection), new ForeshoreProfilesContext(failureMechanism.ForeshoreProfiles, failureMechanism, assessmentSection), - new CommentContext(failureMechanism) + new CommentContext(failureMechanism.InputComments) }; } private static IList GetOutputs(GrassCoverErosionOutwardsFailureMechanism failureMechanism) { return new ArrayList { - new FailureMechanismSectionResultContext(failureMechanism.SectionResults, failureMechanism) + new FailureMechanismSectionResultContext( + failureMechanism.SectionResults, failureMechanism), + new CommentContext(failureMechanism.OutputComments) }; } - private ContextMenuStrip FailureMechanismEnabledContextMenuStrip(GrassCoverErosionOutwardsFailureMechanismContext grassCoverErosionOutwardsFailureMechanismContext, object parentData, TreeViewControl treeViewControl) + private ContextMenuStrip FailureMechanismEnabledContextMenuStrip(GrassCoverErosionOutwardsFailureMechanismContext grassCoverErosionOutwardsFailureMechanismContext, + object parentData, + TreeViewControl treeViewControl) { var builder = new RingtoetsContextMenuBuilder(Gui.Get(grassCoverErosionOutwardsFailureMechanismContext, treeViewControl)); @@ -444,11 +448,13 @@ Gui.ViewCommands.RemoveAllViewsForItem(failureMechanismContext); } - private ContextMenuStrip FailureMechanismDisabledContextMenuStrip(GrassCoverErosionOutwardsFailureMechanismContext grassCoverErosionOutwardsFailureMechanismContext, object parentData, TreeViewControl treeViewControl) + private ContextMenuStrip FailureMechanismDisabledContextMenuStrip(GrassCoverErosionOutwardsFailureMechanismContext grassCoverErosionOutwardsFailureMechanismContext, + object parentData, + TreeViewControl treeViewControl) { var builder = new RingtoetsContextMenuBuilder(Gui.Get(grassCoverErosionOutwardsFailureMechanismContext, treeViewControl)); - return builder.AddToggleRelevancyOfFailureMechanismItem(grassCoverErosionOutwardsFailureMechanismContext, null) + return builder.AddToggleRelevancyOfFailureMechanismItem(grassCoverErosionOutwardsFailureMechanismContext, RemoveAllViewsForItem) .AddSeparator() .AddExpandAllItem() .AddCollapseAllItem() Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/TreeNodeInfos/GrassCoverErosionOutwardsFailureMechanismContextTreeNodeInfoTest.cs =================================================================== diff -u -rf718135c08ce7b90cc0eaf40bfb83c9af48a1776 -r2f4ab8ae59075bc9fe42f07604d2d72bb685531d --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/TreeNodeInfos/GrassCoverErosionOutwardsFailureMechanismContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsFailureMechanismContextTreeNodeInfoTest.cs) (revision f718135c08ce7b90cc0eaf40bfb83c9af48a1776) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Forms.Test/TreeNodeInfos/GrassCoverErosionOutwardsFailureMechanismContextTreeNodeInfoTest.cs (.../GrassCoverErosionOutwardsFailureMechanismContextTreeNodeInfoTest.cs) (revision 2f4ab8ae59075bc9fe42f07604d2d72bb685531d) @@ -199,8 +199,8 @@ Assert.AreSame(failureMechanism, foreshoreProfilesContext.ParentFailureMechanism); Assert.AreSame(assessmentSection, foreshoreProfilesContext.ParentAssessmentSection); - var commentContext = (CommentContext) inputsFolder.Contents[2]; - Assert.AreSame(failureMechanism, commentContext.WrappedData); + var inputCommentContext = (CommentContext)inputsFolder.Contents[2]; + Assert.AreSame(failureMechanism.InputComments, inputCommentContext.WrappedData); var hydraulicBoundariesGroupContext = (HydraulicBoundariesGroupContext) children[1]; Assert.AreSame(failureMechanism.HydraulicBoundaryLocations, hydraulicBoundariesGroupContext.WrappedData); @@ -210,16 +210,19 @@ var outputsFolder = (CategoryTreeFolder) children[2]; Assert.AreEqual("Oordeel", outputsFolder.Name); Assert.AreEqual(TreeFolderCategory.Output, outputsFolder.Category); - Assert.AreEqual(1, outputsFolder.Contents.Count); + Assert.AreEqual(2, outputsFolder.Contents.Count); var failureMechanismResultsContext = (FailureMechanismSectionResultContext) outputsFolder.Contents[0]; Assert.AreSame(failureMechanism, failureMechanismResultsContext.FailureMechanism); Assert.AreSame(failureMechanism.SectionResults, failureMechanismResultsContext.WrappedData); + + var outputCommentContext = (CommentContext)outputsFolder.Contents[1]; + Assert.AreSame(failureMechanism.OutputComments, outputCommentContext.WrappedData); } [Test] - public void ChildNodeObjects_FailureMechanismIsNotRelevant_ReturnChildDataNodes() + public void ChildNodeObjects_FailureMechanismIsNotRelevant_ReturnOnlyFailureMechanismNotRelevantComments() { // Setup var assessmentSection = mocks.Stub(); @@ -238,7 +241,7 @@ // Assert Assert.AreEqual(1, children.Length); var commentContext = (CommentContext) children[0]; - Assert.AreSame(failureMechanism, commentContext.WrappedData); + Assert.AreSame(failureMechanism.NotRelevantComments, commentContext.WrappedData); } [Test] @@ -317,18 +320,15 @@ } [Test] - public void ContextMenuStrip_FailureMechanismIsRelevantAndClickOnIsRelevantItem_MakeFailureMechanismNotRelevant() + public void ContextMenuStrip_FailureMechanismIsRelevantAndClickOnIsRelevantItem_MakeFailureMechanismNotRelevantAndRemovesAllViewsForItem() { // Setup using (var treeViewControl = new TreeViewControl()) { var failureMechanismObserver = mocks.Stub(); failureMechanismObserver.Expect(o => o.UpdateObserver()); - var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism - { - IsRelevant = true - }; + var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); failureMechanism.Attach(failureMechanismObserver); var assessmentSection = mocks.Stub(); @@ -360,7 +360,7 @@ } [Test] - public void ContextMenuStrip_FailureMechanismIsNotRelevantAndClickOnIsRelevantItem_MakeFailureMechanismRelevant() + public void ContextMenuStrip_FailureMechanismIsNotRelevantAndClickOnIsRelevantItem_MakeFailureMechanismRelevantAndRemovesAllViewsForItem() { // Setup using (var treeViewControl = new TreeViewControl()) @@ -378,9 +378,13 @@ var failureMechanismContext = new GrassCoverErosionOutwardsFailureMechanismContext(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();