Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/FailureMechanismSectionAssemblyCalculatorInputCreator.cs
===================================================================
diff -u -r1a7e949a3a94f976dd41a7a568701a7674685427 -r5180f3c52adce7b8214e51b81b0ad8c7b21f4521
--- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/FailureMechanismSectionAssemblyCalculatorInputCreator.cs (.../FailureMechanismSectionAssemblyCalculatorInputCreator.cs) (revision 1a7e949a3a94f976dd41a7a568701a7674685427)
+++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/FailureMechanismSectionAssemblyCalculatorInputCreator.cs (.../FailureMechanismSectionAssemblyCalculatorInputCreator.cs) (revision 5180f3c52adce7b8214e51b81b0ad8c7b21f4521)
@@ -229,33 +229,7 @@
throw new ArgumentNullException(nameof(categories));
}
- if (!Enum.IsDefined(typeof(TailorMadeAssessmentProbabilityCalculationResultType), tailorMadeAssessmentResult))
- {
- throw new InvalidEnumArgumentException(nameof(tailorMadeAssessmentResult),
- (int) tailorMadeAssessmentResult,
- typeof(TailorMadeAssessmentProbabilityCalculationResultType));
- }
-
- TailorMadeProbabilityCalculationResult tailorMadeProbabilityCalculationResult;
- switch (tailorMadeAssessmentResult)
- {
- case TailorMadeAssessmentProbabilityCalculationResultType.None:
- tailorMadeProbabilityCalculationResult = new TailorMadeProbabilityCalculationResult(TailorMadeProbabilityCalculationResultGroup.None);
- break;
- case TailorMadeAssessmentProbabilityCalculationResultType.ProbabilityNegligible:
- tailorMadeProbabilityCalculationResult = new TailorMadeProbabilityCalculationResult(TailorMadeProbabilityCalculationResultGroup.FV);
- break;
- case TailorMadeAssessmentProbabilityCalculationResultType.NotAssessed:
- tailorMadeProbabilityCalculationResult = new TailorMadeProbabilityCalculationResult(TailorMadeProbabilityCalculationResultGroup.NGO);
- break;
- case TailorMadeAssessmentProbabilityCalculationResultType.Probability:
- tailorMadeProbabilityCalculationResult = new TailorMadeProbabilityCalculationResult(new Probability(probability));
- break;
- default:
- throw new NotSupportedException();
- }
-
- return new TailorMadeCalculationInputFromProbability(tailorMadeProbabilityCalculationResult,
+ return new TailorMadeCalculationInputFromProbability(ConvertTailorMadeProbabilityCalculationResult(tailorMadeAssessmentResult, probability),
categories.Select(category => new FailureMechanismSectionCategory(
ConvertFailureMechanismSectionAssemblyCategoryGroup(category.Group),
new Probability(category.LowerBoundary),
@@ -305,5 +279,45 @@
throw new NotSupportedException();
}
}
+
+ ///
+ /// Converts a and the given
+ /// to a .
+ ///
+ /// The tailor made assessment result to create
+ /// the input for.
+ /// The calculated probability to create the input for.
+ /// The converted .
+ /// Thrown when:
+ /// is an invalid .
+ /// Thrown when
+ /// is a valid but unsupported .
+ /// Thrown when any input parameter has an
+ /// invalid value.
+ private static TailorMadeProbabilityCalculationResult ConvertTailorMadeProbabilityCalculationResult(
+ TailorMadeAssessmentProbabilityCalculationResultType tailorMadeAssessmentResult,
+ double probability)
+ {
+ if (!Enum.IsDefined(typeof(TailorMadeAssessmentProbabilityCalculationResultType), tailorMadeAssessmentResult))
+ {
+ throw new InvalidEnumArgumentException(nameof(tailorMadeAssessmentResult),
+ (int) tailorMadeAssessmentResult,
+ typeof(TailorMadeAssessmentProbabilityCalculationResultType));
+ }
+
+ switch (tailorMadeAssessmentResult)
+ {
+ case TailorMadeAssessmentProbabilityCalculationResultType.None:
+ return new TailorMadeProbabilityCalculationResult(TailorMadeProbabilityCalculationResultGroup.None);
+ case TailorMadeAssessmentProbabilityCalculationResultType.ProbabilityNegligible:
+ return new TailorMadeProbabilityCalculationResult(TailorMadeProbabilityCalculationResultGroup.FV);
+ case TailorMadeAssessmentProbabilityCalculationResultType.NotAssessed:
+ return new TailorMadeProbabilityCalculationResult(TailorMadeProbabilityCalculationResultGroup.NGO);
+ case TailorMadeAssessmentProbabilityCalculationResultType.Probability:
+ return new TailorMadeProbabilityCalculationResult(new Probability(probability));
+ default:
+ throw new NotSupportedException();
+ }
+ }
}
}
\ No newline at end of file
Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorTest.cs
===================================================================
diff -u -r1a7e949a3a94f976dd41a7a568701a7674685427 -r5180f3c52adce7b8214e51b81b0ad8c7b21f4521
--- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorTest.cs (.../FailureMechanismSectionAssemblyCalculatorTest.cs) (revision 1a7e949a3a94f976dd41a7a568701a7674685427)
+++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorTest.cs (.../FailureMechanismSectionAssemblyCalculatorTest.cs) (revision 5180f3c52adce7b8214e51b81b0ad8c7b21f4521)
@@ -132,6 +132,37 @@
}
[Test]
+ public void AssembleTailorMadeAssessment_WithInvalidAssessmentResultTypeEnumInput_ThrowFailureMechanismSectionAssemblyCalculatorException()
+ {
+ // Setup
+ var random = new Random(39);
+ double probability = random.NextDouble();
+ var categories = new[]
+ {
+ new FailureMechanismSectionAssemblyCategory(random.NextDouble(),
+ random.NextDouble(),
+ random.NextEnumValue())
+ };
+
+ using (new AssemblyToolKernelFactoryConfig())
+ {
+ var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance;
+ var calculator = new FailureMechanismSectionAssemblyCalculator(factory);
+
+ // Call
+ TestDelegate test = () => calculator.AssembleTailorMadeAssessment((TailorMadeAssessmentProbabilityCalculationResultType) 99,
+ probability,
+ categories);
+
+ // Assert
+ var exception = Assert.Throws(test);
+ Exception innerException = exception.InnerException;
+ Assert.IsInstanceOf(innerException);
+ Assert.AreEqual(innerException.Message, exception.Message);
+ }
+ }
+
+ [Test]
public void AssembleTailorMadeAssessment_WithInvalidCategoryEnumInput_ThrowFailureMechanismSectionAssemblyCalculatorException()
{
// Setup
@@ -147,10 +178,6 @@
using (new AssemblyToolKernelFactoryConfig())
{
var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance;
- FailureMechanismSectionAssemblyKernelStub kernel = factory.LastCreatedFailureMechanismSectionAssemblyKernel;
- kernel.FailureMechanismSectionAssemblyCategoryResult = new CalculationOutput(
- new FailureMechanismSectionAssemblyCategoryResult(FailureMechanismSectionCategoryGroup.Iv, Probability.NaN));
-
var calculator = new FailureMechanismSectionAssemblyCalculator(factory);
// Call
Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorStubTest.cs
===================================================================
diff -u -ra9238f94c62a8feaa5d84250b1c99e2eca163afc -r5180f3c52adce7b8214e51b81b0ad8c7b21f4521
--- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorStubTest.cs (.../FailureMechanismSectionAssemblyCalculatorStubTest.cs) (revision a9238f94c62a8feaa5d84250b1c99e2eca163afc)
+++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorStubTest.cs (.../FailureMechanismSectionAssemblyCalculatorStubTest.cs) (revision 5180f3c52adce7b8214e51b81b0ad8c7b21f4521)
@@ -54,7 +54,11 @@
Assert.IsNull(calculator.TailorMadeAssessmentCategoriesInput);
Assert.AreEqual(0.0, calculator.TailorMadeAssessmentProbabilityInput);
- Assert.AreEqual((TailorMadeAssessmentProbabilityAndDetailedCalculationResultType) 0, calculator.TailorMadeAssessmentProbabilityAndDetailedCalculationResultInput);
+
+ Assert.AreEqual((TailorMadeAssessmentProbabilityAndDetailedCalculationResultType) 0,
+ calculator.TailorMadeAssessmentProbabilityAndDetailedCalculationResult);
+ Assert.AreEqual((TailorMadeAssessmentProbabilityCalculationResultType) 0,
+ calculator.TailorMadeAssessmentProbabilityCalculationResultType);
Assert.IsNull(calculator.TailorMadeAssessmentAssemblyOutput);
Assert.IsNull(calculator.CombinedSimpleAssemblyInput);
Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorStub.cs
===================================================================
diff -u -ra9238f94c62a8feaa5d84250b1c99e2eca163afc -r5180f3c52adce7b8214e51b81b0ad8c7b21f4521
--- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorStub.cs (.../FailureMechanismSectionAssemblyCalculatorStub.cs) (revision a9238f94c62a8feaa5d84250b1c99e2eca163afc)
+++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorStub.cs (.../FailureMechanismSectionAssemblyCalculatorStub.cs) (revision 5180f3c52adce7b8214e51b81b0ad8c7b21f4521)
@@ -224,7 +224,9 @@
(TailorMadeAssessmentAssemblyOutput = new FailureMechanismSectionAssembly(1, FailureMechanismSectionAssemblyCategoryGroup.VIv));
}
- public FailureMechanismSectionAssembly AssembleTailorMadeAssessment(TailorMadeAssessmentProbabilityCalculationResultType tailorMadeAssessmentResult, double probability, IEnumerable categories)
+ public FailureMechanismSectionAssembly AssembleTailorMadeAssessment(TailorMadeAssessmentProbabilityCalculationResultType tailorMadeAssessmentResult,
+ double probability,
+ IEnumerable categories)
{
if (ThrowExceptionOnCalculate)
{
Index: Ringtoets/Common/src/Ringtoets.Common.Primitives/TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.cs
===================================================================
diff -u -r712c1aad8e5486980f259491130e4ae07ea48149 -r5180f3c52adce7b8214e51b81b0ad8c7b21f4521
--- Ringtoets/Common/src/Ringtoets.Common.Primitives/TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.cs (.../TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.cs) (revision 712c1aad8e5486980f259491130e4ae07ea48149)
+++ Ringtoets/Common/src/Ringtoets.Common.Primitives/TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.cs (.../TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.cs) (revision 5180f3c52adce7b8214e51b81b0ad8c7b21f4521)
@@ -65,6 +65,5 @@
///
[ResourcesDisplayName(typeof(Resources), nameof(Resources.AssessmentResultType_NotAssessed))]
NotAssessed = 5
-
}
}
\ No newline at end of file
Index: Ringtoets/Common/src/Ringtoets.Common.Primitives/TailorMadeAssessmentProbabilityCalculationResultType.cs
===================================================================
diff -u -r10da55f5cb8bf1b8a8309e43f923072a29db254d -r5180f3c52adce7b8214e51b81b0ad8c7b21f4521
--- Ringtoets/Common/src/Ringtoets.Common.Primitives/TailorMadeAssessmentProbabilityCalculationResultType.cs (.../TailorMadeAssessmentProbabilityCalculationResultType.cs) (revision 10da55f5cb8bf1b8a8309e43f923072a29db254d)
+++ Ringtoets/Common/src/Ringtoets.Common.Primitives/TailorMadeAssessmentProbabilityCalculationResultType.cs (.../TailorMadeAssessmentProbabilityCalculationResultType.cs) (revision 5180f3c52adce7b8214e51b81b0ad8c7b21f4521)
@@ -57,6 +57,5 @@
///
[ResourcesDisplayName(typeof(Resources), nameof(Resources.AssessmentResultType_NotAssessed))]
NotAssessed = 4
-
}
}
\ No newline at end of file