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