Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsCalculationContextTreeNodeInfoTest.cs =================================================================== diff -u -r7343a55e81349863d0e5d7bec5c7f0b3577adf65 -r3bd79dc878fa0b81b1ebb5c35dd5612f2bfed356 --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsCalculationContextTreeNodeInfoTest.cs (.../GrassCoverErosionInwardsCalculationContextTreeNodeInfoTest.cs) (revision 7343a55e81349863d0e5d7bec5c7f0b3577adf65) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsCalculationContextTreeNodeInfoTest.cs (.../GrassCoverErosionInwardsCalculationContextTreeNodeInfoTest.cs) (revision 3bd79dc878fa0b81b1ebb5c35dd5612f2bfed356) @@ -21,6 +21,8 @@ using System.Linq; using Core.Common.Controls.TreeView; +using Core.Common.Gui; +using Core.Common.Gui.ContextMenu; using Core.Common.TestUtil; using NUnit.Framework; using Rhino.Mocks; @@ -37,14 +39,14 @@ [TestFixture] public class GrassCoverErosionInwardsCalculationContextTreeNodeInfoTest { - private MockRepository mocksRepository; + private MockRepository mocks; private GrassCoverErosionInwardsGuiPlugin plugin; private TreeNodeInfo info; [SetUp] public void SetUp() { - mocksRepository = new MockRepository(); + mocks = new MockRepository(); plugin = new GrassCoverErosionInwardsGuiPlugin(); info = plugin.GetTreeNodeInfos().First(tni => tni.TagType == typeof(GrassCoverErosionInwardsCalculationContext)); } @@ -76,11 +78,11 @@ [Test] public void ChildNodeObjects_WithOutputData_ReturnOutputChildNode() { - var calculation = mocksRepository.StrictMock(new GeneralGrassCoverErosionInwardsInput()); - var failureMechanism = mocksRepository.StrictMock(); - var assessmentSectionMock = mocksRepository.StrictMock(); - mocksRepository.ReplayAll(); + var calculation = mocks.StrictMock(new GeneralGrassCoverErosionInwardsInput()); + var assessmentSectionMock = mocks.StrictMock(); + mocks.ReplayAll(); + var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); var calculationContext = new GrassCoverErosionInwardsCalculationContext(calculation, failureMechanism, assessmentSectionMock); // Call @@ -98,5 +100,46 @@ var emptyOutput = (EmptyGrassCoverErosionInwardsOutput) children[2]; Assert.IsNotNull(emptyOutput); } + + [Test] + public void ContextMenuStrip_Always_CallsContextMenuBuilderMethods() + { + // Setup + var gui = mocks.StrictMock(); + var treeViewControlMock = mocks.StrictMock(); + + var menuBuilderMock = mocks.Stub(); + menuBuilderMock.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddSeparator()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddRenameItem()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddDeleteItem()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddSeparator()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddImportItem()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddExportItem()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddSeparator()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddExpandAllItem()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddCollapseAllItem()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddSeparator()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.AddPropertiesItem()).Return(menuBuilderMock); + menuBuilderMock.Expect(mb => mb.Build()).Return(null); + + var failureMechanism = new GrassCoverErosionInwardsFailureMechanism(); + var assessmentSectionMock = mocks.StrictMock(); + var calculation = mocks.StrictMock(new GeneralGrassCoverErosionInwardsInput()); + + var nodeData = new GrassCoverErosionInwardsCalculationContext(calculation, failureMechanism, assessmentSectionMock); + + gui.Expect(cmp => cmp.Get(nodeData, treeViewControlMock)).Return(menuBuilderMock); + + mocks.ReplayAll(); + + plugin.Gui = gui; + + // Call + info.ContextMenuStrip(nodeData, null, treeViewControlMock); + + // Assert + mocks.VerifyAll(); // Expect no calls on arguments + } } } \ No newline at end of file