Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/FailureMechanismAssemblyResultControl.cs
===================================================================
diff -u -r718d74086633d91a350d60a463715d3bd360468b -r0822c023c37f6ed72f2ea42978c472c439e4a540
--- Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/FailureMechanismAssemblyResultControl.cs (.../FailureMechanismAssemblyResultControl.cs) (revision 718d74086633d91a350d60a463715d3bd360468b)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/FailureMechanismAssemblyResultControl.cs (.../FailureMechanismAssemblyResultControl.cs) (revision 0822c023c37f6ed72f2ea42978c472c439e4a540)
@@ -20,6 +20,7 @@
// All rights reserved.
using System;
+using System.Drawing;
using System.Windows.Forms;
using Core.Common.Util;
using Ringtoets.AssemblyTool.Data;
@@ -49,19 +50,21 @@
}
///
- /// Sets the error message of the control.
+ /// Sets the error message of the control and clears its values.
///
/// The error message to set.
/// Thrown when
/// is null.
- public void SetError(string error)
+ public virtual void SetError(string error)
{
if (error == null)
{
throw new ArgumentNullException(nameof(error));
}
ErrorProvider.SetError(this, error);
+ GroupLabel.Text = string.Empty;
+ GroupLabel.BackColor = Color.White;
}
///
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/FailureMechanismAssemblyResultWithProbabilityControl.cs
===================================================================
diff -u -r718d74086633d91a350d60a463715d3bd360468b -r0822c023c37f6ed72f2ea42978c472c439e4a540
--- Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/FailureMechanismAssemblyResultWithProbabilityControl.cs (.../FailureMechanismAssemblyResultWithProbabilityControl.cs) (revision 718d74086633d91a350d60a463715d3bd360468b)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/FailureMechanismAssemblyResultWithProbabilityControl.cs (.../FailureMechanismAssemblyResultWithProbabilityControl.cs) (revision 0822c023c37f6ed72f2ea42978c472c439e4a540)
@@ -20,6 +20,7 @@
// All rights reserved.
using Ringtoets.AssemblyTool.Data;
+using Ringtoets.Common.Forms.Properties;
using Ringtoets.Common.Forms.TypeConverters;
namespace Ringtoets.Common.Forms.Controls
@@ -43,5 +44,11 @@
probabilityLabel.Text = new NoProbabilityValueDoubleConverter().ConvertToString(assembly.Probability);
}
+
+ public override void SetError(string error)
+ {
+ base.SetError(error);
+ probabilityLabel.Text = Resources.RoundedDouble_No_result_dash;
+ }
}
}
\ No newline at end of file
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Controls/FailureMechanismAssemblyResultControlTest.cs
===================================================================
diff -u -r718d74086633d91a350d60a463715d3bd360468b -r0822c023c37f6ed72f2ea42978c472c439e4a540
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Controls/FailureMechanismAssemblyResultControlTest.cs (.../FailureMechanismAssemblyResultControlTest.cs) (revision 718d74086633d91a350d60a463715d3bd360468b)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Controls/FailureMechanismAssemblyResultControlTest.cs (.../FailureMechanismAssemblyResultControlTest.cs) (revision 0822c023c37f6ed72f2ea42978c472c439e4a540)
@@ -81,7 +81,7 @@
}
[Test]
- public void SetAssemblyResult_WithAssembly_SetsValuesOnControl()
+ public void SetAssemblyResult_WithAssembly_SetsValues()
{
// Setup
var random = new Random(39);
@@ -128,10 +128,14 @@
// Assert
ErrorProvider errorProvider = GetErrorProvider(resultControl);
Assert.AreEqual(error, errorProvider.GetError(resultControl));
+
+ Control groupLabel = GetGroupPanel(resultControl).GetControlFromPosition(1, 0);
+ Assert.AreEqual(string.Empty, groupLabel.Text);
+ Assert.AreEqual(Color.White, groupLabel.BackColor);
}
[Test]
- public void ClearError_ClearsErrorOnControl()
+ public void ClearError_Always_ClearsErrorOnControl()
{
// Setup
var resultControl = new FailureMechanismAssemblyResultControl();
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Controls/FailureMechanismAssemblyResultWithProbabilityControlTest.cs
===================================================================
diff -u -r718d74086633d91a350d60a463715d3bd360468b -r0822c023c37f6ed72f2ea42978c472c439e4a540
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Controls/FailureMechanismAssemblyResultWithProbabilityControlTest.cs (.../FailureMechanismAssemblyResultWithProbabilityControlTest.cs) (revision 718d74086633d91a350d60a463715d3bd360468b)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Controls/FailureMechanismAssemblyResultWithProbabilityControlTest.cs (.../FailureMechanismAssemblyResultWithProbabilityControlTest.cs) (revision 0822c023c37f6ed72f2ea42978c472c439e4a540)
@@ -115,6 +115,41 @@
probabilityLabel.Text);
}
+ [Test]
+ public void SetError_ErrorNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var resultControl = new FailureMechanismAssemblyResultControl();
+
+ // Call
+ TestDelegate test = () => resultControl.SetError(null);
+
+ // Assert
+ var exception = Assert.Throws(test);
+ Assert.AreEqual("error", exception.ParamName);
+ }
+
+ [Test]
+ public void SetError_WithError_SetsErrorOnControl()
+ {
+ // Setup
+ const string error = "random error 123";
+ var resultControl = new FailureMechanismAssemblyResultWithProbabilityControl();
+
+ // Call
+ resultControl.SetError(error);
+
+ // Assert
+ var errorProvider = TypeUtils.GetField(resultControl, "ErrorProvider");
+ Assert.AreEqual(error, errorProvider.GetError(resultControl));
+
+ Control groupLabel = GetGroupPanel(resultControl).GetControlFromPosition(1, 0);
+ Control probabilityLabel = GetProbabilityPanel(resultControl).GetControlFromPosition(0, 0);
+ Assert.AreEqual(string.Empty, groupLabel.Text);
+ Assert.AreEqual(Color.White, groupLabel.BackColor);
+ Assert.AreEqual("-", probabilityLabel.Text);
+ }
+
private static TableLayoutPanel GetProbabilityPanel(FailureMechanismAssemblyResultWithProbabilityControl resultControl)
{
return TypeUtils.GetField(resultControl, "probabilityPanel");