Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Builders/FailureMechanismSectionResultColumnBuilder.cs
===================================================================
diff -u -rf536315fb0233c46461380a38e856f3ddcb43f7e -r6febcb0e30caa9ad7323b424b5765a3813e6bcea
--- Ringtoets/Common/src/Ringtoets.Common.Forms/Builders/FailureMechanismSectionResultColumnBuilder.cs (.../FailureMechanismSectionResultColumnBuilder.cs) (revision f536315fb0233c46461380a38e856f3ddcb43f7e)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/Builders/FailureMechanismSectionResultColumnBuilder.cs (.../FailureMechanismSectionResultColumnBuilder.cs) (revision 6febcb0e30caa9ad7323b424b5765a3813e6bcea)
@@ -35,6 +35,30 @@
///
public static class FailureMechanismSectionResultColumnBuilder
{
+ ///
+ /// Adds a column to the showing the section name.
+ ///
+ /// The to add the column to.
+ /// The data property name of the column.
+ /// Thrown when any parameter is null.
+ public static void AddSectionNameColumn(DataGridViewControl dataGridViewControl, string dataPropertyName)
+ {
+ if (dataGridViewControl == null)
+ {
+ throw new ArgumentNullException(nameof(dataGridViewControl));
+ }
+
+ if (dataPropertyName == null)
+ {
+ throw new ArgumentNullException(nameof(dataPropertyName));
+ }
+
+ dataGridViewControl.AddTextBoxColumn(
+ dataPropertyName,
+ Resources.Section_DisplayName,
+ true);
+ }
+
private static IEnumerable> CreateEnumDisplayWrappers()
{
return Enum.GetValues(typeof(T))
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Builders/FailureMechanismSectionResultColumnBuilderTest.cs
===================================================================
diff -u -r7f94108fd8e10a072bc806893028709e14f4d2a3 -r6febcb0e30caa9ad7323b424b5765a3813e6bcea
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Builders/FailureMechanismSectionResultColumnBuilderTest.cs (.../FailureMechanismSectionResultColumnBuilderTest.cs) (revision 7f94108fd8e10a072bc806893028709e14f4d2a3)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Builders/FailureMechanismSectionResultColumnBuilderTest.cs (.../FailureMechanismSectionResultColumnBuilderTest.cs) (revision 6febcb0e30caa9ad7323b424b5765a3813e6bcea)
@@ -38,6 +38,55 @@
{
private const string dataPropertyName = "test property";
+ [Test]
+ public void AddSectionNameColumn_DataGridViewControlNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate test = () => FailureMechanismSectionResultColumnBuilder.AddSectionNameColumn(null, "property");
+
+ // Assert
+ var exception = Assert.Throws(test);
+ Assert.AreEqual("dataGridViewControl", exception.ParamName);
+ }
+
+ [Test]
+ public void AddSectionNameColumn_DataPropertyNameNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate test = () => FailureMechanismSectionResultColumnBuilder.AddSectionNameColumn(new DataGridViewControl(), null);
+
+ // Assert
+ var exception = Assert.Throws(test);
+ Assert.AreEqual("dataPropertyName", exception.ParamName);
+ }
+
+ [Test]
+ public void AddSectionNameColumn_WithParameters_AddsColumnToDataGridViewControl()
+ {
+ // Setup
+ using (var form = new Form())
+ using (var control = new DataGridViewControl())
+ {
+ form.Controls.Add(control);
+ form.Show();
+ var dataGridView = (DataGridView) new ControlTester("dataGridView").TheObject;
+
+ // Precondition
+ Assert.AreEqual(0, dataGridView.ColumnCount);
+
+ // Call
+ FailureMechanismSectionResultColumnBuilder.AddSectionNameColumn(control, dataPropertyName);
+
+ // Assert
+ Assert.AreEqual(1, dataGridView.ColumnCount);
+
+ var columnData = (DataGridViewTextBoxColumn) dataGridView.Columns[0];
+ Assert.AreEqual(dataPropertyName, columnData.DataPropertyName);
+ Assert.AreEqual("Vak", columnData.HeaderText);
+ Assert.IsTrue(columnData.ReadOnly);
+ }
+ }
+
private static IEnumerable> CreateExpectedEnumDisplayWrappers()
{
return Enum.GetValues(typeof(T))