Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Builders/FailureMechanismSectionResultColumnBuilder.cs =================================================================== diff -u -ree067be0b11728670314dd61f2dd885fd69f82ea -rca412bcccda3727e4e066fd20f1911fe037b545c --- Ringtoets/Common/src/Ringtoets.Common.Forms/Builders/FailureMechanismSectionResultColumnBuilder.cs (.../FailureMechanismSectionResultColumnBuilder.cs) (revision ee067be0b11728670314dd61f2dd885fd69f82ea) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Builders/FailureMechanismSectionResultColumnBuilder.cs (.../FailureMechanismSectionResultColumnBuilder.cs) (revision ca412bcccda3727e4e066fd20f1911fe037b545c) @@ -34,6 +34,16 @@ /// public static class FailureMechanismSectionResultColumnBuilder { + private static IEnumerable> CreateEnumDisplayWrappers() + { + return Enum.GetValues(typeof(T)) + .OfType() + .Select(e => new EnumDisplayWrapper(e)) + .ToArray(); + } + + #region Assessment + /// /// Adds a column to the showing a /// . @@ -169,12 +179,82 @@ Resources.FailureMechanismResultView_TailorMadeAssessmentProbability_DisplayName); } - private static IEnumerable> CreateEnumDisplayWrappers() + #endregion + + #region Assessment Assembly + + /// + /// Adds a column to the showing the simple + /// assessment assembly group. + /// + /// The to add the column to. + /// The data property name of the column. + /// Thrown when any parameter is null. + public static void AddSimpleAssessmentAssemblyColumn(DataGridViewControl dataGridViewControl, string dataPropertyName) { - return Enum.GetValues(typeof(T)) - .OfType() - .Select(e => new EnumDisplayWrapper(e)) - .ToArray(); + if (dataGridViewControl == null) + { + throw new ArgumentNullException(nameof(dataGridViewControl)); + } + + if (dataPropertyName == null) + { + throw new ArgumentNullException(nameof(dataPropertyName)); + } + + dataGridViewControl.AddTextBoxColumn( + dataPropertyName, + Resources.FailureMechanismResultView_SimpleAssessmentAssembly_DisplayName); } + + /// + /// Adds a column to the showing the detailed + /// assessment assembly group. + /// + /// The to add the column to. + /// The data property name of the column. + /// Thrown when any parameter is null. + public static void AddDetailedAssessmentAssemblyColumn(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_DetailedAssessmentAssembly_DisplayName); + } + + /// + /// Adds a column to the showing the tailor made + /// assessment assembly group. + /// + /// The to add the column to. + /// The data property name of the column. + /// Thrown when any parameter is null. + public static void AddTailorMadeAssessmentAssemblyColumn(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_TailorMadeAssessmentAssembly_DisplayName); + } + + #endregion } } \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs =================================================================== diff -u -ree067be0b11728670314dd61f2dd885fd69f82ea -rca412bcccda3727e4e066fd20f1911fe037b545c --- Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision ee067be0b11728670314dd61f2dd885fd69f82ea) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision ca412bcccda3727e4e066fd20f1911fe037b545c) @@ -1445,6 +1445,16 @@ } /// + /// Looks up a localized string similar to Assemblageresultaat + ///gedetailleerde toets per vak. + /// + public static string FailureMechanismResultView_DetailedAssessmentAssembly_DisplayName { + get { + return ResourceManager.GetString("FailureMechanismResultView_DetailedAssessmentAssembly_DisplayName", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Gedetailleerde toets per vak ///Faalkans. /// @@ -1455,6 +1465,16 @@ } /// + /// Looks up a localized string similar to Assemblageresultaat + ///eenvoudige toets. + /// + public static string FailureMechanismResultView_SimpleAssessmentAssembly_DisplayName { + get { + return ResourceManager.GetString("FailureMechanismResultView_SimpleAssessmentAssembly_DisplayName", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Eenvoudige toets. /// public static string FailureMechanismResultView_SimpleAssessmentResult_DisplayName { @@ -1473,6 +1493,16 @@ } /// + /// Looks up a localized string similar to Assemblageresultaat + ///toets op maat. + /// + public static string FailureMechanismResultView_TailorMadeAssessmentAssembly_DisplayName { + get { + return ResourceManager.GetString("FailureMechanismResultView_TailorMadeAssessmentAssembly_DisplayName", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Toets op maat ///Faalkans. /// Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx =================================================================== diff -u -ree067be0b11728670314dd61f2dd885fd69f82ea -rca412bcccda3727e4e066fd20f1911fe037b545c --- Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision ee067be0b11728670314dd61f2dd885fd69f82ea) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision ca412bcccda3727e4e066fd20f1911fe037b545c) @@ -234,6 +234,18 @@ Gedetailleerde toets per vak Faalkans + + Assemblageresultaat +eenvoudige toets + + + Assemblageresultaat +gedetailleerde toets per vak + + + Assemblageresultaat +toets op maat + Vak Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Builders/FailureMechanismSectionResultColumnBuilderTest.cs =================================================================== diff -u -ree067be0b11728670314dd61f2dd885fd69f82ea -rca412bcccda3727e4e066fd20f1911fe037b545c --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Builders/FailureMechanismSectionResultColumnBuilderTest.cs (.../FailureMechanismSectionResultColumnBuilderTest.cs) (revision ee067be0b11728670314dd61f2dd885fd69f82ea) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Builders/FailureMechanismSectionResultColumnBuilderTest.cs (.../FailureMechanismSectionResultColumnBuilderTest.cs) (revision ca412bcccda3727e4e066fd20f1911fe037b545c) @@ -346,5 +346,159 @@ } #endregion + + #region Assessment Assembly + + [Test] + public void AddSimpleAssessmentAssemblyColumn_DataGridViewControlNull_ThrowsArgumentNullException() + { + // Call + TestDelegate test = () => FailureMechanismSectionResultColumnBuilder.AddSimpleAssessmentAssemblyColumn(null, "property"); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("dataGridViewControl", exception.ParamName); + } + + [Test] + public void AddSimpleAssessmentAssemblyColumn_DataPropertyNameNull_ThrowsArgumentNullException() + { + // Call + TestDelegate test = () => FailureMechanismSectionResultColumnBuilder.AddSimpleAssessmentAssemblyColumn(new DataGridViewControl(), null); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("dataPropertyName", exception.ParamName); + } + + [Test] + public void AddSimpleAssessmentAssemblyColumn_WithParameters_AddsColumnToDataGridViewControl() + { + // Setup + const string dataPropertyName = "test property"; + + 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.AddSimpleAssessmentAssemblyColumn(control, dataPropertyName); + + // Assert + Assert.AreEqual(1, dataGridView.ColumnCount); + + var columnData = (DataGridViewTextBoxColumn) dataGridView.Columns[0]; + Assert.AreEqual(dataPropertyName, columnData.DataPropertyName); + Assert.AreEqual("Assemblageresultaat\r\neenvoudige toets", columnData.HeaderText); + } + } + + [Test] + public void AddDetailedAssessmentAssemblyColumn_DataGridViewControlNull_ThrowsArgumentNullException() + { + // Call + TestDelegate test = () => FailureMechanismSectionResultColumnBuilder.AddDetailedAssessmentAssemblyColumn(null, "property"); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("dataGridViewControl", exception.ParamName); + } + + [Test] + public void AddDetailedAssessmentAssemblyColumn_DataPropertyNameNull_ThrowsArgumentNullException() + { + // Call + TestDelegate test = () => FailureMechanismSectionResultColumnBuilder.AddDetailedAssessmentAssemblyColumn(new DataGridViewControl(), null); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("dataPropertyName", exception.ParamName); + } + + [Test] + public void AddDetailedAssessmentAssemblyColumn_WithParameters_AddsColumnToDataGridViewControl() + { + // Setup + const string dataPropertyName = "test property"; + + 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.AddDetailedAssessmentAssemblyColumn(control, dataPropertyName); + + // Assert + Assert.AreEqual(1, dataGridView.ColumnCount); + + var columnData = (DataGridViewTextBoxColumn) dataGridView.Columns[0]; + Assert.AreEqual(dataPropertyName, columnData.DataPropertyName); + Assert.AreEqual("Assemblageresultaat\r\ngedetailleerde toets per vak", columnData.HeaderText); + } + } + + [Test] + public void AddTailorMadeAssessmentAssemblyColumn_DataGridViewControlNull_ThrowsArgumentNullException() + { + // Call + TestDelegate test = () => FailureMechanismSectionResultColumnBuilder.AddTailorMadeAssessmentAssemblyColumn(null, "property"); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("dataGridViewControl", exception.ParamName); + } + + [Test] + public void AddTailorMadeAssessmentAssemblyColumn_DataPropertyNameNull_ThrowsArgumentNullException() + { + // Call + TestDelegate test = () => FailureMechanismSectionResultColumnBuilder.AddTailorMadeAssessmentAssemblyColumn(new DataGridViewControl(), null); + + // Assert + var exception = Assert.Throws(test); + Assert.AreEqual("dataPropertyName", exception.ParamName); + } + + [Test] + public void AddTailorMadeAssessmentAssemblyColumn_WithParameters_AddsColumnToDataGridViewControl() + { + // Setup + const string dataPropertyName = "test property"; + + 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.AddTailorMadeAssessmentAssemblyColumn(control, dataPropertyName); + + // Assert + Assert.AreEqual(1, dataGridView.ColumnCount); + + var columnData = (DataGridViewTextBoxColumn) dataGridView.Columns[0]; + Assert.AreEqual(dataPropertyName, columnData.DataPropertyName); + Assert.AreEqual("Assemblageresultaat\r\ntoets op maat", columnData.HeaderText); + } + } + + #endregion } } \ No newline at end of file