Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingCalculationInputsNodePresenterTest.cs =================================================================== diff -u -r5076e379f409c3b5ba41eb98256e3dd5d140571c -r7c544bdc0a35c6f193d1e786b8c001e9977c50d1 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingCalculationInputsNodePresenterTest.cs (.../PipingCalculationInputsNodePresenterTest.cs) (revision 5076e379f409c3b5ba41eb98256e3dd5d140571c) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingCalculationInputsNodePresenterTest.cs (.../PipingCalculationInputsNodePresenterTest.cs) (revision 7c544bdc0a35c6f193d1e786b8c001e9977c50d1) @@ -287,11 +287,12 @@ } [Test] - public void GetContextMenu_Always_ContextMenuWithOneItemForCalculate() + public void GetContextMenu_WithPipingData_ContextMenuWithThreeItems() { // Setup var nodeMock = mockRepository.StrictMock(); var dataMock = mockRepository.StrictMock(); + dataMock.PipingData = new PipingData(); var nodePresenter = new PipingCalculationInputsNodePresenter(); @@ -302,17 +303,73 @@ // Assert Assert.IsNotNull(contextMenu); - Assert.AreEqual(2, contextMenu.Items.Count); + Assert.AreEqual(3, contextMenu.Items.Count); Assert.AreEqual(WtiFormsResources.Validate, contextMenu.Items[0].Text); ToolStripItem calculatePipingItem = contextMenu.Items[1]; Assert.AreEqual(WtiFormsResources.Calculate, calculatePipingItem.Text); Assert.AreEqual(16, calculatePipingItem.Image.Height); Assert.AreEqual(16, calculatePipingItem.Image.Width); + + ToolStripItem clearOutputItem = contextMenu.Items[2]; + Assert.AreEqual(WtiFormsResources.Clear_output, clearOutputItem.Text); + Assert.AreEqual(16, clearOutputItem.Image.Height); + Assert.AreEqual(16, clearOutputItem.Image.Width); mockRepository.VerifyAll(); // Expect no calls on arguments } [Test] + public void GetContextMenu_PipingDataWithoutOutput_ContextMenuItemClearOutputDisabled() + { + // Setup + var nodeMock = mockRepository.StrictMock(); + var dataMock = mockRepository.StrictMock(); + dataMock.PipingData = new PipingData(); + + var nodePresenter = new PipingCalculationInputsNodePresenter(); + + mockRepository.ReplayAll(); + + // Call + ContextMenuStrip contextMenu = nodePresenter.GetContextMenu(nodeMock, dataMock); + + // Assert + Assert.IsNotNull(contextMenu); + Assert.AreEqual(3, contextMenu.Items.Count); + + ToolStripItem clearOutputItem = contextMenu.Items[2]; + Assert.IsFalse(clearOutputItem.Enabled); + mockRepository.VerifyAll(); // Expect no calls on arguments + } + + [Test] + public void GetContextMenu_PipingDataWithOutput_ContextMenuItemClearOutputEnabled() + { + // Setup + var nodeMock = mockRepository.StrictMock(); + var dataMock = mockRepository.StrictMock(); + dataMock.PipingData = new PipingData + { + Output = new TestPipingOutput() + }; + + var nodePresenter = new PipingCalculationInputsNodePresenter(); + + mockRepository.ReplayAll(); + + // Call + ContextMenuStrip contextMenu = nodePresenter.GetContextMenu(nodeMock, dataMock); + + // Assert + Assert.IsNotNull(contextMenu); + Assert.AreEqual(3, contextMenu.Items.Count); + + ToolStripItem clearOutputItem = contextMenu.Items[2]; + Assert.IsTrue(clearOutputItem.Enabled); + mockRepository.VerifyAll(); // Expect no calls on arguments + } + + [Test] public void OnPropertyChange_Always_DoNothing() { // Setup