Index: Riskeer/Common/src/Riskeer.Common.Forms/Builders/FailureMechanismSectionResultViewColumnBuilder.cs
===================================================================
diff -u -r1c5b5905afe14e33c52d5d261eb920335ddf5d3e -r34ed39d44d950aa6b5ed13272555c86fc60f7df9
--- Riskeer/Common/src/Riskeer.Common.Forms/Builders/FailureMechanismSectionResultViewColumnBuilder.cs (.../FailureMechanismSectionResultViewColumnBuilder.cs) (revision 1c5b5905afe14e33c52d5d261eb920335ddf5d3e)
+++ Riskeer/Common/src/Riskeer.Common.Forms/Builders/FailureMechanismSectionResultViewColumnBuilder.cs (.../FailureMechanismSectionResultViewColumnBuilder.cs) (revision 34ed39d44d950aa6b5ed13272555c86fc60f7df9)
@@ -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.
//
@@ -171,6 +171,109 @@
#endregion
+ #region Further Analysis
+
+ ///
+ /// Adds a column to the showing whether further analysis
+ /// is needed for the section result.
+ ///
+ /// The to add the column to.
+ /// The data property name of the column.
+ /// Thrown when any parameter is null.
+ public static void AddFurtherAnalysisNeededColumn(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_FurtherAnalysisNeeded_DisplayName);
+ }
+
+ ///
+ /// Adds a column to the showing a
+ /// .
+ ///
+ /// The to add the column to.
+ /// The data property name of the column.
+ /// Thrown when any parameter is null.
+ public static void AddProbabilityRefinementTypeColumn(DataGridViewControl dataGridViewControl, string dataPropertyName)
+ {
+ if (dataGridViewControl == null)
+ {
+ throw new ArgumentNullException(nameof(dataGridViewControl));
+ }
+
+ if (dataPropertyName == null)
+ {
+ throw new ArgumentNullException(nameof(dataPropertyName));
+ }
+
+ IEnumerable> dataSource = CreateEnumDisplayWrappers();
+
+ dataGridViewControl.AddComboBoxColumn(
+ dataPropertyName,
+ Resources.FailureMechanismResultView_ProbabilityRefinementType_DisplayName,
+ dataSource,
+ nameof(EnumDisplayWrapper.Value),
+ nameof(EnumDisplayWrapper.DisplayName));
+ }
+
+ ///
+ /// Adds a column to the showing the refined probability per profile.
+ ///
+ /// The to add the column to.
+ /// The data property name of the column.
+ /// Thrown when any parameter is null.
+ public static void AddRefinedProfileProbabilityColumn(DataGridViewControl dataGridViewControl, string dataPropertyName)
+ {
+ if (dataGridViewControl == null)
+ {
+ throw new ArgumentNullException(nameof(dataGridViewControl));
+ }
+
+ if (dataPropertyName == null)
+ {
+ throw new ArgumentNullException(nameof(dataPropertyName));
+ }
+
+ dataGridViewControl.AddTextBoxColumn(
+ dataPropertyName,
+ Resources.FailureMechanismResultView_RefinedProfileProbability_DisplayName);
+ }
+
+ ///
+ /// Adds a column to the showing the refined probability per section.
+ ///
+ /// The to add the column to.
+ /// The data property name of the column.
+ /// Thrown when any parameter is null.
+ public static void AddRefinedSectionProbabilityColumn(DataGridViewControl dataGridViewControl, string dataPropertyName)
+ {
+ if (dataGridViewControl == null)
+ {
+ throw new ArgumentNullException(nameof(dataGridViewControl));
+ }
+
+ if (dataPropertyName == null)
+ {
+ throw new ArgumentNullException(nameof(dataPropertyName));
+ }
+
+ dataGridViewControl.AddTextBoxColumn(
+ dataPropertyName,
+ Resources.FailureMechanismResultView_RefinedSectionProbability_DisplayName);
+ }
+
+ #endregion
+
#region Assessment
///
Index: Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.Designer.cs
===================================================================
diff -u -r1c5b5905afe14e33c52d5d261eb920335ddf5d3e -r34ed39d44d950aa6b5ed13272555c86fc60f7df9
--- Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 1c5b5905afe14e33c52d5d261eb920335ddf5d3e)
+++ Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 34ed39d44d950aa6b5ed13272555c86fc60f7df9)
@@ -1820,6 +1820,15 @@
}
///
+ /// Looks up a localized string similar to Is vervolganalyse nodig.
+ ///
+ public static string FailureMechanismResultView_FurtherAnalysisNeeded_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureMechanismResultView_FurtherAnalysisNeeded_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
/// Looks up a localized string similar to NVT - Niet Van Toepassing
///WVT - Wel Van Toepassing
///FV - Faalkans Verwaarloosbaar
@@ -1887,6 +1896,35 @@
}
///
+ /// Looks up a localized string similar to Aanscherpen faalkans.
+ ///
+ public static string FailureMechanismResultView_ProbabilityRefinementType_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureMechanismResultView_ProbabilityRefinementType_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Aangescherpte faalkans per doorsnede
+ ///[1/jaar].
+ ///
+ public static string FailureMechanismResultView_RefinedProfileProbability_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureMechanismResultView_RefinedProfileProbability_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Aangescherpte faalkans per vak
+ ///[1/jaar].
+ ///
+ public static string FailureMechanismResultView_RefinedSectionProbability_DisplayName {
+ get {
+ return ResourceManager.GetString("FailureMechanismResultView_RefinedSectionProbability_DisplayName", resourceCulture);
+ }
+ }
+
+ ///
/// Looks up a localized string similar to Toetsoordeel
///eenvoudige toets.
///
Index: Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.resx
===================================================================
diff -u -r1c5b5905afe14e33c52d5d261eb920335ddf5d3e -r34ed39d44d950aa6b5ed13272555c86fc60f7df9
--- Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision 1c5b5905afe14e33c52d5d261eb920335ddf5d3e)
+++ Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision 34ed39d44d950aa6b5ed13272555c86fc60f7df9)
@@ -1602,4 +1602,18 @@
Faalkans initieel faalmechanisme per vak
[1/jaar]
+
+ Is vervolganalyse nodig
+
+
+ Aanscherpen faalkans
+
+
+ Aangescherpte faalkans per doorsnede
+[1/jaar]
+
+
+ Aangescherpte faalkans per vak
+[1/jaar]
+
\ No newline at end of file
Index: Riskeer/Common/test/Riskeer.Common.Forms.Test/Builders/FailureMechanismSectionResultViewColumnBuilderTest.cs
===================================================================
diff -u -r1c5b5905afe14e33c52d5d261eb920335ddf5d3e -r34ed39d44d950aa6b5ed13272555c86fc60f7df9
--- Riskeer/Common/test/Riskeer.Common.Forms.Test/Builders/FailureMechanismSectionResultViewColumnBuilderTest.cs (.../FailureMechanismSectionResultViewColumnBuilderTest.cs) (revision 1c5b5905afe14e33c52d5d261eb920335ddf5d3e)
+++ Riskeer/Common/test/Riskeer.Common.Forms.Test/Builders/FailureMechanismSectionResultViewColumnBuilderTest.cs (.../FailureMechanismSectionResultViewColumnBuilderTest.cs) (revision 34ed39d44d950aa6b5ed13272555c86fc60f7df9)
@@ -321,6 +321,210 @@
#endregion
+ #region Further Analysis
+
+ [Test]
+ public void AddFurtherAnalysisNeededColumn_DataGridViewControlNull_ThrowsArgumentNullException()
+ {
+ // Call
+ void Call() => FailureMechanismSectionResultViewColumnBuilder.AddFurtherAnalysisNeededColumn(null, "property");
+
+ // Assert
+ var exception = Assert.Throws(Call);
+ Assert.AreEqual("dataGridViewControl", exception.ParamName);
+ }
+
+ [Test]
+ public void AddFurtherAnalysisNeededColumn_DataPropertyNameNull_ThrowsArgumentNullException()
+ {
+ // Call
+ void Call() => FailureMechanismSectionResultViewColumnBuilder.AddFurtherAnalysisNeededColumn(new DataGridViewControl(), null);
+
+ // Assert
+ var exception = Assert.Throws(Call);
+ Assert.AreEqual("dataPropertyName", exception.ParamName);
+ }
+
+ [Test]
+ public void AddFurtherAnalysisNeededColumn_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.AddFurtherAnalysisNeededColumn(control, dataPropertyName);
+
+ // Assert
+ Assert.AreEqual(1, dataGridView.ColumnCount);
+
+ var columnData = (DataGridViewCheckBoxColumn) dataGridView.Columns[0];
+ Assert.AreEqual(dataPropertyName, columnData.DataPropertyName);
+ Assert.AreEqual("Is vervolganalyse nodig", columnData.HeaderText);
+ Assert.IsFalse(columnData.ReadOnly);
+ }
+ }
+
+ [Test]
+ public void AddProbabilityRefinementTypeColumn_DataGridViewControlNull_ThrowsArgumentNullException()
+ {
+ // Call
+ void Call() => FailureMechanismSectionResultViewColumnBuilder.AddProbabilityRefinementTypeColumn(null, "property");
+
+ // Assert
+ var exception = Assert.Throws(Call);
+ Assert.AreEqual("dataGridViewControl", exception.ParamName);
+ }
+
+ [Test]
+ public void AddProbabilityRefinementTypeColumn_DataPropertyNameNull_ThrowsArgumentNullException()
+ {
+ // Call
+ void Call() => FailureMechanismSectionResultViewColumnBuilder.AddProbabilityRefinementTypeColumn(new DataGridViewControl(), null);
+
+ // Assert
+ var exception = Assert.Throws(Call);
+ Assert.AreEqual("dataPropertyName", exception.ParamName);
+ }
+
+ [Test]
+ public void AddProbabilityRefinementTypeColumn_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.AddProbabilityRefinementTypeColumn(control, dataPropertyName);
+
+ // Assert
+ Assert.AreEqual(1, dataGridView.ColumnCount);
+
+ var columnData = (DataGridViewComboBoxColumn) dataGridView.Columns[0];
+ Assert.AreEqual(dataPropertyName, columnData.DataPropertyName);
+ Assert.AreEqual("Aanscherpen faalkans", columnData.HeaderText);
+ Assert.AreEqual("Value", columnData.ValueMember);
+ Assert.AreEqual("DisplayName", columnData.DisplayMember);
+
+ IEnumerable> expectedDataSource = CreateExpectedEnumDisplayWrappers();
+ AssertEnumDisplayWrappersAreEqual(expectedDataSource, (EnumDisplayWrapper[]) columnData.DataSource);
+ }
+ }
+
+ [Test]
+ public void AddRefinedProfileProbabilityColumn_DataGridViewControlNull_ThrowsArgumentNullException()
+ {
+ // Call
+ void Call() => FailureMechanismSectionResultViewColumnBuilder.AddRefinedProfileProbabilityColumn(null, "property");
+
+ // Assert
+ var exception = Assert.Throws(Call);
+ Assert.AreEqual("dataGridViewControl", exception.ParamName);
+ }
+
+ [Test]
+ public void AddRefinedProfileProbabilityColumn_DataPropertyNameNull_ThrowsArgumentNullException()
+ {
+ // Call
+ void Call() => FailureMechanismSectionResultViewColumnBuilder.AddRefinedProfileProbabilityColumn(new DataGridViewControl(), null);
+
+ // Assert
+ var exception = Assert.Throws(Call);
+ Assert.AreEqual("dataPropertyName", exception.ParamName);
+ }
+
+ [Test]
+ public void AddRefinedProfileProbabilityColumn_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.AddRefinedProfileProbabilityColumn(control, dataPropertyName);
+
+ // Assert
+ Assert.AreEqual(1, dataGridView.ColumnCount);
+
+ var columnData = (DataGridViewTextBoxColumn) dataGridView.Columns[0];
+ Assert.AreEqual(dataPropertyName, columnData.DataPropertyName);
+ Assert.AreEqual("Aangescherpte faalkans per doorsnede\r\n[1/jaar]", columnData.HeaderText);
+ Assert.IsFalse(columnData.ReadOnly);
+ }
+ }
+
+ [Test]
+ public void AddRefinedSectionProbabilityColumn_DataGridViewControlNull_ThrowsArgumentNullException()
+ {
+ // Call
+ void Call() => FailureMechanismSectionResultViewColumnBuilder.AddRefinedSectionProbabilityColumn(null, "property");
+
+ // Assert
+ var exception = Assert.Throws(Call);
+ Assert.AreEqual("dataGridViewControl", exception.ParamName);
+ }
+
+ [Test]
+ public void AddRefinedSectionProbabilityColumn_DataPropertyNameNull_ThrowsArgumentNullException()
+ {
+ // Call
+ void Call() => FailureMechanismSectionResultViewColumnBuilder.AddRefinedSectionProbabilityColumn(new DataGridViewControl(), null);
+
+ // Assert
+ var exception = Assert.Throws(Call);
+ Assert.AreEqual("dataPropertyName", exception.ParamName);
+ }
+
+ [Test]
+ public void AddRefinedSectionProbabilityColumn_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.AddRefinedSectionProbabilityColumn(control, dataPropertyName);
+
+ // Assert
+ Assert.AreEqual(1, dataGridView.ColumnCount);
+
+ var columnData = (DataGridViewTextBoxColumn) dataGridView.Columns[0];
+ Assert.AreEqual(dataPropertyName, columnData.DataPropertyName);
+ Assert.AreEqual("Aangescherpte faalkans per vak\r\n[1/jaar]", columnData.HeaderText);
+ Assert.IsFalse(columnData.ReadOnly);
+ }
+ }
+
+ #endregion
+
#region Simple Assessment
[Test]