Index: Riskeer/Common/src/Riskeer.Common.Forms/Builders/FailureMechanismSectionResultViewColumnBuilder.cs
===================================================================
diff -u -r96ccefa48aa5c97c949f7a7858fcb4d3dc727a3a -rcbe36ee299b62dc400b565eb4a610ff21c682dca
--- Riskeer/Common/src/Riskeer.Common.Forms/Builders/FailureMechanismSectionResultViewColumnBuilder.cs (.../FailureMechanismSectionResultViewColumnBuilder.cs) (revision 96ccefa48aa5c97c949f7a7858fcb4d3dc727a3a)
+++ Riskeer/Common/src/Riskeer.Common.Forms/Builders/FailureMechanismSectionResultViewColumnBuilder.cs (.../FailureMechanismSectionResultViewColumnBuilder.cs) (revision cbe36ee299b62dc400b565eb4a610ff21c682dca)
@@ -60,6 +60,29 @@
true);
}
+ ///
+ /// Adds a column to the showing whether the section result is relevant.
+ ///
+ /// The to add the column to.
+ /// The data property name of the column.
+ /// Thrown when any parameter is null.
+ public static void AddIsRelevantColumn(DataGridViewControl dataGridViewControl, string dataPropertyName)
+ {
+ if (dataGridViewControl == null)
+ {
+ throw new ArgumentNullException(nameof(dataGridViewControl));
+ }
+
+ if (dataPropertyName == null)
+ {
+ throw new ArgumentNullException(nameof(dataPropertyName));
+ }
+
+ dataGridViewControl.AddCheckBoxColumn(
+ dataPropertyName,
+ Resources.FailureMechanismResultView_IsRelevant_DisplayName);
+ }
+
private static IEnumerable> CreateEnumDisplayWrappers()
{
return Enum.GetValues(typeof(T))
Index: Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.Designer.cs
===================================================================
diff -u -r31db4138dbc4a4919af736b01bcc4115290fca4d -rcbe36ee299b62dc400b565eb4a610ff21c682dca
--- Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 31db4138dbc4a4919af736b01bcc4115290fca4d)
+++ Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision cbe36ee299b62dc400b565eb4a610ff21c682dca)
@@ -1,4 +1,4 @@
-// Copyright (C) Stichting Deltares 2021. All rights reserved.
+// Copyright (C) Stichting Deltares 2021. All rights reserved.
//
// This file is part of Riskeer.
//
@@ -1837,6 +1837,15 @@
}
///
+ /// Looks up a localized string similar to Is relevant.
+ ///
+ public static string FailureMechanismResultView_IsRelevant_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureMechanismResultView_IsRelevant_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
/// Looks up a localized string similar to Toetsoordeel
///handmatig.
///
Index: Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.resx
===================================================================
diff -u -r4f0c0262c0c12dd61927f490e308a748ea82bdf6 -rcbe36ee299b62dc400b565eb4a610ff21c682dca
--- Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision 4f0c0262c0c12dd61927f490e308a748ea82bdf6)
+++ Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision cbe36ee299b62dc400b565eb4a610ff21c682dca)
@@ -1588,4 +1588,7 @@
Faalkans per vak
[1/jaar]
+
+ Is relevant
+
\ No newline at end of file
Index: Riskeer/Common/test/Riskeer.Common.Forms.Test/Builders/FailureMechanismSectionResultViewColumnBuilderTest.cs
===================================================================
diff -u -r96ccefa48aa5c97c949f7a7858fcb4d3dc727a3a -rcbe36ee299b62dc400b565eb4a610ff21c682dca
--- Riskeer/Common/test/Riskeer.Common.Forms.Test/Builders/FailureMechanismSectionResultViewColumnBuilderTest.cs (.../FailureMechanismSectionResultViewColumnBuilderTest.cs) (revision 96ccefa48aa5c97c949f7a7858fcb4d3dc727a3a)
+++ Riskeer/Common/test/Riskeer.Common.Forms.Test/Builders/FailureMechanismSectionResultViewColumnBuilderTest.cs (.../FailureMechanismSectionResultViewColumnBuilderTest.cs) (revision cbe36ee299b62dc400b565eb4a610ff21c682dca)
@@ -42,21 +42,21 @@
public void AddSectionNameColumn_DataGridViewControlNull_ThrowsArgumentNullException()
{
// Call
- TestDelegate test = () => FailureMechanismSectionResultViewColumnBuilder.AddSectionNameColumn(null, "property");
+ void Call() => FailureMechanismSectionResultViewColumnBuilder.AddSectionNameColumn(null, "property");
// Assert
- var exception = Assert.Throws(test);
+ var exception = Assert.Throws(Call);
Assert.AreEqual("dataGridViewControl", exception.ParamName);
}
[Test]
public void AddSectionNameColumn_DataPropertyNameNull_ThrowsArgumentNullException()
{
// Call
- TestDelegate test = () => FailureMechanismSectionResultViewColumnBuilder.AddSectionNameColumn(new DataGridViewControl(), null);
+ void Call() => FailureMechanismSectionResultViewColumnBuilder.AddSectionNameColumn(new DataGridViewControl(), null);
// Assert
- var exception = Assert.Throws(test);
+ var exception = Assert.Throws(Call);
Assert.AreEqual("dataPropertyName", exception.ParamName);
}
@@ -87,6 +87,55 @@
}
}
+ [Test]
+ public void AddIsRelevantColumn_DataGridViewControlNull_ThrowsArgumentNullException()
+ {
+ // Call
+ void Call() => FailureMechanismSectionResultViewColumnBuilder.AddIsRelevantColumn(null, "property");
+
+ // Assert
+ var exception = Assert.Throws(Call);
+ Assert.AreEqual("dataGridViewControl", exception.ParamName);
+ }
+
+ [Test]
+ public void AddIsRelevantColumn_DataPropertyNameNull_ThrowsArgumentNullException()
+ {
+ // Call
+ void Call() => FailureMechanismSectionResultViewColumnBuilder.AddIsRelevantColumn(new DataGridViewControl(), null);
+
+ // Assert
+ var exception = Assert.Throws(Call);
+ Assert.AreEqual("dataPropertyName", exception.ParamName);
+ }
+
+ [Test]
+ public void AddIsRelevantColumn_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
+ FailureMechanismSectionResultViewColumnBuilder.AddIsRelevantColumn(control, dataPropertyName);
+
+ // Assert
+ Assert.AreEqual(1, dataGridView.ColumnCount);
+
+ var columnData = (DataGridViewCheckBoxColumn) dataGridView.Columns[0];
+ Assert.AreEqual(dataPropertyName, columnData.DataPropertyName);
+ Assert.AreEqual("Is relevant", columnData.HeaderText);
+ Assert.IsFalse(columnData.ReadOnly);
+ }
+ }
+
private static IEnumerable> CreateExpectedEnumDisplayWrappers()
{
return Enum.GetValues(typeof(T))