Index: Riskeer/AssemblyTool/src/Riskeer.AssemblyTool.Forms/DisplayFailureMechanismSectionAssemblyGroupConverter.cs
===================================================================
diff -u
--- Riskeer/AssemblyTool/src/Riskeer.AssemblyTool.Forms/DisplayFailureMechanismSectionAssemblyGroupConverter.cs (revision 0)
+++ Riskeer/AssemblyTool/src/Riskeer.AssemblyTool.Forms/DisplayFailureMechanismSectionAssemblyGroupConverter.cs (revision 56770e50f789f2ff08d4862c1ff6fcd7110afe7e)
@@ -0,0 +1,82 @@
+// Copyright (C) Stichting Deltares 2021. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.ComponentModel;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.AssemblyTool.Forms
+{
+ ///
+ /// Converter to convert
+ /// into .
+ ///
+ public static class DisplayFailureMechanismSectionAssemblyGroupConverter
+ {
+ ///
+ /// Converts into
+ /// .
+ ///
+ /// The group to convert.
+ /// The converted .
+ /// Thrown when
+ /// is an invalid value.
+ /// Thrown when
+ /// is a valid value, but unsupported.
+ public static DisplayFailureMechanismSectionAssemblyGroup Convert(FailureMechanismSectionAssemblyGroup assemblyGroup)
+ {
+ if (!Enum.IsDefined(typeof(FailureMechanismSectionAssemblyGroup), assemblyGroup))
+ {
+ throw new InvalidEnumArgumentException(nameof(assemblyGroup),
+ (int) assemblyGroup,
+ typeof(FailureMechanismSectionAssemblyGroup));
+ }
+
+ switch (assemblyGroup)
+ {
+ case FailureMechanismSectionAssemblyGroup.ND:
+ return DisplayFailureMechanismSectionAssemblyGroup.ND;
+ case FailureMechanismSectionAssemblyGroup.III:
+ return DisplayFailureMechanismSectionAssemblyGroup.III;
+ case FailureMechanismSectionAssemblyGroup.II:
+ return DisplayFailureMechanismSectionAssemblyGroup.II;
+ case FailureMechanismSectionAssemblyGroup.I:
+ return DisplayFailureMechanismSectionAssemblyGroup.I;
+ case FailureMechanismSectionAssemblyGroup.ZeroPlus:
+ return DisplayFailureMechanismSectionAssemblyGroup.ZeroPlus;
+ case FailureMechanismSectionAssemblyGroup.Zero:
+ return DisplayFailureMechanismSectionAssemblyGroup.Zero;
+ case FailureMechanismSectionAssemblyGroup.IMin:
+ return DisplayFailureMechanismSectionAssemblyGroup.IMin;
+ case FailureMechanismSectionAssemblyGroup.IIMin:
+ return DisplayFailureMechanismSectionAssemblyGroup.IIMin;
+ case FailureMechanismSectionAssemblyGroup.IIIMin:
+ return DisplayFailureMechanismSectionAssemblyGroup.IIIMin;
+ case FailureMechanismSectionAssemblyGroup.D:
+ return DisplayFailureMechanismSectionAssemblyGroup.D;
+ case FailureMechanismSectionAssemblyGroup.Gr:
+ return DisplayFailureMechanismSectionAssemblyGroup.GR;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.Forms.Test/DisplayFailureMechanismSectionAssemblyGroupConverterTest.cs
===================================================================
diff -u
--- Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.Forms.Test/DisplayFailureMechanismSectionAssemblyGroupConverterTest.cs (revision 0)
+++ Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.Forms.Test/DisplayFailureMechanismSectionAssemblyGroupConverterTest.cs (revision 56770e50f789f2ff08d4862c1ff6fcd7110afe7e)
@@ -0,0 +1,65 @@
+// Copyright (C) Stichting Deltares 2021. All rights reserved.
+//
+// This file is part of Riskeer.
+//
+// Riskeer is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System.ComponentModel;
+using Core.Common.TestUtil;
+using NUnit.Framework;
+using Riskeer.AssemblyTool.Data;
+
+namespace Riskeer.AssemblyTool.Forms.Test
+{
+ [TestFixture]
+ public class DisplayFailureMechanismSectionAssemblyGroupConverterTest
+ {
+ [Test]
+ public void Convert_InvalidValue_ThrowsInvalidEnumArgumentException()
+ {
+ // Call
+ void Call() => DisplayFailureMechanismSectionAssemblyGroupConverter.Convert((FailureMechanismSectionAssemblyGroup) 99);
+
+ // Assert
+ var expectedMessage = $"The value of argument 'assemblyGroup' (99) is invalid for Enum type '{nameof(FailureMechanismSectionAssemblyGroup)}'.";
+ TestHelper.AssertThrowsArgumentExceptionAndTestMessage(Call, expectedMessage);
+ }
+
+ [Test]
+ [TestCase(FailureMechanismSectionAssemblyGroup.ND, DisplayFailureMechanismSectionAssemblyGroup.ND)]
+ [TestCase(FailureMechanismSectionAssemblyGroup.III, DisplayFailureMechanismSectionAssemblyGroup.III)]
+ [TestCase(FailureMechanismSectionAssemblyGroup.II, DisplayFailureMechanismSectionAssemblyGroup.II)]
+ [TestCase(FailureMechanismSectionAssemblyGroup.I, DisplayFailureMechanismSectionAssemblyGroup.I)]
+ [TestCase(FailureMechanismSectionAssemblyGroup.ZeroPlus, DisplayFailureMechanismSectionAssemblyGroup.ZeroPlus)]
+ [TestCase(FailureMechanismSectionAssemblyGroup.Zero, DisplayFailureMechanismSectionAssemblyGroup.Zero)]
+ [TestCase(FailureMechanismSectionAssemblyGroup.IMin, DisplayFailureMechanismSectionAssemblyGroup.IMin)]
+ [TestCase(FailureMechanismSectionAssemblyGroup.IIMin, DisplayFailureMechanismSectionAssemblyGroup.IIMin)]
+ [TestCase(FailureMechanismSectionAssemblyGroup.IIIMin, DisplayFailureMechanismSectionAssemblyGroup.IIIMin)]
+ [TestCase(FailureMechanismSectionAssemblyGroup.D, DisplayFailureMechanismSectionAssemblyGroup.D)]
+ [TestCase(FailureMechanismSectionAssemblyGroup.Gr, DisplayFailureMechanismSectionAssemblyGroup.GR)]
+ public void Convert_ValidValue_ReturnsConvertedValue(FailureMechanismSectionAssemblyGroup categoryGroup,
+ DisplayFailureMechanismSectionAssemblyGroup expectedDisplayCategoryGroup)
+ {
+ // Call
+ DisplayFailureMechanismSectionAssemblyGroup displayAssemblyGroup = DisplayFailureMechanismSectionAssemblyGroupConverter.Convert(categoryGroup);
+
+ // Assert
+ Assert.AreEqual(expectedDisplayCategoryGroup, displayAssemblyGroup);
+ }
+ }
+}
\ No newline at end of file