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");