Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Controls/FailureMechanismAssemblyControlTest.cs =================================================================== diff -u -rce7c1e5c5a8aec0020b1ef5cf50bf3c20d3d4c2f -r1ed4c3d0bf61e04b9a3069977c76c183b2cc072a --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Controls/FailureMechanismAssemblyControlTest.cs (.../FailureMechanismAssemblyControlTest.cs) (revision ce7c1e5c5a8aec0020b1ef5cf50bf3c20d3d4c2f) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Controls/FailureMechanismAssemblyControlTest.cs (.../FailureMechanismAssemblyControlTest.cs) (revision 1ed4c3d0bf61e04b9a3069977c76c183b2cc072a) @@ -20,10 +20,11 @@ // All rights reserved. using System; +using System.Drawing; using System.Windows.Forms; +using Core.Common.Controls; using Core.Common.TestUtil; using Core.Common.Util; -using Core.Common.Util.Reflection; using NUnit.Framework; using Ringtoets.AssemblyTool.Data; using Ringtoets.Common.Forms.Controls; @@ -39,25 +40,27 @@ public void DefaultConstructor_ExpectedValues() { // Call - var resultControl = new FailureMechanismAssemblyControl(); - - // Assert - Assert.AreEqual(2, resultControl.Controls.Count); - Assert.IsInstanceOf(resultControl); + using (var resultControl = new FailureMechanismAssemblyControl()) + { + // Assert + Assert.AreEqual(2, resultControl.Controls.Count); + Assert.IsInstanceOf(resultControl); + } } [Test] public void SetAssemblyResult_AssemblyNull_ThrowsArgumentNullException() { // Setup - var resultControl = new FailureMechanismAssemblyControl(); + using (var resultControl = new FailureMechanismAssemblyControl()) + { + // Call + TestDelegate test = () => resultControl.SetAssemblyResult(null); - // Call - TestDelegate test = () => resultControl.SetAssemblyResult(null); - - // Assert - var exception = Assert.Throws(test); - Assert.AreEqual("assembly", exception.ParamName); + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("assembly", exception.ParamName); + } } [Test] @@ -67,22 +70,51 @@ var random = new Random(39); var assembly = new FailureMechanismAssembly(random.NextDouble(), random.NextEnumValue()); - var resultControl = new FailureMechanismAssemblyControl(); + using (var resultControl = new FailureMechanismAssemblyControl()) + { + // Call + resultControl.SetAssemblyResult(assembly); - // Call - resultControl.SetAssemblyResult(assembly); + // Assert + Control groupLabel = GetGroupLabel(resultControl); + Control probabilityLabel = GetGroupLabel(resultControl); - // Assert - Control groupLabel = TypeUtils.GetField(resultControl, "GroupPanel").GetControlFromPosition(0, 0); - Control probabilityLabel = TypeUtils.GetField(resultControl, "probabilityPanel").GetControlFromPosition(0, 0); + Assert.AreEqual(new EnumDisplayWrapper(assembly.Group).DisplayName, + groupLabel.Text); + Assert.AreEqual(AssemblyCategoryGroupColorHelper.GetFailureMechanismAssemblyCategoryGroupColor(assembly.Group), + groupLabel.BackColor); - Assert.AreEqual(new EnumDisplayWrapper(assembly.Group).DisplayName, - groupLabel.Text); - Assert.AreEqual(AssemblyCategoryGroupColorHelper.GetFailureMechanismAssemblyCategoryGroupColor(assembly.Group), - groupLabel.BackColor); + Assert.AreEqual(new NoProbabilityValueDoubleConverter().ConvertToString(assembly.Probability), + probabilityLabel.Text); + } + } - Assert.AreEqual(new NoProbabilityValueDoubleConverter().ConvertToString(assembly.Probability), - probabilityLabel.Text); + [Test] + public void ClearData_Always_ClearsDataOnControl() + { + // Setup + using (var resultControl = new FailureMechanismAssemblyControl()) + { + // Call + resultControl.ClearData(); + + // Assert + BorderedLabel groupLabel = GetGroupLabel(resultControl); + BorderedLabel probabilityLabel = GetProbabilityLabel(resultControl); + Assert.IsEmpty(groupLabel.Text); + Assert.AreEqual(Color.White, groupLabel.BackColor); + Assert.AreEqual("-", probabilityLabel.Text); + } } + + private static BorderedLabel GetGroupLabel(AssemblyResultControl resultControl) + { + return (BorderedLabel) ((TableLayoutPanel) resultControl.Controls["GroupPanel"]).GetControlFromPosition(0, 0); + } + + private static BorderedLabel GetProbabilityLabel(AssemblyResultControl resultControl) + { + return (BorderedLabel) ((TableLayoutPanel) resultControl.Controls["probabilityPanel"]).GetControlFromPosition(0, 0); + } } } \ No newline at end of file