Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingData.cs
===================================================================
diff -u -r78aece3188a23a908e7c0a47e53e5facd1c7edb5 -r7c544bdc0a35c6f193d1e786b8c001e9977c50d1
--- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingData.cs (.../PipingData.cs) (revision 78aece3188a23a908e7c0a47e53e5facd1c7edb5)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingData.cs (.../PipingData.cs) (revision 7c544bdc0a35c6f193d1e786b8c001e9977c50d1)
@@ -195,6 +195,17 @@
public PipingOutput Output { get; set; }
///
+ /// Gets a value indicating whether the has .
+ ///
+ public bool HasOutput
+ {
+ get
+ {
+ return Output != null;
+ }
+ }
+
+ ///
/// Clears the .
///
public void ClearOutput()
Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingCalculationInputsNodePresenter.cs
===================================================================
diff -u -r78aece3188a23a908e7c0a47e53e5facd1c7edb5 -r7c544bdc0a35c6f193d1e786b8c001e9977c50d1
--- Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingCalculationInputsNodePresenter.cs (.../PipingCalculationInputsNodePresenter.cs) (revision 78aece3188a23a908e7c0a47e53e5facd1c7edb5)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingCalculationInputsNodePresenter.cs (.../PipingCalculationInputsNodePresenter.cs) (revision 7c544bdc0a35c6f193d1e786b8c001e9977c50d1)
@@ -109,6 +109,21 @@
RunActivityAction(new PipingCalculationActivity(pipingData));
});
+ var clearOutputItem = contextMenu.AddMenuItem(Resources.Clear_output,
+ null,
+ Resources.PipingOutputClear,
+ (o, args) =>
+ {
+ pipingData.ClearOutput();
+ pipingData.NotifyObservers();
+ });
+
+ if (!pipingData.HasOutput)
+ {
+ clearOutputItem.Enabled = false;
+ clearOutputItem.ToolTipText = Resources.ClearOutput_No_output_to_clear;
+ }
+
return contextMenu;
}
Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingOutputNodePresenter.cs
===================================================================
diff -u -r78aece3188a23a908e7c0a47e53e5facd1c7edb5 -r7c544bdc0a35c6f193d1e786b8c001e9977c50d1
--- Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingOutputNodePresenter.cs (.../PipingOutputNodePresenter.cs) (revision 78aece3188a23a908e7c0a47e53e5facd1c7edb5)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/NodePresenters/PipingOutputNodePresenter.cs (.../PipingOutputNodePresenter.cs) (revision 7c544bdc0a35c6f193d1e786b8c001e9977c50d1)
@@ -10,7 +10,7 @@
protected override void UpdateNode(ITreeNode parentNode, ITreeNode node, PipingOutput nodeData)
{
node.Text = Resources.PipingOutput_DisplayName;
- node.Image = Resources.PipingIcon;
+ node.Image = Resources.PipingOutputIcon;
}
protected override bool CanRemove(object parentNodeData, PipingOutput nodeData)
Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.Designer.cs
===================================================================
diff -u -r6068726f0aa9bd51834c05eecb34fb0d3ecaf27e -r7c544bdc0a35c6f193d1e786b8c001e9977c50d1
--- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 6068726f0aa9bd51834c05eecb34fb0d3ecaf27e)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 7c544bdc0a35c6f193d1e786b8c001e9977c50d1)
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:4.0.30319.18444
+// Runtime Version:4.0.30319.34209
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -79,6 +79,24 @@
}
///
+ /// Looks up a localized string similar to Wis uitvoer.
+ ///
+ public static string Clear_output {
+ get {
+ return ResourceManager.GetString("Clear_output", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to De berekening heeft geen uitvoer om te wissen..
+ ///
+ public static string ClearOutput_No_output_to_clear {
+ get {
+ return ResourceManager.GetString("ClearOutput_No_output_to_clear", resourceCulture);
+ }
+ }
+
+ ///
/// Looks up a localized resource of type System.Drawing.Bitmap.
///
public static System.Drawing.Bitmap FolderIcon {
@@ -784,6 +802,26 @@
}
///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ public static System.Drawing.Bitmap PipingOutputClear {
+ get {
+ object obj = ResourceManager.GetObject("PipingOutputClear", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ public static System.Drawing.Bitmap PipingOutputIcon {
+ get {
+ object obj = ResourceManager.GetObject("PipingOutputIcon", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
/// Looks up a localized string similar to Het niveau van de onderkant van dit profiel..
///
public static string PipingSoilProfile_Bottom_Description {
Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.resx
===================================================================
diff -u -r6068726f0aa9bd51834c05eecb34fb0d3ecaf27e -r7c544bdc0a35c6f193d1e786b8c001e9977c50d1
--- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.resx (.../Resources.resx) (revision 6068726f0aa9bd51834c05eecb34fb0d3ecaf27e)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Properties/Resources.resx (.../Resources.resx) (revision 7c544bdc0a35c6f193d1e786b8c001e9977c50d1)
@@ -457,4 +457,16 @@
De verschuiving van de lognormale verdeling.
+
+ ..\Resources\table.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ De berekening heeft geen uitvoer om te wissen.
+
+
+ Wis uitvoer
+
+
+ ..\Resources\table_delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
\ No newline at end of file
Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Resources/table.png
===================================================================
diff -u
Binary files differ
Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Resources/table_delete.png
===================================================================
diff -u
Binary files differ
Index: Ringtoets/Piping/src/Ringtoets.Piping.Forms/Ringtoets.Piping.Forms.csproj
===================================================================
diff -u -r5076e379f409c3b5ba41eb98256e3dd5d140571c -r7c544bdc0a35c6f193d1e786b8c001e9977c50d1
--- Ringtoets/Piping/src/Ringtoets.Piping.Forms/Ringtoets.Piping.Forms.csproj (.../Ringtoets.Piping.Forms.csproj) (revision 5076e379f409c3b5ba41eb98256e3dd5d140571c)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Forms/Ringtoets.Piping.Forms.csproj (.../Ringtoets.Piping.Forms.csproj) (revision 7c544bdc0a35c6f193d1e786b8c001e9977c50d1)
@@ -155,6 +155,8 @@
+
+
Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingDataTest.cs
===================================================================
diff -u -r78aece3188a23a908e7c0a47e53e5facd1c7edb5 -r7c544bdc0a35c6f193d1e786b8c001e9977c50d1
--- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingDataTest.cs (.../PipingDataTest.cs) (revision 78aece3188a23a908e7c0a47e53e5facd1c7edb5)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingDataTest.cs (.../PipingDataTest.cs) (revision 7c544bdc0a35c6f193d1e786b8c001e9977c50d1)
@@ -173,5 +173,31 @@
// Assert
Assert.IsNull(data.Output);
}
+
+ [Test]
+ public void HasOutput_OutputNull_ReturnsFalse()
+ {
+ // Setup
+ var data = new PipingData
+ {
+ Output = null
+ };
+
+ // Call & Assert
+ Assert.IsFalse(data.HasOutput);
+ }
+
+ [Test]
+ public void HasOutput_OutputSet_ReturnsTrue()
+ {
+ // Setup
+ var data = new PipingData
+ {
+ Output = new TestPipingOutput()
+ };
+
+ // Call & Assert
+ Assert.IsTrue(data.HasOutput);
+ }
}
}
\ No newline at end of file
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
Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingOutputNodePresenterTest.cs
===================================================================
diff -u -r78aece3188a23a908e7c0a47e53e5facd1c7edb5 -r7c544bdc0a35c6f193d1e786b8c001e9977c50d1
--- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingOutputNodePresenterTest.cs (.../PipingOutputNodePresenterTest.cs) (revision 78aece3188a23a908e7c0a47e53e5facd1c7edb5)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/NodePresenters/PipingOutputNodePresenterTest.cs (.../PipingOutputNodePresenterTest.cs) (revision 7c544bdc0a35c6f193d1e786b8c001e9977c50d1)
@@ -1,8 +1,6 @@
using System;
-using System.ComponentModel;
using System.Windows.Forms;
using Core.Common.Controls;
-using Core.Common.Utils.Collections;
using NUnit.Framework;
using Rhino.Mocks;
using Ringtoets.Piping.Calculation.TestUtil;
@@ -11,7 +9,6 @@
using Ringtoets.Piping.Forms.NodePresenters;
using Ringtoets.Piping.Forms.PresentationObjects;
using Ringtoets.Piping.Forms.Test.Helper;
-using WtiFormsResources = Ringtoets.Piping.Forms.Properties.Resources;
namespace Ringtoets.Piping.Forms.Test.NodePresenters
{
@@ -54,18 +51,17 @@
}
[Test]
- public void GetContextMenu_Always_ReturnsNull()
+ public void GetContextMenu_PipingOutput_ReturnsNull()
{
// Setup
var mocks = new MockRepository();
var nodeMock = mocks.StrictMock();
- var dataMock = mocks.StrictMock