Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/FailureMechanismSectionAssemblyCalculatorInputCreator.cs
===================================================================
diff -u -rb2c5659b0656ae32b98944b07d43ae26e377188c -rff7d35236a40e27f08a25a0d39a958ba9d22331f
--- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/FailureMechanismSectionAssemblyCalculatorInputCreator.cs (.../FailureMechanismSectionAssemblyCalculatorInputCreator.cs) (revision b2c5659b0656ae32b98944b07d43ae26e377188c)
+++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/FailureMechanismSectionAssemblyCalculatorInputCreator.cs (.../FailureMechanismSectionAssemblyCalculatorInputCreator.cs) (revision ff7d35236a40e27f08a25a0d39a958ba9d22331f)
@@ -261,6 +261,41 @@
}
///
+ /// 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 TailorMadeCalculationResult CreateTailorMadeCalculationResult(TailorMadeAssessmentResultType tailorMadeAssessmentResult)
+ {
+ if (!Enum.IsDefined(typeof(TailorMadeAssessmentResultType), tailorMadeAssessmentResult))
+ {
+ throw new InvalidEnumArgumentException(nameof(tailorMadeAssessmentResult),
+ (int) tailorMadeAssessmentResult,
+ typeof(TailorMadeAssessmentResultType));
+ }
+
+ switch (tailorMadeAssessmentResult)
+ {
+ case TailorMadeAssessmentResultType.None:
+ return TailorMadeCalculationResult.None;
+ case TailorMadeAssessmentResultType.ProbabilityNegligible:
+ return TailorMadeCalculationResult.FV;
+ case TailorMadeAssessmentResultType.Sufficient:
+ return TailorMadeCalculationResult.V;
+ case TailorMadeAssessmentResultType.Insufficient:
+ return TailorMadeCalculationResult.VN;
+ case TailorMadeAssessmentResultType.NotAssessed:
+ return TailorMadeCalculationResult.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 -rb2c5659b0656ae32b98944b07d43ae26e377188c -rff7d35236a40e27f08a25a0d39a958ba9d22331f
--- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Creators/FailureMechanismSectionAssemblyCalculatorInputCreatorTest.cs (.../FailureMechanismSectionAssemblyCalculatorInputCreatorTest.cs) (revision b2c5659b0656ae32b98944b07d43ae26e377188c)
+++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Creators/FailureMechanismSectionAssemblyCalculatorInputCreatorTest.cs (.../FailureMechanismSectionAssemblyCalculatorInputCreatorTest.cs) (revision ff7d35236a40e27f08a25a0d39a958ba9d22331f)
@@ -300,7 +300,7 @@
Assert.AreEqual(result.ResultVtoVI, GetDetailedCalculationResult(detailedAssessmentResultForFactorizedLowerLimitNorm));
}
- [Test]
+ [Test]
public void CreateDetailedCalculationResult_InvalidEnumInput_ThrowInvalidEnumArgumentException()
{
// Call
@@ -832,6 +832,51 @@
TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, expectedMessage);
}
+ [Test]
+ public void CreateTailorMadeCalculationResult_InvalidEnumInput_ThrowInvalidEnumArgumentException()
+ {
+ // Call
+ TestDelegate test = () => FailureMechanismSectionAssemblyCalculatorInputCreator.CreateTailorMadeCalculationResult((TailorMadeAssessmentResultType) 99);
+
+ // Assert
+ string expectedMessage = $"The value of argument 'tailorMadeAssessmentResult' (99) is invalid for Enum type '{nameof(TailorMadeAssessmentResultType)}'.";
+ TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, expectedMessage);
+ }
+
+ [Test]
+ [TestCase(TailorMadeAssessmentResultType.None)]
+ [TestCase(TailorMadeAssessmentResultType.ProbabilityNegligible)]
+ [TestCase(TailorMadeAssessmentResultType.Insufficient)]
+ [TestCase(TailorMadeAssessmentResultType.Sufficient)]
+ [TestCase(TailorMadeAssessmentResultType.NotAssessed)]
+ public void CreateTailorMadeCalculationResult_ValidInput_ReturnsTailorMadeCalculationResult(TailorMadeAssessmentResultType detailedAssessmentResult)
+ {
+ // Call
+ TailorMadeCalculationResult result = FailureMechanismSectionAssemblyCalculatorInputCreator.CreateTailorMadeCalculationResult(detailedAssessmentResult);
+
+ // Assert
+ Assert.AreEqual(result, GetTailorMadeCalculationResult(detailedAssessmentResult));
+ }
+
+ private static TailorMadeCalculationResult GetTailorMadeCalculationResult(TailorMadeAssessmentResultType detailedAssessmentResult)
+ {
+ switch (detailedAssessmentResult)
+ {
+ case TailorMadeAssessmentResultType.None:
+ return TailorMadeCalculationResult.None;
+ case TailorMadeAssessmentResultType.ProbabilityNegligible:
+ return TailorMadeCalculationResult.FV;
+ case TailorMadeAssessmentResultType.Sufficient:
+ return TailorMadeCalculationResult.V;
+ case TailorMadeAssessmentResultType.Insufficient:
+ return TailorMadeCalculationResult.VN;
+ case TailorMadeAssessmentResultType.NotAssessed:
+ return TailorMadeCalculationResult.NGO;
+ default:
+ throw new NotSupportedException();
+ }
+ }
+
#endregion
}
}
\ No newline at end of file