Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/FailureMechanismSectionAssemblyCalculatorInputCreator.cs
===================================================================
diff -u -r2c456961e1bdf241eddb652aaa1bc0029538ecf4 -r90ee5dda56b89051befda60df923e791c11fdfc4
--- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/FailureMechanismSectionAssemblyCalculatorInputCreator.cs (.../FailureMechanismSectionAssemblyCalculatorInputCreator.cs) (revision 2c456961e1bdf241eddb652aaa1bc0029538ecf4)
+++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/FailureMechanismSectionAssemblyCalculatorInputCreator.cs (.../FailureMechanismSectionAssemblyCalculatorInputCreator.cs) (revision 90ee5dda56b89051befda60df923e791c11fdfc4)
@@ -321,6 +321,76 @@
}
///
+ /// Creates a based on the given .
+ ///
+ /// The tailor made assessment result to create the result for.
+ /// The created tailor made calculation result.
+ /// Thrown when
+ /// is an invalid .
+ /// Thrown when
+ /// is a valid but unsupported .
+ public static EAssessmentResultTypeT3 CreateAssessmentResultTypeT3(TailorMadeAssessmentProbabilityCalculationResultType tailorMadeAssessmentResult)
+ {
+ if (!Enum.IsDefined(typeof(TailorMadeAssessmentProbabilityCalculationResultType), tailorMadeAssessmentResult))
+ {
+ throw new InvalidEnumArgumentException(nameof(tailorMadeAssessmentResult),
+ (int) tailorMadeAssessmentResult,
+ typeof(TailorMadeAssessmentProbabilityCalculationResultType));
+ }
+
+ switch (tailorMadeAssessmentResult)
+ {
+ case TailorMadeAssessmentProbabilityCalculationResultType.None:
+ return EAssessmentResultTypeT3.Gr;
+ case TailorMadeAssessmentProbabilityCalculationResultType.ProbabilityNegligible:
+ return EAssessmentResultTypeT3.Fv;
+ case TailorMadeAssessmentProbabilityCalculationResultType.Probability:
+ return EAssessmentResultTypeT3.ResultSpecified;
+ case TailorMadeAssessmentProbabilityCalculationResultType.NotAssessed:
+ return EAssessmentResultTypeT3.Ngo;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+
+ ///
+ /// Creates a based on the given .
+ ///
+ /// The tailor made assessment result to create the result for.
+ /// The created tailor made calculation result.
+ /// Thrown when
+ /// is an invalid .
+ /// Thrown when
+ /// is a valid but unsupported .
+ public static EAssessmentResultTypeT4 CreateAssessmentResultTypeT4(TailorMadeAssessmentProbabilityAndDetailedCalculationResultType tailorMadeAssessmentResult)
+ {
+ if (!Enum.IsDefined(typeof(TailorMadeAssessmentProbabilityAndDetailedCalculationResultType), tailorMadeAssessmentResult))
+ {
+ throw new InvalidEnumArgumentException(nameof(tailorMadeAssessmentResult),
+ (int) tailorMadeAssessmentResult,
+ typeof(TailorMadeAssessmentProbabilityAndDetailedCalculationResultType));
+ }
+
+ switch (tailorMadeAssessmentResult)
+ {
+ case TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.None:
+ return EAssessmentResultTypeT4.Gr;
+ case TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.ProbabilityNegligible:
+ return EAssessmentResultTypeT4.Fv;
+ case TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.Probability:
+ return EAssessmentResultTypeT4.ResultSpecified;
+ case TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.Sufficient:
+ return EAssessmentResultTypeT4.V;
+ case TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.Insufficient:
+ return EAssessmentResultTypeT4.Vn;
+ case TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.NotAssessed:
+ return EAssessmentResultTypeT4.Ngo;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+
+ ///
/// Creates based on the given parameters.
///
/// The tailor made assessment result to create
Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Creators/FailureMechanismSectionAssemblyCalculatorInputCreatorTest.cs
===================================================================
diff -u -r2c456961e1bdf241eddb652aaa1bc0029538ecf4 -r90ee5dda56b89051befda60df923e791c11fdfc4
--- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Creators/FailureMechanismSectionAssemblyCalculatorInputCreatorTest.cs (.../FailureMechanismSectionAssemblyCalculatorInputCreatorTest.cs) (revision 2c456961e1bdf241eddb652aaa1bc0029538ecf4)
+++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Creators/FailureMechanismSectionAssemblyCalculatorInputCreatorTest.cs (.../FailureMechanismSectionAssemblyCalculatorInputCreatorTest.cs) (revision 90ee5dda56b89051befda60df923e791c11fdfc4)
@@ -892,10 +892,10 @@
EAssessmentResultTypeT1 result = FailureMechanismSectionAssemblyCalculatorInputCreator.CreateAssessmentResultTypeT1(detailedAssessmentResult);
// Assert
- Assert.AreEqual(result, GetTailorMadeCalculationResult(detailedAssessmentResult));
+ Assert.AreEqual(result, GetAssessmentResultTypeT1(detailedAssessmentResult));
}
- private static EAssessmentResultTypeT1 GetTailorMadeCalculationResult(TailorMadeAssessmentResultType detailedAssessmentResult)
+ private static EAssessmentResultTypeT1 GetAssessmentResultTypeT1(TailorMadeAssessmentResultType detailedAssessmentResult)
{
switch (detailedAssessmentResult)
{
@@ -914,6 +914,97 @@
}
}
+ [Test]
+ public void CreateAssessmentResultTypeT3_InvalidEnumInput_ThrowInvalidEnumArgumentException()
+ {
+ // Call
+ TestDelegate test = () => FailureMechanismSectionAssemblyCalculatorInputCreator.CreateAssessmentResultTypeT3((TailorMadeAssessmentProbabilityCalculationResultType) 99);
+
+ // Assert
+ string expectedMessage = $"The value of argument 'tailorMadeAssessmentResult' (99) is invalid for Enum type '{nameof(TailorMadeAssessmentProbabilityCalculationResultType)}'.";
+ TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, expectedMessage);
+ }
+
+ [Test]
+ [TestCase(TailorMadeAssessmentProbabilityCalculationResultType.None)]
+ [TestCase(TailorMadeAssessmentProbabilityCalculationResultType.ProbabilityNegligible)]
+ [TestCase(TailorMadeAssessmentProbabilityCalculationResultType.Probability)]
+ [TestCase(TailorMadeAssessmentProbabilityCalculationResultType.NotAssessed)]
+ public void CreateAssessmentResultTypeT3_ValidInput_ReturnsTailorMadeCalculationResult(TailorMadeAssessmentProbabilityCalculationResultType detailedAssessmentResult)
+ {
+ // Call
+ EAssessmentResultTypeT3 result = FailureMechanismSectionAssemblyCalculatorInputCreator.CreateAssessmentResultTypeT3(detailedAssessmentResult);
+
+ // Assert
+ Assert.AreEqual(result, GetAssessmentResultTypeT3(detailedAssessmentResult));
+ }
+
+ private static EAssessmentResultTypeT3 GetAssessmentResultTypeT3(TailorMadeAssessmentProbabilityCalculationResultType detailedAssessmentResult)
+ {
+ switch (detailedAssessmentResult)
+ {
+ case TailorMadeAssessmentProbabilityCalculationResultType.None:
+ return EAssessmentResultTypeT3.Gr;
+ case TailorMadeAssessmentProbabilityCalculationResultType.ProbabilityNegligible:
+ return EAssessmentResultTypeT3.Fv;
+ case TailorMadeAssessmentProbabilityCalculationResultType.Probability:
+ return EAssessmentResultTypeT3.ResultSpecified;
+ case TailorMadeAssessmentProbabilityCalculationResultType.NotAssessed:
+ return EAssessmentResultTypeT3.Ngo;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+
+ [Test]
+ public void CreateAssessmentResultTypeT4_InvalidEnumInput_ThrowInvalidEnumArgumentException()
+ {
+ // Call
+ TestDelegate test = () => FailureMechanismSectionAssemblyCalculatorInputCreator.CreateAssessmentResultTypeT4((TailorMadeAssessmentProbabilityAndDetailedCalculationResultType) 99);
+
+ // Assert
+ string expectedMessage = $"The value of argument 'tailorMadeAssessmentResult' (99) is invalid for Enum type '{nameof(TailorMadeAssessmentProbabilityAndDetailedCalculationResultType)}'.";
+ TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, expectedMessage);
+ }
+
+ [Test]
+ [TestCase(TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.None)]
+ [TestCase(TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.ProbabilityNegligible)]
+ [TestCase(TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.Probability)]
+ [TestCase(TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.Sufficient)]
+ [TestCase(TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.Insufficient)]
+ [TestCase(TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.NotAssessed)]
+ public void CreateAssessmentResultTypeT4_ValidInput_ReturnsTailorMadeCalculationResult(
+ TailorMadeAssessmentProbabilityAndDetailedCalculationResultType detailedAssessmentResult)
+ {
+ // Call
+ EAssessmentResultTypeT4 result = FailureMechanismSectionAssemblyCalculatorInputCreator.CreateAssessmentResultTypeT4(detailedAssessmentResult);
+
+ // Assert
+ Assert.AreEqual(result, GetAssessmentResultTypeT4(detailedAssessmentResult));
+ }
+
+ private static EAssessmentResultTypeT4 GetAssessmentResultTypeT4(TailorMadeAssessmentProbabilityAndDetailedCalculationResultType detailedAssessmentResult)
+ {
+ switch (detailedAssessmentResult)
+ {
+ case TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.None:
+ return EAssessmentResultTypeT4.Gr;
+ case TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.ProbabilityNegligible:
+ return EAssessmentResultTypeT4.Fv;
+ case TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.Probability:
+ return EAssessmentResultTypeT4.ResultSpecified;
+ case TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.Sufficient:
+ return EAssessmentResultTypeT4.V;
+ case TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.Insufficient:
+ return EAssessmentResultTypeT4.Vn;
+ case TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.NotAssessed:
+ return EAssessmentResultTypeT4.Ngo;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+
#endregion
}
}
\ No newline at end of file