Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/AssemblyResultControl.Designer.cs =================================================================== diff -u -r07bb209b7475f9a60cea565c982c47e0562f6daf -r1ed4c3d0bf61e04b9a3069977c76c183b2cc072a --- Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/AssemblyResultControl.Designer.cs (.../AssemblyResultControl.Designer.cs) (revision 07bb209b7475f9a60cea565c982c47e0562f6daf) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/AssemblyResultControl.Designer.cs (.../AssemblyResultControl.Designer.cs) (revision 1ed4c3d0bf61e04b9a3069977c76c183b2cc072a) @@ -19,6 +19,7 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System.Windows.Forms; using Core.Common.Controls; namespace Ringtoets.Common.Forms.Controls @@ -53,10 +54,10 @@ { this.components = new System.ComponentModel.Container(); this.GroupPanel = new System.Windows.Forms.TableLayoutPanel(); - this.ErrorProvider = new System.Windows.Forms.ErrorProvider(this.components); - this.GroupLabel = new BorderedLabel(); + this.GroupLabel = new Core.Common.Controls.BorderedLabel(); + this.errorProvider = new System.Windows.Forms.ErrorProvider(this.components); this.GroupPanel.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.ErrorProvider)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit(); this.SuspendLayout(); // // GroupPanel @@ -70,47 +71,48 @@ this.GroupPanel.Name = "GroupPanel"; this.GroupPanel.RowCount = 1; this.GroupPanel.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.GroupPanel.Size = new System.Drawing.Size(56, 150); + this.GroupPanel.Size = new System.Drawing.Size(56, 796); this.GroupPanel.TabIndex = 0; // - // ErrorProvider - // - this.ErrorProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.NeverBlink; - this.ErrorProvider.ContainerControl = this; - this.ErrorProvider.Icon = global::Ringtoets.Common.Forms.Properties.Resources.ErrorIcon; - // // GroupLabel // this.GroupLabel.AutoSize = true; this.GroupLabel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.GroupLabel.Dock = System.Windows.Forms.DockStyle.Fill; this.GroupLabel.Location = new System.Drawing.Point(3, 3); this.GroupLabel.Margin = new System.Windows.Forms.Padding(3); - this.GroupLabel.MinimumSize = new System.Drawing.Size(50, 0); + this.GroupLabel.MinimumSize = new System.Drawing.Size(50, 2); this.GroupLabel.Name = "GroupLabel"; this.GroupLabel.Padding = new System.Windows.Forms.Padding(5, 0, 5, 0); - this.GroupLabel.Size = new System.Drawing.Size(50, 144); + this.GroupLabel.Size = new System.Drawing.Size(50, 790); this.GroupLabel.TabIndex = 1; this.GroupLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; // + // errorProvider + // + this.errorProvider.BlinkStyle = System.Windows.Forms.ErrorBlinkStyle.NeverBlink; + this.errorProvider.ContainerControl = this; + this.errorProvider.Icon = global::Ringtoets.Common.Forms.Properties.Resources.ErrorIcon; + // // AssemblyResultControl // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoSize = true; this.Controls.Add(this.GroupPanel); this.Name = "AssemblyResultControl"; + this.Size = new System.Drawing.Size(1361, 796); this.GroupPanel.ResumeLayout(false); this.GroupPanel.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.ErrorProvider)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); } #endregion protected System.Windows.Forms.TableLayoutPanel GroupPanel; - protected System.Windows.Forms.ErrorProvider ErrorProvider; + private System.Windows.Forms.ErrorProvider errorProvider; protected BorderedLabel GroupLabel; } } Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/AssemblyResultControl.cs =================================================================== diff -u -r96e729865d3978156ee7d869c1f45f51dae51bcd -r1ed4c3d0bf61e04b9a3069977c76c183b2cc072a --- Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/AssemblyResultControl.cs (.../AssemblyResultControl.cs) (revision 96e729865d3978156ee7d869c1f45f51dae51bcd) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/AssemblyResultControl.cs (.../AssemblyResultControl.cs) (revision 1ed4c3d0bf61e04b9a3069977c76c183b2cc072a) @@ -36,31 +36,43 @@ protected AssemblyResultControl() { InitializeComponent(); + } + + protected override void OnLoad(EventArgs e) + { + base.OnLoad(e); Dock = DockStyle.Left; } /// + /// Sets the error message of the control. + /// + /// The error message to set. + /// Thrown when + /// is null. + public void SetError(string errorMessage) + { + if (errorMessage == null) + { + throw new ArgumentNullException(nameof(errorMessage)); + } + + errorProvider.SetError(this, errorMessage); + } + + /// /// Clears the error message of the control. /// public void ClearError() { - ErrorProvider.SetError(this, string.Empty); + errorProvider.SetError(this, string.Empty); } /// - /// Sets the error message of the control and clears its values. + /// Clears the data of the control. /// - /// The error message to set. - /// Thrown when - /// is null. - public virtual void SetError(string error) + public virtual void ClearData() { - 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/AssemblyResultControl.resx =================================================================== diff -u -r96e729865d3978156ee7d869c1f45f51dae51bcd -r1ed4c3d0bf61e04b9a3069977c76c183b2cc072a --- Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/AssemblyResultControl.resx (.../AssemblyResultControl.resx) (revision 96e729865d3978156ee7d869c1f45f51dae51bcd) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/AssemblyResultControl.resx (.../AssemblyResultControl.resx) (revision 1ed4c3d0bf61e04b9a3069977c76c183b2cc072a) @@ -117,7 +117,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + 17, 17 \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/AssemblyResultWithProbabilityControl.Designer.cs =================================================================== diff -u -r07bb209b7475f9a60cea565c982c47e0562f6daf -r1ed4c3d0bf61e04b9a3069977c76c183b2cc072a --- Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/AssemblyResultWithProbabilityControl.Designer.cs (.../AssemblyResultWithProbabilityControl.Designer.cs) (revision 07bb209b7475f9a60cea565c982c47e0562f6daf) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/AssemblyResultWithProbabilityControl.Designer.cs (.../AssemblyResultWithProbabilityControl.Designer.cs) (revision 1ed4c3d0bf61e04b9a3069977c76c183b2cc072a) @@ -53,7 +53,6 @@ { this.probabilityPanel = new System.Windows.Forms.TableLayoutPanel(); this.ProbabilityLabel = new BorderedLabel(); - ((System.ComponentModel.ISupportInitialize)(this.ErrorProvider)).BeginInit(); this.probabilityPanel.SuspendLayout(); this.SuspendLayout(); // @@ -92,7 +91,6 @@ this.Controls.Add(this.probabilityPanel); this.Name = "FailureMechanismAssemblyControl"; this.Controls.SetChildIndex(this.probabilityPanel, 0); - ((System.ComponentModel.ISupportInitialize)(this.ErrorProvider)).EndInit(); this.probabilityPanel.ResumeLayout(false); this.probabilityPanel.PerformLayout(); this.ResumeLayout(false); Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/AssemblyResultWithProbabilityControl.cs =================================================================== diff -u -rce7c1e5c5a8aec0020b1ef5cf50bf3c20d3d4c2f -r1ed4c3d0bf61e04b9a3069977c76c183b2cc072a --- Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/AssemblyResultWithProbabilityControl.cs (.../AssemblyResultWithProbabilityControl.cs) (revision ce7c1e5c5a8aec0020b1ef5cf50bf3c20d3d4c2f) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Controls/AssemblyResultWithProbabilityControl.cs (.../AssemblyResultWithProbabilityControl.cs) (revision 1ed4c3d0bf61e04b9a3069977c76c183b2cc072a) @@ -33,9 +33,9 @@ InitializeComponent(); } - public override void SetError(string error) + public override void ClearData() { - base.SetError(error); + base.ClearData(); ProbabilityLabel.Text = Resources.RoundedDouble_No_result_dash; } } Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismResultView.cs =================================================================== diff -u -rb0dc46315e824778c8f43d8956f958376a3b802f -r1ed4c3d0bf61e04b9a3069977c76c183b2cc072a --- Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismResultView.cs (.../FailureMechanismResultView.cs) (revision b0dc46315e824778c8f43d8956f958376a3b802f) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Views/FailureMechanismResultView.cs (.../FailureMechanismResultView.cs) (revision 1ed4c3d0bf61e04b9a3069977c76c183b2cc072a) @@ -190,10 +190,12 @@ private void UpdateFailureMechanismAssemblyResultControl() { + FailureMechanismAssemblyResultControl.ClearData(); + FailureMechanismAssemblyResultControl.ClearError(); + try { UpdateAssemblyResultControl(); - FailureMechanismAssemblyResultControl.ClearError(); } catch (AssemblyException e) { Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Controls/AssemblyResultControlTest.cs =================================================================== diff -u -r07bb209b7475f9a60cea565c982c47e0562f6daf -r1ed4c3d0bf61e04b9a3069977c76c183b2cc072a --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Controls/AssemblyResultControlTest.cs (.../AssemblyResultControlTest.cs) (revision 07bb209b7475f9a60cea565c982c47e0562f6daf) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Controls/AssemblyResultControlTest.cs (.../AssemblyResultControlTest.cs) (revision 1ed4c3d0bf61e04b9a3069977c76c183b2cc072a) @@ -38,72 +38,105 @@ public void DefaultConstructor_ExpectedValues() { // Call - var resultControl = new TestAssemblyResultControl(); + using (var resultControl = new TestAssemblyResultControl()) + { + // Assert + Assert.AreEqual(1, resultControl.Controls.Count); + Assert.IsInstanceOf(resultControl); + Assert.IsTrue(resultControl.AutoSize); + Assert.AreEqual(DockStyle.Left, resultControl.Dock); - // Assert - Assert.AreEqual(1, resultControl.Controls.Count); - Assert.IsInstanceOf(resultControl); - Assert.IsTrue(resultControl.AutoSize); - Assert.AreEqual(DockStyle.Left, resultControl.Dock); + TableLayoutPanel groupPanel = GetGroupPanel(resultControl); + Assert.AreEqual(1, groupPanel.ColumnCount); + Assert.AreEqual(1, groupPanel.RowCount); - TableLayoutPanel groupPanel = GetGroupPanel(resultControl); - Assert.AreEqual(1, groupPanel.ColumnCount); - Assert.AreEqual(1, groupPanel.RowCount); + var groupLabel = (BorderedLabel) groupPanel.GetControlFromPosition(0, 0); + Assert.IsTrue(groupLabel.AutoSize); + Assert.AreEqual(DockStyle.Fill, groupLabel.Dock); + Assert.AreEqual(new Padding(5, 0, 5, 0), groupLabel.Padding); - var groupLabel = (BorderedLabel) groupPanel.GetControlFromPosition(0, 0); - Assert.IsTrue(groupLabel.AutoSize); - Assert.AreEqual(DockStyle.Fill, groupLabel.Dock); - Assert.AreEqual(new Padding(5, 0, 5, 0), groupLabel.Padding); - - var errorProvider = TypeUtils.GetField(resultControl, "ErrorProvider"); - TestHelper.AssertImagesAreEqual(Resources.ErrorIcon.ToBitmap(), errorProvider.Icon.ToBitmap()); + var errorProvider = TypeUtils.GetField(resultControl, "ErrorProvider"); + TestHelper.AssertImagesAreEqual(Resources.ErrorIcon.ToBitmap(), errorProvider.Icon.ToBitmap()); + Assert.AreEqual(ErrorBlinkStyle.NeverBlink, errorProvider.BlinkStyle); + Assert.IsEmpty(errorProvider.GetError(resultControl)); + } } [Test] - public void SetError_ErrorNull_ThrowsArgumentNullException() + public void SetError_ErrorMessageNull_ThrowsArgumentNullException() { // Setup - var resultControl = new TestAssemblyResultControl(); + using (var resultControl = new TestAssemblyResultControl()) + { + // Call + TestDelegate test = () => resultControl.SetError(null); - // Call - TestDelegate test = () => resultControl.SetError(null); - - // Assert - var exception = Assert.Throws(test); - Assert.AreEqual("error", exception.ParamName); + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("errorMessage", exception.ParamName); + } } [Test] - public void SetError_WithError_SetsErrorOnControl() + public void SetError_WithErrorMessage_SetsErrorMessageOnControl() { // Setup const string error = "random error 123"; - var resultControl = new TestAssemblyResultControl(); + using (var resultControl = new TestAssemblyResultControl()) + { + // Call + resultControl.SetError(error); - // Call - resultControl.SetError(error); + // Assert + ErrorProvider errorProvider = GetErrorProvider(resultControl); + Assert.AreEqual(error, errorProvider.GetError(resultControl)); + } + } - // Assert - ErrorProvider errorProvider = GetErrorProvider(resultControl); - Assert.AreEqual(error, errorProvider.GetError(resultControl)); + [Test] + public void SetError_WithEmptyErrorMessage_SetsErrorMessageOnControl() + { + // Setup + using (var resultControl = new TestAssemblyResultControl()) + { + // Call + resultControl.SetError(string.Empty); - Control groupLabel = GetGroupPanel(resultControl).GetControlFromPosition(0, 0); - Assert.IsEmpty(groupLabel.Text); - Assert.AreEqual(Color.White, groupLabel.BackColor); + // Assert + ErrorProvider errorProvider = GetErrorProvider(resultControl); + Assert.IsEmpty(errorProvider.GetError(resultControl)); + } } [Test] - public void ClearError_Always_ClearsErrorOnControl() + public void ClearError_Always_ClearsErrorMessageOnControl() { // Setup - var resultControl = new TestAssemblyResultControl(); + using (var resultControl = new TestAssemblyResultControl()) + { + // Call + resultControl.ClearError(); - // Call - resultControl.ClearError(); + // Assert + ErrorProvider errorProvider = GetErrorProvider(resultControl); + Assert.IsEmpty(errorProvider.GetError(resultControl)); + } + } - // Assert - ErrorProvider errorProvider = GetErrorProvider(resultControl); - Assert.AreEqual(string.Empty, errorProvider.GetError(resultControl)); + [Test] + public void ClearData_Always_ClearsDataOnControl() + { + // Setup + using (var resultControl = new TestAssemblyResultControl()) + { + // Call + resultControl.ClearData(); + + // Assert + Control groupLabel = GetGroupPanel(resultControl).GetControlFromPosition(0, 0); + Assert.IsEmpty(groupLabel.Text); + Assert.AreEqual(Color.White, groupLabel.BackColor); + } } private static ErrorProvider GetErrorProvider(AssemblyResultControl resultControl) @@ -113,7 +146,7 @@ private static TableLayoutPanel GetGroupPanel(AssemblyResultControl resultControl) { - return TypeUtils.GetField(resultControl, "GroupPanel"); + return (TableLayoutPanel) resultControl.Controls["GroupPanel"]; } private class TestAssemblyResultControl : AssemblyResultControl {} Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Controls/AssemblyResultWithProbabilityControlTest.cs =================================================================== diff -u -r07bb209b7475f9a60cea565c982c47e0562f6daf -r1ed4c3d0bf61e04b9a3069977c76c183b2cc072a --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Controls/AssemblyResultWithProbabilityControlTest.cs (.../AssemblyResultWithProbabilityControlTest.cs) (revision 07bb209b7475f9a60cea565c982c47e0562f6daf) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Controls/AssemblyResultWithProbabilityControlTest.cs (.../AssemblyResultWithProbabilityControlTest.cs) (revision 1ed4c3d0bf61e04b9a3069977c76c183b2cc072a) @@ -19,15 +19,11 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using System; using System.Drawing; using System.Windows.Forms; using Core.Common.Controls; -using Core.Common.TestUtil; -using Core.Common.Util.Reflection; using NUnit.Framework; using Ringtoets.Common.Forms.Controls; -using Ringtoets.Common.Forms.Properties; namespace Ringtoets.Common.Forms.Test.Controls { @@ -38,80 +34,61 @@ public void DefaultConstructor_ExpectedValues() { // Call - var resultControl = new TestAssemblyResultWithProbabilityControl(); + using (var resultControl = new TestAssemblyResultWithProbabilityControl()) + { + // Assert + Assert.AreEqual(2, resultControl.Controls.Count); + Assert.IsInstanceOf(resultControl); + Assert.IsTrue(resultControl.AutoSize); + Assert.AreEqual(DockStyle.Left, resultControl.Dock); - // Assert - Assert.AreEqual(2, resultControl.Controls.Count); - Assert.IsInstanceOf(resultControl); - Assert.IsTrue(resultControl.AutoSize); - Assert.AreEqual(DockStyle.Left, resultControl.Dock); + TableLayoutPanel groupPanel = GetGroupPanel(resultControl); + Assert.AreEqual(1, groupPanel.ColumnCount); + Assert.AreEqual(1, groupPanel.RowCount); - TableLayoutPanel groupPanel = GetGroupPanel(resultControl); - Assert.AreEqual(1, groupPanel.ColumnCount); - Assert.AreEqual(1, groupPanel.RowCount); + var groupLabel = (BorderedLabel) groupPanel.GetControlFromPosition(0, 0); + Assert.IsTrue(groupLabel.AutoSize); + Assert.AreEqual(DockStyle.Fill, groupLabel.Dock); + Assert.AreEqual(new Padding(5, 0, 5, 0), groupLabel.Padding); - var groupLabel = (BorderedLabel) groupPanel.GetControlFromPosition(0, 0); - Assert.IsTrue(groupLabel.AutoSize); - Assert.AreEqual(DockStyle.Fill, groupLabel.Dock); - Assert.AreEqual(new Padding(5, 0, 5, 0), groupLabel.Padding); + TableLayoutPanel probabilityPanel = GetProbabilityPanel(resultControl); + Assert.AreEqual(1, probabilityPanel.ColumnCount); + Assert.AreEqual(1, probabilityPanel.RowCount); - var errorProvider = TypeUtils.GetField(resultControl, "ErrorProvider"); - TestHelper.AssertImagesAreEqual(Resources.ErrorIcon.ToBitmap(), errorProvider.Icon.ToBitmap()); - - TableLayoutPanel probabilityPanel = GetProbabilityPanel(resultControl); - Assert.AreEqual(1, probabilityPanel.ColumnCount); - Assert.AreEqual(1, probabilityPanel.RowCount); - - var probabilityLabel = (BorderedLabel) probabilityPanel.GetControlFromPosition(0, 0); - Assert.IsTrue(probabilityLabel.AutoSize); - Assert.AreEqual(DockStyle.Left, probabilityLabel.Dock); - Assert.AreEqual(new Padding(5, 0, 5, 0), probabilityLabel.Padding); - Assert.AreEqual(Color.White, probabilityLabel.BackColor); + var probabilityLabel = (BorderedLabel) probabilityPanel.GetControlFromPosition(0, 0); + Assert.IsTrue(probabilityLabel.AutoSize); + Assert.AreEqual(DockStyle.Left, probabilityLabel.Dock); + Assert.AreEqual(new Padding(5, 0, 5, 0), probabilityLabel.Padding); + Assert.AreEqual(Color.White, probabilityLabel.BackColor); + } } [Test] - public void SetError_ErrorNull_ThrowsArgumentNullException() + public void ClearData_Always_ClearsDataOnControl() { // Setup - var resultControl = new TestAssemblyResultWithProbabilityControl(); + using (var resultControl = new TestAssemblyResultWithProbabilityControl()) + { + // Call + resultControl.ClearData(); - // Call - TestDelegate test = () => resultControl.SetError(null); - - // Assert - var exception = Assert.Throws(test); - Assert.AreEqual("error", exception.ParamName); + // Assert + Control groupLabel = GetGroupPanel(resultControl).GetControlFromPosition(0, 0); + Control probabilityLabel = GetProbabilityPanel(resultControl).GetControlFromPosition(0, 0); + Assert.IsEmpty(groupLabel.Text); + Assert.AreEqual(Color.White, groupLabel.BackColor); + Assert.AreEqual("-", probabilityLabel.Text); + } } - [Test] - public void SetError_WithError_SetsErrorOnControl() - { - // Setup - const string error = "random error 123"; - var resultControl = new TestAssemblyResultWithProbabilityControl(); - - // Call - resultControl.SetError(error); - - // Assert - var errorProvider = TypeUtils.GetField(resultControl, "ErrorProvider"); - Assert.AreEqual(error, errorProvider.GetError(resultControl)); - - Control groupLabel = GetGroupPanel(resultControl).GetControlFromPosition(0, 0); - Control probabilityLabel = GetProbabilityPanel(resultControl).GetControlFromPosition(0, 0); - Assert.IsEmpty(groupLabel.Text); - Assert.AreEqual(Color.White, groupLabel.BackColor); - Assert.AreEqual("-", probabilityLabel.Text); - } - private static TableLayoutPanel GetProbabilityPanel(AssemblyResultWithProbabilityControl resultControl) { - return TypeUtils.GetField(resultControl, "probabilityPanel"); + return (TableLayoutPanel) resultControl.Controls["probabilityPanel"]; } private static TableLayoutPanel GetGroupPanel(AssemblyResultWithProbabilityControl resultControl) { - return TypeUtils.GetField(resultControl, "GroupPanel"); + return (TableLayoutPanel) resultControl.Controls["GroupPanel"]; } private class TestAssemblyResultWithProbabilityControl : AssemblyResultWithProbabilityControl {} Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Controls/FailureMechanismAssemblyCategoryGroupControlTest.cs =================================================================== diff -u -rce7c1e5c5a8aec0020b1ef5cf50bf3c20d3d4c2f -r1ed4c3d0bf61e04b9a3069977c76c183b2cc072a --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Controls/FailureMechanismAssemblyCategoryGroupControlTest.cs (.../FailureMechanismAssemblyCategoryGroupControlTest.cs) (revision ce7c1e5c5a8aec0020b1ef5cf50bf3c20d3d4c2f) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Controls/FailureMechanismAssemblyCategoryGroupControlTest.cs (.../FailureMechanismAssemblyCategoryGroupControlTest.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; @@ -38,11 +39,12 @@ public void DefaultConstructor_ExpectedValues() { // Call - var resultControl = new FailureMechanismAssemblyCategoryGroupControl(); - - // Assert - Assert.AreEqual(1, resultControl.Controls.Count); - Assert.IsInstanceOf(resultControl); + using (var resultControl = new FailureMechanismAssemblyCategoryGroupControl()) + { + // Assert + Assert.AreEqual(1, resultControl.Controls.Count); + Assert.IsInstanceOf(resultControl); + } } [Test] @@ -51,18 +53,39 @@ // Setup var random = new Random(39); var assembly = random.NextEnumValue(); - var resultControl = new FailureMechanismAssemblyCategoryGroupControl(); + using (var resultControl = new FailureMechanismAssemblyCategoryGroupControl()) + { + // Call + resultControl.SetAssemblyResult(assembly); - // Call - resultControl.SetAssemblyResult(assembly); + // Assert + BorderedLabel groupLabel = GetGroupLabel(resultControl); + Assert.AreEqual(new EnumDisplayWrapper(assembly).DisplayName, + groupLabel.Text); + Assert.AreEqual(AssemblyCategoryGroupColorHelper.GetFailureMechanismAssemblyCategoryGroupColor(assembly), + groupLabel.BackColor); + } + } - // Assert - Control groupLabel = TypeUtils.GetField(resultControl, "GroupPanel").GetControlFromPosition(0, 0); + [Test] + public void ClearData_Always_ClearsDataOnControl() + { + // Setup + using (var resultControl = new FailureMechanismAssemblyCategoryGroupControl()) + { + // Call + resultControl.ClearData(); - Assert.AreEqual(new EnumDisplayWrapper(assembly).DisplayName, - groupLabel.Text); - Assert.AreEqual(AssemblyCategoryGroupColorHelper.GetFailureMechanismAssemblyCategoryGroupColor(assembly), - groupLabel.BackColor); + // Assert + BorderedLabel groupLabel = GetGroupLabel(resultControl); + Assert.IsEmpty(groupLabel.Text); + Assert.AreEqual(Color.White, groupLabel.BackColor); + } } + + private static BorderedLabel GetGroupLabel(AssemblyResultControl resultControl) + { + return (BorderedLabel) ((TableLayoutPanel) resultControl.Controls["GroupPanel"]).GetControlFromPosition(0, 0); + } } } \ No newline at end of file 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 Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismResultViewTest.cs =================================================================== diff -u -r07bb209b7475f9a60cea565c982c47e0562f6daf -r1ed4c3d0bf61e04b9a3069977c76c183b2cc072a --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismResultViewTest.cs (.../FailureMechanismResultViewTest.cs) (revision 07bb209b7475f9a60cea565c982c47e0562f6daf) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Views/FailureMechanismResultViewTest.cs (.../FailureMechanismResultViewTest.cs) (revision 1ed4c3d0bf61e04b9a3069977c76c183b2cc072a) @@ -99,8 +99,6 @@ Assert.IsInstanceOf(view); Assert.IsNull(view.Data); Assert.AreSame(failureMechanism, view.FailureMechanism); - - Assert.IsTrue(view.AssemblyResultUpdated); } } @@ -197,6 +195,7 @@ // Precondition Assert.IsFalse(invalidated); + Assert.IsFalse(view.AssemblyResultUpdated); // When view.FailureMechanism.NotifyObservers(); Index: Ringtoets/Common/test/Ringtoets.Common.Forms.TestUtil/FailureMechanismAssemblyCategoryGroupControlTester.cs =================================================================== diff -u -r07bb209b7475f9a60cea565c982c47e0562f6daf -r1ed4c3d0bf61e04b9a3069977c76c183b2cc072a --- Ringtoets/Common/test/Ringtoets.Common.Forms.TestUtil/FailureMechanismAssemblyCategoryGroupControlTester.cs (.../FailureMechanismAssemblyCategoryGroupControlTester.cs) (revision 07bb209b7475f9a60cea565c982c47e0562f6daf) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.TestUtil/FailureMechanismAssemblyCategoryGroupControlTester.cs (.../FailureMechanismAssemblyCategoryGroupControlTester.cs) (revision 1ed4c3d0bf61e04b9a3069977c76c183b2cc072a) @@ -19,7 +19,6 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using System.Drawing; using System.Linq; using System.Windows.Forms; using Core.Common.Controls; Index: Ringtoets/Common/test/Ringtoets.Common.Forms.TestUtil/FailureMechanismAssemblyResultWithProbabilityControlTester.cs =================================================================== diff -u -r07bb209b7475f9a60cea565c982c47e0562f6daf -r1ed4c3d0bf61e04b9a3069977c76c183b2cc072a --- Ringtoets/Common/test/Ringtoets.Common.Forms.TestUtil/FailureMechanismAssemblyResultWithProbabilityControlTester.cs (.../FailureMechanismAssemblyResultWithProbabilityControlTester.cs) (revision 07bb209b7475f9a60cea565c982c47e0562f6daf) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.TestUtil/FailureMechanismAssemblyResultWithProbabilityControlTester.cs (.../FailureMechanismAssemblyResultWithProbabilityControlTester.cs) (revision 1ed4c3d0bf61e04b9a3069977c76c183b2cc072a) @@ -19,7 +19,6 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. -using System.Drawing; using System.Linq; using System.Windows.Forms; using Core.Common.Controls;