Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/CalculationTreeNodeInfoFactoryTest.cs =================================================================== diff -u -r5a6b6cb84b2749e56b70fe9f04a17fd954decc68 -rb0faaa0cb58090f64503985877b0912696c1117d --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/CalculationTreeNodeInfoFactoryTest.cs (.../CalculationTreeNodeInfoFactoryTest.cs) (revision 5a6b6cb84b2749e56b70fe9f04a17fd954decc68) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/CalculationTreeNodeInfoFactoryTest.cs (.../CalculationTreeNodeInfoFactoryTest.cs) (revision b0faaa0cb58090f64503985877b0912696c1117d) @@ -1476,6 +1476,166 @@ mocks.VerifyAll(); } + [Test] + public void ChildNodeObjects_FailureMechanismIsRelevant_ReturnResultFromConstructorMethod() + { + // Setup + var mocks = new MockRepository(); + var failureMechanism = mocks.Stub(); + var assessmentSection = mocks.Stub(); + + mocks.ReplayAll(); + + failureMechanism.IsRelevant = true; + + var resultIsRelevant = new[] + { + new object(), + 1.1 + }; + + var resultIsNotRelevant = new[] + { + 2.2, + new object() + }; + + var context = new TestFailureMechanismContext(failureMechanism, assessmentSection); + var treeNodeInfo = CalculationTreeNodeInfoFactory.CreateFailureMechanismContextTreeNodeInfo(mechanismContext => resultIsRelevant, mechanismContext => resultIsNotRelevant, null, null); + + // Call + object[] children = treeNodeInfo.ChildNodeObjects(context); + + // Assert + CollectionAssert.AreEqual(resultIsRelevant, children); + + mocks.VerifyAll(); + } + + [Test] + public void ChildNodeObjects_FailureMechanismIsNotRelevant_ReturnResultFromConstructorMethod() + { + // Setup + var mocks = new MockRepository(); + var failureMechanism = mocks.Stub(); + var assessmentSection = mocks.Stub(); + + mocks.ReplayAll(); + + failureMechanism.IsRelevant = false; + + var resultIsRelevant = new[] + { + new object(), + 1.1 + }; + + var resultIsNotRelevant = new[] + { + 2.2, + new object() + }; + + var context = new TestFailureMechanismContext(failureMechanism, assessmentSection); + var treeNodeInfo = CalculationTreeNodeInfoFactory.CreateFailureMechanismContextTreeNodeInfo(mechanismContext => resultIsRelevant, mechanismContext => resultIsNotRelevant, null, null); + + // Call + object[] children = treeNodeInfo.ChildNodeObjects(context); + + // Assert + CollectionAssert.AreEqual(resultIsNotRelevant, children); + + mocks.VerifyAll(); + } + + [Test] + public void ContextMenuStrip_FailureMechanismIsRelevant_ReturnResultFromConstructorMethod() + { + // Setup + using (var treeView = new TreeViewControl()) + using (var contextMenuStripRelevant = new ContextMenuStrip()) + using (var contextMenuStripNotRelevant = new ContextMenuStrip()) + { + var mocks = new MockRepository(); + var failureMechanism = mocks.Stub(); + var assessmentSection = mocks.Stub(); + + mocks.ReplayAll(); + + failureMechanism.IsRelevant = true; + + var context = new TestFailureMechanismContext(failureMechanism, assessmentSection); + var treeNodeInfo = CalculationTreeNodeInfoFactory.CreateFailureMechanismContextTreeNodeInfo(null, null, + (mechanismContext, parent, treeViewControl) => + { + Assert.AreEqual(context, mechanismContext); + Assert.AreEqual(assessmentSection, parent); + Assert.AreEqual(treeView, treeViewControl); + + return contextMenuStripRelevant; + }, + (mechanismContext, parent, treeViewControl) => + { + Assert.AreEqual(context, mechanismContext); + Assert.AreEqual(assessmentSection, parent); + Assert.AreEqual(treeView, treeViewControl); + + return contextMenuStripNotRelevant; + }); + + // Call + ContextMenuStrip result = treeNodeInfo.ContextMenuStrip(context, assessmentSection, treeView); + + // Assert + Assert.AreSame(contextMenuStripRelevant, result); + mocks.VerifyAll(); + } + } + + [Test] + public void ContextMenuStrip_FailureMechanismIsNotRelevant_ReturnResultFromConstructorMethod() + { + // Setup + using (var treeView = new TreeViewControl()) + using (var contextMenuStripRelevant = new ContextMenuStrip()) + using (var contextMenuStripNotRelevant = new ContextMenuStrip()) + { + var mocks = new MockRepository(); + var failureMechanism = mocks.Stub(); + var assessmentSection = mocks.Stub(); + + mocks.ReplayAll(); + + failureMechanism.IsRelevant = false; + + var context = new TestFailureMechanismContext(failureMechanism, assessmentSection); + var treeNodeInfo = CalculationTreeNodeInfoFactory.CreateFailureMechanismContextTreeNodeInfo(null, null, + (mechanismContext, parent, treeViewControl) => + { + Assert.AreEqual(context, mechanismContext); + Assert.AreEqual(assessmentSection, parent); + Assert.AreEqual(treeView, treeViewControl); + + return contextMenuStripRelevant; + }, + (mechanismContext, parent, treeViewControl) => + { + Assert.AreEqual(context, mechanismContext); + Assert.AreEqual(assessmentSection, parent); + Assert.AreEqual(treeView, treeViewControl); + + return contextMenuStripNotRelevant; + }); + + // Call + ContextMenuStrip result = treeNodeInfo.ContextMenuStrip(context, assessmentSection, treeView); + + // Assert + Assert.AreSame(contextMenuStripNotRelevant, result); + mocks.VerifyAll(); + } + } + # endregion # region Nested types Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/DefaultFailureMechanismTreeNodeInfoTest.cs =================================================================== diff -u -r5a6b6cb84b2749e56b70fe9f04a17fd954decc68 -rb0faaa0cb58090f64503985877b0912696c1117d --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/DefaultFailureMechanismTreeNodeInfoTest.cs (.../DefaultFailureMechanismTreeNodeInfoTest.cs) (revision 5a6b6cb84b2749e56b70fe9f04a17fd954decc68) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/DefaultFailureMechanismTreeNodeInfoTest.cs (.../DefaultFailureMechanismTreeNodeInfoTest.cs) (revision b0faaa0cb58090f64503985877b0912696c1117d) @@ -27,7 +27,6 @@ { private const int contextMenuRelevancyIndex = 0; - [Test] public void ChildNodeObjects_FailureMechanismIsNotRelevant_ReturnOnlyFailureMechanismComments() { @@ -55,61 +54,6 @@ } [Test] - public void ChildNodeObjects_FailureMechanismIsRelevant_ReturnResultFromConstructorMethod() - { - // Setup - var mocks = new MockRepository(); - var failureMechanism = mocks.Stub(); - failureMechanism.IsRelevant = true; - - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); - - var context = new SimpleFailureMechanismContext(failureMechanism, assessmentSection); - - var result = new[] - { - new object(), - 1.1 - }; - - var treeNodeInfo = new DefaultFailureMechanismTreeNodeInfo( - mechanismContext => result, null, null); - - // Call - object[] children = treeNodeInfo.ChildNodeObjects(context); - - // Assert - CollectionAssert.AreEqual(result, children); - - mocks.VerifyAll(); - } - - [Test] - public void ChildNodeObjects_FailureMechanismIsRelevantButMethodIsNull_ReturnEmptyArray() - { - // Setup - var mocks = new MockRepository(); - var failureMechanism = mocks.Stub(); - failureMechanism.IsRelevant = true; - - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); - - var context = new SimpleFailureMechanismContext(failureMechanism, assessmentSection); - - var treeNodeInfo = new DefaultFailureMechanismTreeNodeInfo(null, null, null); - - // Call - object[] children = treeNodeInfo.ChildNodeObjects(context); - - // Assert - CollectionAssert.IsEmpty(children); - - mocks.VerifyAll(); - } - - [Test] public void ContextMenuStrip_FailureMechanismIsNotRelevant_ReturnStripWithOnlyRelevancyExpandAndCollapseAllNodes() { // Setup @@ -148,126 +92,6 @@ } [Test] - public void ContextMenuStrip_FailureMechanismIsRelevant_ReturnResultFromConstructorMethod() - { - // Setup - using (var treeView = new TreeViewControl()) - using (var contextMenuStrip = new ContextMenuStrip()) - { - var mocks = new MockRepository(); - var failureMechanism = mocks.Stub(); - failureMechanism.IsRelevant = true; - - var assessmentSection = mocks.Stub(); - mocks.ReplayAll(); - - var context = new SimpleFailureMechanismContext(failureMechanism, assessmentSection); - - var treeNodeInfo = new DefaultFailureMechanismTreeNodeInfo( - null, (mechanismContext, parent, treeViewControl) => - { - Assert.AreEqual(context, mechanismContext); - Assert.AreEqual(assessmentSection, parent); - Assert.AreEqual(treeView, treeViewControl); - - return contextMenuStrip; - }, null); - - // Call - ContextMenuStrip result = treeNodeInfo.ContextMenuStrip(context, assessmentSection, treeView); - - // Assert - Assert.AreSame(contextMenuStrip, result); - mocks.VerifyAll(); - } - } - - [Test] - public void ChildNodeObjects_FailureMechanismIsRelevantButMethodIsNull_ReturnStripWithOnlyRelevancyExpandAndCollapseAllNodes() - { - // Setup - using (var treeView = new TreeViewControl()) - using (var contextMenuStrip = new ContextMenuStrip()) - { - var mocks = new MockRepository(); - var failureMechanism = mocks.Stub(); - failureMechanism.IsRelevant = true; - - var assessmentSection = mocks.Stub(); - - var context = new SimpleFailureMechanismContext(failureMechanism, assessmentSection); - - var builder = mocks.Stub(); - builder.Expect(b => b.AddCustomItem(null)).IgnoreArguments().Return(builder); - builder.Expect(b => b.AddSeparator()).Return(builder); - builder.Expect(b => b.AddExpandAllItem()).Return(builder); - builder.Expect(b => b.AddCollapseAllItem()).Return(builder); - builder.Expect(b => b.Build()).Return(contextMenuStrip); - - var provider = mocks.Stub(); - provider.Expect(p => p.Get(context, treeView)).Return(builder); - mocks.ReplayAll(); - - var treeNodeInfo = new DefaultFailureMechanismTreeNodeInfo( - null, null, provider); - - // Call - ContextMenuStrip result = treeNodeInfo.ContextMenuStrip(context, assessmentSection, treeView); - - // Assert - Assert.AreSame(contextMenuStrip, result); - mocks.VerifyAll(); - } - } - - [Test] - public void ContextMenuStrip_FailureMechanismNotRelevant_ReturnsContextMenuWithCommonItems() - { - // Setup - var mocks = new MockRepository(); - var failureMechanism = mocks.Stub(); - failureMechanism.IsRelevant = false; - - var assessmentSection = mocks.Stub(); - var context = new SimpleFailureMechanismContext(failureMechanism, assessmentSection); - - using (var treeViewControl = new TreeViewControl()) - { - var applicationFeatureCommandHandler = mocks.Stub(); - var exportImportHandler = mocks.Stub(); - var viewCommandsHandler = mocks.Stub(); - var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, - exportImportHandler, viewCommandsHandler, - context, treeViewControl); - - var provider = mocks.Stub(); - provider.Stub(p => p.Get(context, treeViewControl)).Return(menuBuilder); - - mocks.ReplayAll(); - - var treeNodeInfo = new DefaultFailureMechanismTreeNodeInfo( - null, null, provider); - - // Call - var menu = treeNodeInfo.ContextMenuStrip(context, null, treeViewControl); - - // Assert - Assert.AreEqual(4, menu.Items.Count); - - TestHelper.AssertContextMenuStripContainsItem(menu, 0, RingtoetsCommonFormsResources.FailureMechanismContextMenuStrip_Is_relevant, RingtoetsCommonFormsResources.FailureMechanismContextMenuStrip_Is_relevant_Tooltip, RingtoetsCommonFormsResources.Checkbox_empty); - - TestHelper.AssertContextMenuStripContainsItem(menu, 2, CoreCommonGuiResources.Expand_all, CoreCommonGuiResources.Expand_all_ToolTip, CoreCommonGuiResources.ExpandAllIcon, false); - TestHelper.AssertContextMenuStripContainsItem(menu, 3, CoreCommonGuiResources.Collapse_all, CoreCommonGuiResources.Collapse_all_ToolTip, CoreCommonGuiResources.CollapseAllIcon, false); - - CollectionAssert.AllItemsAreInstancesOfType(new[] - { - menu.Items[1], - }, typeof(ToolStripSeparator)); - } - mocks.VerifyAll(); - } - - [Test] public void ContextMenuStrip_ClickOnIsRelevantItem_MakeFailureMechanismRelevant() { // Setup