Index: Riskeer/Common/src/Riskeer.Common.Forms/Builders/FailureMechanismSectionResultViewColumnBuilder.cs =================================================================== diff -u -rcbe36ee299b62dc400b565eb4a610ff21c682dca -r1c5b5905afe14e33c52d5d261eb920335ddf5d3e --- Riskeer/Common/src/Riskeer.Common.Forms/Builders/FailureMechanismSectionResultViewColumnBuilder.cs (.../FailureMechanismSectionResultViewColumnBuilder.cs) (revision cbe36ee299b62dc400b565eb4a610ff21c682dca) +++ Riskeer/Common/src/Riskeer.Common.Forms/Builders/FailureMechanismSectionResultViewColumnBuilder.cs (.../FailureMechanismSectionResultViewColumnBuilder.cs) (revision 1c5b5905afe14e33c52d5d261eb920335ddf5d3e) @@ -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. // @@ -25,6 +25,7 @@ using Core.Common.Controls.DataGrid; using Core.Common.Util; using Riskeer.AssemblyTool.Forms; +using Riskeer.Common.Data.FailureMechanism; using Riskeer.Common.Forms.Properties; using Riskeer.Common.Primitives; @@ -91,6 +92,85 @@ .ToArray(); } + #region Initial Failure Mechanism Result + + /// + /// 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 AddInitialFailureMechanismResultColumn(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_InitialFailureMechanismResultType_DisplayName, + dataSource, + nameof(EnumDisplayWrapper.Value), + nameof(EnumDisplayWrapper.DisplayName)); + } + + /// + /// Adds a column to the showing the initial failure mechanism result 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 AddInitialFailureMechanismResultProfileProbabilityColumn(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_InitialFailureMechanismResultProfileProbability_DisplayName); + } + + /// + /// Adds a column to the showing the initial failure mechanism result 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 AddInitialFailureMechanismResultSectionProbabilityColumn(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_InitialFailureMechanismResultSectionProbability_DisplayName); + } + + #endregion + #region Assessment /// Index: Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.Designer.cs =================================================================== diff -u -rcbe36ee299b62dc400b565eb4a610ff21c682dca -r1c5b5905afe14e33c52d5d261eb920335ddf5d3e --- Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision cbe36ee299b62dc400b565eb4a610ff21c682dca) +++ Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 1c5b5905afe14e33c52d5d261eb920335ddf5d3e) @@ -1837,6 +1837,37 @@ } /// + /// Looks up a localized string similar to Faalkans initieel faalmechanisme per doorsnede + ///[1/jaar]. + /// + public static string FailureMechanismResultView_InitialFailureMechanismResultProfileProbability_DisplayName { + get { + return ResourceManager.GetString("FailureMechanismResultView_InitialFailureMechanismResultProfileProbability_Displa" + + "yName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Faalkans initieel faalmechanisme per vak + ///[1/jaar]. + /// + public static string FailureMechanismResultView_InitialFailureMechanismResultSectionProbability_DisplayName { + get { + return ResourceManager.GetString("FailureMechanismResultView_InitialFailureMechanismResultSectionProbability_Displa" + + "yName", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Resultaat initieel faalmechanisme. + /// + public static string FailureMechanismResultView_InitialFailureMechanismResultType_DisplayName { + get { + return ResourceManager.GetString("FailureMechanismResultView_InitialFailureMechanismResultType_DisplayName", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Is relevant. /// public static string FailureMechanismResultView_IsRelevant_DisplayName { Index: Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.resx =================================================================== diff -u -rcbe36ee299b62dc400b565eb4a610ff21c682dca -r1c5b5905afe14e33c52d5d261eb920335ddf5d3e --- Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision cbe36ee299b62dc400b565eb4a610ff21c682dca) +++ Riskeer/Common/src/Riskeer.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision 1c5b5905afe14e33c52d5d261eb920335ddf5d3e) @@ -1591,4 +1591,15 @@ Is relevant + + Resultaat initieel faalmechanisme + + + Faalkans initieel faalmechanisme per doorsnede +[1/jaar] + + + Faalkans initieel faalmechanisme per vak +[1/jaar] + \ No newline at end of file Index: Riskeer/Common/test/Riskeer.Common.Forms.Test/Builders/FailureMechanismSectionResultViewColumnBuilderTest.cs =================================================================== diff -u -rcbe36ee299b62dc400b565eb4a610ff21c682dca -r1c5b5905afe14e33c52d5d261eb920335ddf5d3e --- Riskeer/Common/test/Riskeer.Common.Forms.Test/Builders/FailureMechanismSectionResultViewColumnBuilderTest.cs (.../FailureMechanismSectionResultViewColumnBuilderTest.cs) (revision cbe36ee299b62dc400b565eb4a610ff21c682dca) +++ Riskeer/Common/test/Riskeer.Common.Forms.Test/Builders/FailureMechanismSectionResultViewColumnBuilderTest.cs (.../FailureMechanismSectionResultViewColumnBuilderTest.cs) (revision 1c5b5905afe14e33c52d5d261eb920335ddf5d3e) @@ -28,6 +28,7 @@ using NUnit.Extensions.Forms; using NUnit.Framework; using Riskeer.AssemblyTool.Forms; +using Riskeer.Common.Data.FailureMechanism; using Riskeer.Common.Forms.Builders; using Riskeer.Common.Primitives; @@ -165,6 +166,161 @@ } } + #region Initial Failure Mechanism Result + + [Test] + public void AddInitialFailureMechanismResultColumn_DataGridViewControlNull_ThrowsArgumentNullException() + { + // Call + void Call() => FailureMechanismSectionResultViewColumnBuilder.AddInitialFailureMechanismResultColumn(null, "property"); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("dataGridViewControl", exception.ParamName); + } + + [Test] + public void AddInitialFailureMechanismResultColumn_DataPropertyNameNull_ThrowsArgumentNullException() + { + // Call + void Call() => FailureMechanismSectionResultViewColumnBuilder.AddInitialFailureMechanismResultColumn(new DataGridViewControl(), null); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("dataPropertyName", exception.ParamName); + } + + [Test] + public void AddInitialFailureMechanismResultColumn_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.AddInitialFailureMechanismResultColumn(control, dataPropertyName); + + // Assert + Assert.AreEqual(1, dataGridView.ColumnCount); + + var columnData = (DataGridViewComboBoxColumn) dataGridView.Columns[0]; + Assert.AreEqual(dataPropertyName, columnData.DataPropertyName); + Assert.AreEqual("Resultaat initieel faalmechanisme", columnData.HeaderText); + Assert.AreEqual("Value", columnData.ValueMember); + Assert.AreEqual("DisplayName", columnData.DisplayMember); + + IEnumerable> expectedDataSource = CreateExpectedEnumDisplayWrappers(); + AssertEnumDisplayWrappersAreEqual(expectedDataSource, (EnumDisplayWrapper[]) columnData.DataSource); + } + } + + [Test] + public void AddInitialFailureMechanismResultProfileProbabilityColumn_DataGridViewControlNull_ThrowsArgumentNullException() + { + // Call + void Call() => FailureMechanismSectionResultViewColumnBuilder.AddInitialFailureMechanismResultProfileProbabilityColumn(null, "property"); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("dataGridViewControl", exception.ParamName); + } + + [Test] + public void AddInitialFailureMechanismResultProfileProbabilityColumn_DataPropertyNameNull_ThrowsArgumentNullException() + { + // Call + void Call() => FailureMechanismSectionResultViewColumnBuilder.AddInitialFailureMechanismResultProfileProbabilityColumn(new DataGridViewControl(), null); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("dataPropertyName", exception.ParamName); + } + + [Test] + public void AddInitialFailureMechanismResultProfileProbabilityColumn_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.AddInitialFailureMechanismResultProfileProbabilityColumn(control, dataPropertyName); + + // Assert + Assert.AreEqual(1, dataGridView.ColumnCount); + + var columnData = (DataGridViewTextBoxColumn) dataGridView.Columns[0]; + Assert.AreEqual(dataPropertyName, columnData.DataPropertyName); + Assert.AreEqual("Faalkans initieel faalmechanisme per doorsnede\r\n[1/jaar]", columnData.HeaderText); + Assert.IsFalse(columnData.ReadOnly); + } + } + + [Test] + public void AddInitialFailureMechanismResultSectionProbabilityColumn_DataGridViewControlNull_ThrowsArgumentNullException() + { + // Call + void Call() => FailureMechanismSectionResultViewColumnBuilder.AddInitialFailureMechanismResultSectionProbabilityColumn(null, "property"); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("dataGridViewControl", exception.ParamName); + } + + [Test] + public void AddInitialFailureMechanismResultSectionProbabilityColumn_DataPropertyNameNull_ThrowsArgumentNullException() + { + // Call + void Call() => FailureMechanismSectionResultViewColumnBuilder.AddInitialFailureMechanismResultSectionProbabilityColumn(new DataGridViewControl(), null); + + // Assert + var exception = Assert.Throws(Call); + Assert.AreEqual("dataPropertyName", exception.ParamName); + } + + [Test] + public void AddInitialFailureMechanismResultSectionProbabilityColumn_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.AddInitialFailureMechanismResultSectionProbabilityColumn(control, dataPropertyName); + + // Assert + Assert.AreEqual(1, dataGridView.ColumnCount); + + var columnData = (DataGridViewTextBoxColumn) dataGridView.Columns[0]; + Assert.AreEqual(dataPropertyName, columnData.DataPropertyName); + Assert.AreEqual("Faalkans initieel faalmechanisme per vak\r\n[1/jaar]", columnData.HeaderText); + Assert.IsFalse(columnData.ReadOnly); + } + } + + #endregion + #region Simple Assessment [Test]