Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Helpers/FailureMechanismSectionResultRowHelper.cs =================================================================== diff -u -re328ec3e8da13dbceb282e09e103871f543bbe3f -redf17facd465b0770db4e13b7e2e6bfcb46d9418 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Helpers/FailureMechanismSectionResultRowHelper.cs (.../FailureMechanismSectionResultRowHelper.cs) (revision e328ec3e8da13dbceb282e09e103871f543bbe3f) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Helpers/FailureMechanismSectionResultRowHelper.cs (.../FailureMechanismSectionResultRowHelper.cs) (revision edf17facd465b0770db4e13b7e2e6bfcb46d9418) @@ -24,7 +24,9 @@ using System.Drawing; using System.Windows.Forms; using Core.Common.Controls.DataGrid; +using Core.Common.Util; using Ringtoets.AssemblyTool.Data; +using Ringtoets.AssemblyTool.Forms; using Ringtoets.Common.Data.Calculation; using Ringtoets.Common.Forms.Properties; using Ringtoets.Common.Forms.Views; @@ -269,6 +271,30 @@ } /// + /// Gets the display name of the given . + /// + /// The assembly category group to get the display name for. + /// The display name. + /// Thrown when + /// is an invalid value. + /// Thrown when + /// is a valid value, but unsupported. + public static string GetCategoryGroupDisplayname(FailureMechanismSectionAssemblyCategoryGroup assemblyCategoryGroup) + { + if (!Enum.IsDefined(typeof(FailureMechanismSectionAssemblyCategoryGroup), assemblyCategoryGroup)) + { + throw new InvalidEnumArgumentException(nameof(assemblyCategoryGroup), + (int) assemblyCategoryGroup, + typeof(FailureMechanismSectionAssemblyCategoryGroup)); + } + + DisplayFailureMechanismSectionAssemblyCategoryGroup displayCategoryGroup = DisplayFailureMechanismSectionAssemblyCategoryGroupConverter.Convert( + assemblyCategoryGroup); + + return new EnumDisplayWrapper(displayCategoryGroup).DisplayName; + } + + /// /// Gets the color for a category group. /// /// The category group to get the color for. Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Helpers/FailureMechanismSectionResultRowHelperTest.cs =================================================================== diff -u -re328ec3e8da13dbceb282e09e103871f543bbe3f -redf17facd465b0770db4e13b7e2e6bfcb46d9418 --- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Helpers/FailureMechanismSectionResultRowHelperTest.cs (.../FailureMechanismSectionResultRowHelperTest.cs) (revision e328ec3e8da13dbceb282e09e103871f543bbe3f) +++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Helpers/FailureMechanismSectionResultRowHelperTest.cs (.../FailureMechanismSectionResultRowHelperTest.cs) (revision edf17facd465b0770db4e13b7e2e6bfcb46d9418) @@ -374,6 +374,37 @@ Assert.AreEqual(CellStyle.Disabled, columnStateDefinition.Style); } + [Test] + public void GetCategoryGroupDisplayname_InvalidValue_ThrowsInvalidEnumArgumentException() + { + // Call + TestDelegate test = () => FailureMechanismSectionResultRowHelper.GetCategoryGroupDisplayname((FailureMechanismSectionAssemblyCategoryGroup) 99); + + // Assert + const string expectedMessage = "The value of argument 'assemblyCategoryGroup' (99) is invalid for Enum type 'FailureMechanismSectionAssemblyCategoryGroup'."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, expectedMessage); + } + + [Test] + [TestCase(FailureMechanismSectionAssemblyCategoryGroup.None, "")] + [TestCase(FailureMechanismSectionAssemblyCategoryGroup.NotApplicable, "-")] + [TestCase(FailureMechanismSectionAssemblyCategoryGroup.Iv, "Iv")] + [TestCase(FailureMechanismSectionAssemblyCategoryGroup.IIv, "IIv")] + [TestCase(FailureMechanismSectionAssemblyCategoryGroup.IIIv, "IIIv")] + [TestCase(FailureMechanismSectionAssemblyCategoryGroup.IVv, "IVv")] + [TestCase(FailureMechanismSectionAssemblyCategoryGroup.Vv, "Vv")] + [TestCase(FailureMechanismSectionAssemblyCategoryGroup.VIv, "VIv")] + [TestCase(FailureMechanismSectionAssemblyCategoryGroup.VIIv, "VIIv")] + public void GetCategoryGroupDisplayname_ValidValue_ReturnsDisplayName(FailureMechanismSectionAssemblyCategoryGroup categoryGroup, + string expectedDisplayName) + { + // Call + string displayName = FailureMechanismSectionResultRowHelper.GetCategoryGroupDisplayname(categoryGroup); + + // Assert + Assert.AreEqual(expectedDisplayName, displayName); + } + private class TestDataGridViewCell : DataGridViewCell {} #region Test cases