Index: Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsPlugin.cs =================================================================== diff -u -r1a0ad304560f29f90c11f0f0a208cc68dc0feedd -r6c9f224492d0b35e5d2dedb46de8171d9b1e4db1 --- Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsPlugin.cs (.../GrassCoverErosionInwardsPlugin.cs) (revision 1a0ad304560f29f90c11f0f0a208cc68dc0feedd) +++ Riskeer/GrassCoverErosionInwards/src/Riskeer.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsPlugin.cs (.../GrassCoverErosionInwardsPlugin.cs) (revision 6c9f224492d0b35e5d2dedb46de8171d9b1e4db1) @@ -262,11 +262,9 @@ public override IEnumerable GetTreeNodeInfos() { - yield return RiskeerTreeNodeInfoFactory.CreateFailureMechanismContextTreeNodeInfo( - FailureMechanismEnabledChildNodeObjects, - FailureMechanismDisabledChildNodeObjects, - FailureMechanismEnabledContextMenuStrip, - FailureMechanismDisabledContextMenuStrip); + yield return RiskeerTreeNodeInfoFactory.CreateFailureMechanismStateContextTreeNodeInfo( + CalculationsChildNodeObjects, + CalculationsContextMenuStrip); yield return new TreeNodeInfo { @@ -501,7 +499,7 @@ #region GrassCoverErosionInwardsFailureMechanismContext TreeNodeInfo - private static object[] FailureMechanismEnabledChildNodeObjects(GrassCoverErosionInwardsCalculationsContext context) + private static object[] CalculationsChildNodeObjects(GrassCoverErosionInwardsCalculationsContext context) { GrassCoverErosionInwardsFailureMechanism wrappedData = context.WrappedData; IAssessmentSection assessmentSection = context.Parent; @@ -514,14 +512,6 @@ }; } - private static object[] FailureMechanismDisabledChildNodeObjects(GrassCoverErosionInwardsCalculationsContext context) - { - return new object[] - { - context.WrappedData.NotRelevantComments - }; - } - private static IEnumerable GetInputs(GrassCoverErosionInwardsFailureMechanism failureMechanism, IAssessmentSection assessmentSection) { return new object[] @@ -544,9 +534,9 @@ }; } - private ContextMenuStrip FailureMechanismEnabledContextMenuStrip(GrassCoverErosionInwardsCalculationsContext context, - object parentData, - TreeViewControl treeViewControl) + private ContextMenuStrip CalculationsContextMenuStrip(GrassCoverErosionInwardsCalculationsContext context, + object parentData, + TreeViewControl treeViewControl) { IEnumerable calculations = context.WrappedData .Calculations @@ -580,22 +570,6 @@ .Build(); } - private ContextMenuStrip FailureMechanismDisabledContextMenuStrip(GrassCoverErosionInwardsCalculationsContext context, - object parentData, - TreeViewControl treeViewControl) - { - var builder = new RiskeerContextMenuBuilder(Gui.Get(context, treeViewControl)); - - return builder.AddToggleRelevancyOfFailureMechanismItem(context, - RemoveAllViewsForItem) - .AddSeparator() - .AddCollapseAllItem() - .AddExpandAllItem() - .AddSeparator() - .AddPropertiesItem() - .Build(); - } - private void RemoveAllViewsForItem(GrassCoverErosionInwardsCalculationsContext context) { Gui.ViewCommands.RemoveAllViewsForItem(context); Index: Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionInwardsCalculationsContextTreeNodeInfoTest.cs =================================================================== diff -u -r1a0ad304560f29f90c11f0f0a208cc68dc0feedd -r6c9f224492d0b35e5d2dedb46de8171d9b1e4db1 --- Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionInwardsCalculationsContextTreeNodeInfoTest.cs (.../GrassCoverErosionInwardsCalculationsContextTreeNodeInfoTest.cs) (revision 1a0ad304560f29f90c11f0f0a208cc68dc0feedd) +++ Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Plugin.Test/TreeNodeInfos/GrassCoverErosionInwardsCalculationsContextTreeNodeInfoTest.cs (.../GrassCoverErosionInwardsCalculationsContextTreeNodeInfoTest.cs) (revision 6c9f224492d0b35e5d2dedb46de8171d9b1e4db1) @@ -100,7 +100,7 @@ } [Test] - public void ChildNodeObjects_FailureMechanismIsRelevant_ReturnChildDataNodes() + public void ChildNodeObjects_Always_ReturnChildDataNodes() { // Setup var assessmentSection = new AssessmentSectionStub(); @@ -167,31 +167,9 @@ } [Test] - public void ChildNodeObjects_FailureMechanismIsNotRelevant_ReturnOnlyFailureMechanismNotRelevantComments() + public void ContextMenuStrip_Always_CallsContextMenuBuilderMethods() { // Setup - var assessmentSection = mocksRepository.Stub(); - mocksRepository.ReplayAll(); - - var failureMechanism = new GrassCoverErosionInwardsFailureMechanism - { - IsRelevant = false - }; - var context = new GrassCoverErosionInwardsCalculationsContext(failureMechanism, assessmentSection); - - // Call - object[] children = info.ChildNodeObjects(context).ToArray(); - - // Assert - Assert.AreEqual(1, children.Length); - var comment = (Comment) children[0]; - Assert.AreSame(failureMechanism.NotRelevantComments, comment); - } - - [Test] - public void ContextMenuStrip_FailureMechanismIsRelevant_CallsContextMenuBuilderMethods() - { - // Setup var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); var assessmentSection = mocksRepository.Stub(); var context = new GrassCoverErosionInwardsCalculationsContext(failureMechanism, assessmentSection); @@ -234,49 +212,9 @@ } [Test] - public void ContextMenuStrip_FailureMechanismIsNotRelevant_CallsContextMenuBuilderMethods() + public void ContextMenuStrip_Always_AddCustomItems() { // Setup - var failureMechanism = new GrassCoverErosionInwardsFailureMechanism - { - IsRelevant = false - }; - var assessmentSection = mocksRepository.Stub(); - var context = new GrassCoverErosionInwardsCalculationsContext(failureMechanism, assessmentSection); - - var menuBuilder = mocksRepository.StrictMock(); - using (mocksRepository.Ordered()) - { - menuBuilder.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().Return(menuBuilder); - menuBuilder.Expect(mb => mb.AddSeparator()).Return(menuBuilder); - menuBuilder.Expect(mb => mb.AddCollapseAllItem()).Return(menuBuilder); - menuBuilder.Expect(mb => mb.AddExpandAllItem()).Return(menuBuilder); - menuBuilder.Expect(mb => mb.AddSeparator()).Return(menuBuilder); - menuBuilder.Expect(mb => mb.AddPropertiesItem()).Return(menuBuilder); - menuBuilder.Expect(mb => mb.Build()).Return(null); - } - - using (var treeViewControl = new TreeViewControl()) - { - var gui = mocksRepository.Stub(); - gui.Stub(cmp => cmp.Get(context, treeViewControl)).Return(menuBuilder); - gui.Stub(g => g.MainWindow).Return(mocksRepository.Stub()); - mocksRepository.ReplayAll(); - - plugin.Gui = gui; - - // Call - info.ContextMenuStrip(context, null, treeViewControl); - } - - // Assert - // Assert expectancies are called in TearDown() - } - - [Test] - public void ContextMenuStrip_FailureMechanismIsRelevant_AddCustomItems() - { - // Setup using (var treeView = new TreeViewControl()) { var assessmentSection = mocksRepository.Stub(); @@ -332,112 +270,6 @@ } [Test] - public void ContextMenuStrip_FailureMechanismIsNotRelevant_AddCustomItems() - { - // Setup - using (var treeView = new TreeViewControl()) - { - var assessmentSection = mocksRepository.Stub(); - var failureMechanism = new GrassCoverErosionInwardsFailureMechanism - { - IsRelevant = false - }; - var context = new GrassCoverErosionInwardsCalculationsContext(failureMechanism, assessmentSection); - var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); - - var gui = mocksRepository.Stub(); - gui.Stub(cmp => cmp.Get(context, treeView)).Return(menuBuilder); - gui.Stub(g => g.ProjectOpened += null).IgnoreArguments(); - gui.Stub(g => g.ProjectOpened -= null).IgnoreArguments(); - gui.Stub(g => g.MainWindow).Return(mocksRepository.Stub()); - mocksRepository.ReplayAll(); - - plugin.Gui = gui; - - // Call - using (ContextMenuStrip menu = info.ContextMenuStrip(context, assessmentSection, treeView)) - { - // Assert - Assert.AreEqual(6, menu.Items.Count); - - TestHelper.AssertContextMenuStripContainsItem(menu, contextMenuRelevancyIndexWhenNotRelevant, - "I&s relevant", - "Geeft aan of dit toetsspoor relevant is of niet.", - RiskeerCommonFormsResources.Checkbox_empty); - } - } - } - - [Test] - public void ContextMenuStrip_FailureMechanismIsRelevantAndClickOnIsRelevantItem_MakeFailureMechanismNotRelevantAndRemovesAllViewsForItem() - { - // Setup - var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); - var assessmentSection = mocksRepository.Stub(); - var context = new GrassCoverErosionInwardsCalculationsContext(failureMechanism, assessmentSection); - var viewCommands = mocksRepository.StrictMock(); - var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); - - viewCommands.Expect(vs => vs.RemoveAllViewsForItem(context)); - - using (var treeViewControl = new TreeViewControl()) - { - var gui = mocksRepository.Stub(); - gui.Stub(g => g.ViewCommands).Return(viewCommands); - gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); - gui.Stub(g => g.MainWindow).Return(mocksRepository.Stub()); - mocksRepository.ReplayAll(); - - plugin.Gui = gui; - - using (ContextMenuStrip contextMenu = info.ContextMenuStrip(context, null, treeViewControl)) - { - // Call - contextMenu.Items[contextMenuRelevancyIndexWhenRelevant].PerformClick(); - - // Assert - Assert.IsFalse(failureMechanism.IsRelevant); - } - } - } - - [Test] - public void ContextMenuStrip_FailureMechanismIsNotRelevantAndClickOnIsRelevantItem_MakeFailureMechanismRelevantAndRemovesAllViewsForItem() - { - // Setup - var failureMechanism = new GrassCoverErosionInwardsFailureMechanism - { - IsRelevant = false - }; - var assessmentSection = mocksRepository.Stub(); - var context = new GrassCoverErosionInwardsCalculationsContext(failureMechanism, assessmentSection); - var viewCommands = mocksRepository.StrictMock(); - var menuBuilder = new CustomItemsOnlyContextMenuBuilder(); - - viewCommands.Expect(vs => vs.RemoveAllViewsForItem(context)); - - using (var treeViewControl = new TreeViewControl()) - { - var gui = mocksRepository.Stub(); - gui.Stub(g => g.ViewCommands).Return(viewCommands); - gui.Stub(g => g.Get(context, treeViewControl)).Return(menuBuilder); - gui.Stub(g => g.MainWindow).Return(mocksRepository.Stub()); - mocksRepository.ReplayAll(); - - plugin.Gui = gui; - - using (ContextMenuStrip contextMenu = info.ContextMenuStrip(context, null, treeViewControl)) - { - // Call - contextMenu.Items[contextMenuRelevancyIndexWhenNotRelevant].PerformClick(); - - // Assert - Assert.IsTrue(failureMechanism.IsRelevant); - } - } - } - - [Test] public void ContextMenuStrip_HydraulicBoundaryDatabaseNotLinked_ContextMenuItemCalculateAllDisabledAndTooltipSet() { // Setup