Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/AssessmentSectionAssemblyCalculator.cs =================================================================== diff -u -r61e0b1bf1351eabb70eccd3fafeb61ade378f44c -rd8ba4886ef6d89e57d34a612fa21cd61d656f550 --- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/AssessmentSectionAssemblyCalculator.cs (.../AssessmentSectionAssemblyCalculator.cs) (revision 61e0b1bf1351eabb70eccd3fafeb61ade378f44c) +++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/AssessmentSectionAssemblyCalculator.cs (.../AssessmentSectionAssemblyCalculator.cs) (revision d8ba4886ef6d89e57d34a612fa21cd61d656f550) @@ -25,6 +25,7 @@ using Assembly.Kernel.Exceptions; using Assembly.Kernel.Interfaces; using Assembly.Kernel.Model; +using Assembly.Kernel.Model.CategoryLimits; using Ringtoets.AssemblyTool.Data; using Ringtoets.AssemblyTool.KernelWrapper.Creators; using Ringtoets.AssemblyTool.KernelWrapper.Kernels; @@ -53,19 +54,24 @@ this.factory = factory; } - public AssessmentSectionAssembly AssembleFailureMechanisms(IEnumerable input, + public FailureMechanismAssembly AssembleFailureMechanisms(IEnumerable input, double signalingNorm, double lowerLimitNorm) { try { + + ICategoryLimitsCalculator categoriesKernel = factory.CreateAssemblyCategoriesKernel(); + CategoriesList categories = categoriesKernel.CalculateFailureMechanismCategoryLimitsWbi11( + new AssessmentSection(1, signalingNorm, lowerLimitNorm), + new FailureMechanism(1, 0.54)); + IAssessmentGradeAssembler kernel = factory.CreateAssessmentSectionAssemblyKernel(); - AssessmentSectionAssemblyResult output = kernel.AssembleAssessmentSectionWbi2B1( - new AssessmentSection(1, signalingNorm, lowerLimitNorm), + FailureMechanismAssemblyResult output = kernel.AssembleAssessmentSectionWbi2B1( input.Select(AssessmentSectionAssemblyInputCreator.CreateFailureMechanismAssemblyResult).ToArray(), - false); + categories, false); - return AssessmentSectionAssemblyCreator.CreateAssessmentSectionAssembly(output); + return FailureMechanismAssemblyCreator.Create(output); } catch (AssemblyException e) { @@ -77,16 +83,16 @@ } } - public AssessmentSectionAssemblyCategoryGroup AssembleFailureMechanisms(IEnumerable input) + public FailureMechanismAssemblyCategoryGroup AssembleFailureMechanisms(IEnumerable input) { try { IAssessmentGradeAssembler kernel = factory.CreateAssessmentSectionAssemblyKernel(); - EAssessmentGrade output = kernel.AssembleAssessmentSectionWbi2A1( + EFailureMechanismCategory output = kernel.AssembleAssessmentSectionWbi2A1( input.Select(AssessmentSectionAssemblyInputCreator.CreateFailureMechanismAssemblyResult).ToArray(), false); - return AssemblyCategoryCreator.CreateAssessmentSectionAssemblyCategory(output); + return FailureMechanismAssemblyCreator.CreateFailureMechanismAssemblyCategoryGroup(output); } catch (AssemblyException e) { @@ -98,17 +104,17 @@ } } - public AssessmentSectionAssemblyCategoryGroup AssembleAssessmentSection(AssessmentSectionAssemblyCategoryGroup failureMechanismsWithoutProbability, - AssessmentSectionAssembly failureMechanismsWithProbability) + public AssessmentSectionAssemblyCategoryGroup AssembleAssessmentSection(FailureMechanismAssemblyCategoryGroup failureMechanismsWithoutProbability, + FailureMechanismAssembly failureMechanismsWithProbability) { try { IAssessmentGradeAssembler kernel = factory.CreateAssessmentSectionAssemblyKernel(); - AssessmentSectionAssemblyResult output = kernel.AssembleAssessmentSectionWbi2C1( - AssessmentSectionAssemblyInputCreator.CreateAssessementSectionAssemblyResult(failureMechanismsWithoutProbability), - AssessmentSectionAssemblyInputCreator.CreateAssessementSectionAssemblyResult(failureMechanismsWithProbability)); + EAssessmentGrade output = kernel.AssembleAssessmentSectionWbi2C1( + AssessmentSectionAssemblyInputCreator.CreateFailureMechanismCategory(failureMechanismsWithoutProbability), + AssessmentSectionAssemblyInputCreator.CreateFailureMechanismAssemblyResult(failureMechanismsWithProbability)); - return AssessmentSectionAssemblyCreator.CreateAssessmentSectionAssembly(output).Group; + return AssemblyCategoryCreator.CreateAssessmentSectionAssemblyCategory(output); } catch (AssemblyException e) { Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/AssessmentSectionAssemblyInputCreator.cs =================================================================== diff -u -r9287290eb9547d3635da4bc014dc14413837ac57 -rd8ba4886ef6d89e57d34a612fa21cd61d656f550 --- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/AssessmentSectionAssemblyInputCreator.cs (.../AssessmentSectionAssemblyInputCreator.cs) (revision 9287290eb9547d3635da4bc014dc14413837ac57) +++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Creators/AssessmentSectionAssemblyInputCreator.cs (.../AssessmentSectionAssemblyInputCreator.cs) (revision d8ba4886ef6d89e57d34a612fa21cd61d656f550) @@ -53,7 +53,7 @@ throw new ArgumentNullException(nameof(input)); } - return new FailureMechanismAssemblyResult(ConvertFailureMechanismAssemblyCategoryGroup(input.Group), + return new FailureMechanismAssemblyResult(CreateFailureMechanismCategory(input.Group), input.Probability); } @@ -68,10 +68,54 @@ /// a valid but unsupported . public static FailureMechanismAssemblyResult CreateFailureMechanismAssemblyResult(FailureMechanismAssemblyCategoryGroup input) { - return new FailureMechanismAssemblyResult(ConvertFailureMechanismAssemblyCategoryGroup(input)); + return new FailureMechanismAssemblyResult(CreateFailureMechanismCategory(input), double.NaN); } /// + /// Creates a based on the . + /// + /// The + /// to create a for. + /// The created . + /// Thrown when contains + /// an invalid . + /// Thrown when contains + /// a valid but unsupported . + public static EFailureMechanismCategory CreateFailureMechanismCategory(FailureMechanismAssemblyCategoryGroup input) + { + if (!Enum.IsDefined(typeof(FailureMechanismAssemblyCategoryGroup), input)) + { + throw new InvalidEnumArgumentException(nameof(input), + (int) input, + typeof(FailureMechanismAssemblyCategoryGroup)); + } + + switch (input) + { + case FailureMechanismAssemblyCategoryGroup.None: + return EFailureMechanismCategory.Gr; + case FailureMechanismAssemblyCategoryGroup.NotApplicable: + return EFailureMechanismCategory.Nvt; + case FailureMechanismAssemblyCategoryGroup.It: + return EFailureMechanismCategory.It; + case FailureMechanismAssemblyCategoryGroup.IIt: + return EFailureMechanismCategory.IIt; + case FailureMechanismAssemblyCategoryGroup.IIIt: + return EFailureMechanismCategory.IIIt; + case FailureMechanismAssemblyCategoryGroup.IVt: + return EFailureMechanismCategory.IVt; + case FailureMechanismAssemblyCategoryGroup.Vt: + return EFailureMechanismCategory.Vt; + case FailureMechanismAssemblyCategoryGroup.VIt: + return EFailureMechanismCategory.VIt; + case FailureMechanismAssemblyCategoryGroup.VIIt: + return EFailureMechanismCategory.VIIt; + default: + throw new NotSupportedException(); + } + } + + /// /// Creates based on the given parameters. /// /// The assembly to create a for. @@ -137,39 +181,5 @@ throw new NotSupportedException(); } } - - private static EFailureMechanismCategory ConvertFailureMechanismAssemblyCategoryGroup(FailureMechanismAssemblyCategoryGroup input) - { - if (!Enum.IsDefined(typeof(FailureMechanismAssemblyCategoryGroup), input)) - { - throw new InvalidEnumArgumentException(nameof(input), - (int) input, - typeof(FailureMechanismAssemblyCategoryGroup)); - } - - switch (input) - { - case FailureMechanismAssemblyCategoryGroup.None: - return EFailureMechanismCategory.Gr; - case FailureMechanismAssemblyCategoryGroup.NotApplicable: - return EFailureMechanismCategory.Nvt; - case FailureMechanismAssemblyCategoryGroup.It: - return EFailureMechanismCategory.It; - case FailureMechanismAssemblyCategoryGroup.IIt: - return EFailureMechanismCategory.IIt; - case FailureMechanismAssemblyCategoryGroup.IIIt: - return EFailureMechanismCategory.IIIt; - case FailureMechanismAssemblyCategoryGroup.IVt: - return EFailureMechanismCategory.IVt; - case FailureMechanismAssemblyCategoryGroup.Vt: - return EFailureMechanismCategory.Vt; - case FailureMechanismAssemblyCategoryGroup.VIt: - return EFailureMechanismCategory.VIt; - case FailureMechanismAssemblyCategoryGroup.VIIt: - return EFailureMechanismCategory.VIIt; - default: - throw new NotSupportedException(); - } - } } } \ No newline at end of file Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/AssessmentSectionAssemblyCalculatorTest.cs =================================================================== diff -u -rea237aa9ec7893e681cfc3e2aa0cb94c2e866ee1 -rd8ba4886ef6d89e57d34a612fa21cd61d656f550 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/AssessmentSectionAssemblyCalculatorTest.cs (.../AssessmentSectionAssemblyCalculatorTest.cs) (revision ea237aa9ec7893e681cfc3e2aa0cb94c2e866ee1) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/AssessmentSectionAssemblyCalculatorTest.cs (.../AssessmentSectionAssemblyCalculatorTest.cs) (revision d8ba4886ef6d89e57d34a612fa21cd61d656f550) @@ -29,13 +29,13 @@ using NUnit.Framework; using Rhino.Mocks; using Ringtoets.AssemblyTool.Data; -using Ringtoets.AssemblyTool.KernelWrapper.Calculators; using Ringtoets.AssemblyTool.KernelWrapper.Calculators.Assembly; using Ringtoets.AssemblyTool.KernelWrapper.Creators; using Ringtoets.AssemblyTool.KernelWrapper.Kernels; using Ringtoets.AssemblyTool.KernelWrapper.TestUtil; using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Kernels; using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Kernels.Assembly; +using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Kernels.Categories; namespace Ringtoets.AssemblyTool.KernelWrapper.Test.Calculators.Assembly { @@ -111,9 +111,10 @@ using (new AssemblyToolKernelFactoryConfig()) { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; + AssessmentSectionAssemblyKernelStub kernel = factory.LastCreatedAssessmentSectionAssemblyKernel; - kernel.AssessmentSectionAssemblyResult = new AssessmentSectionAssemblyResult(random.NextEnumValue(), - random.NextDouble()); + kernel.FailureMechanismAssemblyResult = new FailureMechanismAssemblyResult(random.NextEnumValue(), + random.NextDouble()); var calculator = new AssessmentSectionAssemblyCalculator(factory); @@ -125,9 +126,13 @@ // Assert Assert.IsFalse(kernel.PartialAssembly); - Assert.AreEqual(signalingNorm, kernel.AssessmentSectionInput.FailureProbabilitySignallingLimit); - Assert.AreEqual(lowerLimitNorm, kernel.AssessmentSectionInput.FailureProbabilityLowerLimit); + AssemblyCategoriesKernelStub categoriesKernel = factory.LastCreatedAssemblyCategoriesKernel; + Assert.AreEqual(signalingNorm, categoriesKernel.SignalingNorm); + Assert.AreEqual(lowerLimitNorm, categoriesKernel.LowerLimitNorm); + Assert.AreEqual(1, categoriesKernel.N); + Assert.AreEqual(0.54, categoriesKernel.FailureMechanismContribution); + FailureMechanismAssemblyResult actualFailureMechanismAssemblyInput = kernel.FailureMechanismAssemblyResults.Single(); Assert.AreEqual(GetGroup(failureMechanismAssembly.Group), actualFailureMechanismAssemblyInput.Category); Assert.AreEqual(failureMechanismAssembly.Probability, actualFailureMechanismAssemblyInput.FailureProbability); @@ -146,19 +151,20 @@ { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; AssessmentSectionAssemblyKernelStub kernel = factory.LastCreatedAssessmentSectionAssemblyKernel; - kernel.AssessmentSectionAssemblyResult = new AssessmentSectionAssemblyResult(random.NextEnumValue(), - random.NextDouble()); + kernel.FailureMechanismAssemblyResult = new FailureMechanismAssemblyResult(random.NextEnumValue(), + random.NextDouble()); var calculator = new AssessmentSectionAssemblyCalculator(factory); // Call - AssessmentSectionAssembly assembly = calculator.AssembleFailureMechanisms(Enumerable.Empty(), - signalingNorm, - lowerLimitNorm); + FailureMechanismAssembly assembly = calculator.AssembleFailureMechanisms(Enumerable.Empty(), + signalingNorm, + lowerLimitNorm); // Assert - AssessmentSectionAssemblyResult expectedResult = kernel.AssessmentSectionAssemblyResult; - AssessmentSectionAssemblyCategoryGroup expectedGroup = AssemblyCategoryCreator.CreateAssessmentSectionAssemblyCategory(expectedResult.Category); + FailureMechanismAssemblyResult expectedResult = kernel.FailureMechanismAssemblyResult; + FailureMechanismAssemblyCategoryGroup expectedGroup = + FailureMechanismAssemblyCreator.CreateFailureMechanismAssemblyCategoryGroup(expectedResult.Category); Assert.AreEqual(expectedResult.FailureProbability, assembly.Probability); Assert.AreEqual(expectedGroup, assembly.Group); } @@ -176,8 +182,8 @@ { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; AssessmentSectionAssemblyKernelStub kernel = factory.LastCreatedAssessmentSectionAssemblyKernel; - kernel.AssessmentSectionAssemblyResult = new AssessmentSectionAssemblyResult((EAssessmentGrade) 99, - random.NextDouble()); + kernel.FailureMechanismAssemblyResult = new FailureMechanismAssemblyResult((EFailureMechanismCategory) 99, + random.NextDouble()); var calculator = new AssessmentSectionAssemblyCalculator(factory); @@ -285,7 +291,7 @@ { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; AssessmentSectionAssemblyKernelStub kernel = factory.LastCreatedAssessmentSectionAssemblyKernel; - kernel.AssessmentGradeResult = new Random(39).NextEnumValue(); + kernel.FailureMechanismCategoryResult = new Random(39).NextEnumValue(); var calculator = new AssessmentSectionAssemblyCalculator(factory); @@ -314,15 +320,15 @@ { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; AssessmentSectionAssemblyKernelStub kernel = factory.LastCreatedAssessmentSectionAssemblyKernel; - kernel.AssessmentGradeResult = random.NextEnumValue(); + kernel.FailureMechanismCategoryResult = random.NextEnumValue(); var calculator = new AssessmentSectionAssemblyCalculator(factory); // Call - AssessmentSectionAssemblyCategoryGroup assembly = calculator.AssembleFailureMechanisms(Enumerable.Empty()); + FailureMechanismAssemblyCategoryGroup assembly = calculator.AssembleFailureMechanisms(Enumerable.Empty()); // Assert - AssessmentSectionAssemblyCategoryGroup expectedAssembly = AssemblyCategoryCreator.CreateAssessmentSectionAssemblyCategory(kernel.AssessmentGradeResult); + FailureMechanismAssemblyCategoryGroup expectedAssembly = FailureMechanismAssemblyCreator.CreateFailureMechanismAssemblyCategoryGroup(kernel.FailureMechanismCategoryResult); Assert.AreEqual(expectedAssembly, assembly); } } @@ -397,24 +403,24 @@ } [Test] - [TestCase(AssessmentSectionAssemblyCategoryGroup.None, (AssessmentSectionAssemblyCategoryGroup) 99, TestName = "Invalid Input Failure Mechanisms With Probability")] - [TestCase((AssessmentSectionAssemblyCategoryGroup) 99, AssessmentSectionAssemblyCategoryGroup.None, TestName = "Invalid Input Failure Mechanisms Without Probability")] + [TestCase(FailureMechanismAssemblyCategoryGroup.None, (FailureMechanismAssemblyCategoryGroup) 99, TestName = "Invalid Input Failure Mechanisms With Probability")] + [TestCase((FailureMechanismAssemblyCategoryGroup) 99, FailureMechanismAssemblyCategoryGroup.None, TestName = "Invalid Input Failure Mechanisms Without Probability")] public void AssembleAssessmentSection_WithInvalidInput_ThrowsAssessmentSectionAssemblyCalculatorException( - AssessmentSectionAssemblyCategoryGroup categoryGroupInput1, - AssessmentSectionAssemblyCategoryGroup categoryGroupInput2) + FailureMechanismAssemblyCategoryGroup categoryGroupInputFailureMechanismWithProbability, + FailureMechanismAssemblyCategoryGroup categoryGroupInputFailureMechanismWithoutProbability) { // Setup var random = new Random(39); - var failureMechanismsWithProbability = new AssessmentSectionAssembly(random.NextDouble(), - categoryGroupInput1); + var failureMechanismsWithProbability = new FailureMechanismAssembly(random.NextDouble(), + categoryGroupInputFailureMechanismWithProbability); using (new AssemblyToolKernelFactoryConfig()) { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; var calculator = new AssessmentSectionAssemblyCalculator(factory); // Call - TestDelegate test = () => calculator.AssembleAssessmentSection(categoryGroupInput2, failureMechanismsWithProbability); + TestDelegate test = () => calculator.AssembleAssessmentSection(categoryGroupInputFailureMechanismWithoutProbability, failureMechanismsWithProbability); // Assert var exception = Assert.Throws(test); @@ -428,33 +434,29 @@ { // Setup var random = new Random(39); - var failureMechanismsWithProbability = new AssessmentSectionAssembly(random.NextDouble(), - random.NextEnumValue()); - var failureMechanismsWithoutProbability = random.NextEnumValue(); + var failureMechanismsWithProbability = new FailureMechanismAssembly(random.NextDouble(), + random.NextEnumValue()); + var failureMechanismsWithoutProbability = random.NextEnumValue(); using (new AssemblyToolKernelFactoryConfig()) { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; AssessmentSectionAssemblyKernelStub kernel = factory.LastCreatedAssessmentSectionAssemblyKernel; - kernel.AssessmentSectionAssemblyResult = new AssessmentSectionAssemblyResult(random.NextEnumValue()); + kernel.AssessmentSectionAssemblyResult = random.NextEnumValue(); var calculator = new AssessmentSectionAssemblyCalculator(factory); // Call calculator.AssembleAssessmentSection(failureMechanismsWithoutProbability, failureMechanismsWithProbability); // Assert - AssessmentSectionAssemblyResult actualKernelInputNoFailureProbability = kernel.AssemblyResultNoFailureProbability; - AssessmentSectionAssemblyResult expectedKernelInputNoFailureProbability = - AssessmentSectionAssemblyInputCreator.CreateAssessementSectionAssemblyResult(failureMechanismsWithoutProbability); - Assert.AreEqual(expectedKernelInputNoFailureProbability.Category, actualKernelInputNoFailureProbability.Category); - Assert.AreEqual(expectedKernelInputNoFailureProbability.FailureProbability, - actualKernelInputNoFailureProbability.FailureProbability); + Assert.AreEqual(failureMechanismsWithoutProbability, kernel.AssemblyResultNoFailureProbability); - AssessmentSectionAssemblyResult actualKernelInputFailureProbability = kernel.AssemblyResultWithFailureProbability; - AssessmentSectionAssemblyResult expectedKernelInputFailureProbability = - AssessmentSectionAssemblyInputCreator.CreateAssessementSectionAssemblyResult(failureMechanismsWithProbability); - Assert.AreEqual(expectedKernelInputFailureProbability.Category, actualKernelInputFailureProbability.Category); + FailureMechanismAssemblyResult actualKernelInputFailureProbability = kernel.AssemblyResultWithFailureProbability; + FailureMechanismAssemblyResult expectedKernelInputFailureProbability = + AssessmentSectionAssemblyInputCreator.CreateFailureMechanismAssemblyResult(failureMechanismsWithProbability); + Assert.AreEqual(expectedKernelInputFailureProbability.Category, + actualKernelInputFailureProbability.Category); Assert.AreEqual(expectedKernelInputFailureProbability.FailureProbability, actualKernelInputFailureProbability.FailureProbability); } @@ -465,15 +467,15 @@ { // Setup var random = new Random(21); - var failureMechanismsWithProbability = new AssessmentSectionAssembly(random.NextDouble(), - random.NextEnumValue()); - var failureMechanismsWithoutProbability = random.NextEnumValue(); + var failureMechanismsWithProbability = new FailureMechanismAssembly(random.NextDouble(), + random.NextEnumValue()); + var failureMechanismsWithoutProbability = random.NextEnumValue(); using (new AssemblyToolKernelFactoryConfig()) { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; AssessmentSectionAssemblyKernelStub kernel = factory.LastCreatedAssessmentSectionAssemblyKernel; - kernel.AssessmentSectionAssemblyResult = new AssessmentSectionAssemblyResult(random.NextEnumValue()); + kernel.AssessmentSectionAssemblyResult = random.NextEnumValue(); var calculator = new AssessmentSectionAssemblyCalculator(factory); @@ -492,15 +494,15 @@ { // Setup var random = new Random(21); - var failureMechanismsWithProbability = new AssessmentSectionAssembly(random.NextDouble(), - random.NextEnumValue()); - var failureMechanismsWithoutProbability = random.NextEnumValue(); + var failureMechanismsWithProbability = new FailureMechanismAssembly(random.NextDouble(), + random.NextEnumValue()); + var failureMechanismsWithoutProbability = random.NextEnumValue(); using (new AssemblyToolKernelFactoryConfig()) { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; AssessmentSectionAssemblyKernelStub kernel = factory.LastCreatedAssessmentSectionAssemblyKernel; - kernel.AssessmentSectionAssemblyResult = new AssessmentSectionAssemblyResult((EAssessmentGrade) 99); + kernel.AssessmentSectionAssemblyResult = (EAssessmentGrade) 99; var calculator = new AssessmentSectionAssemblyCalculator(factory); @@ -520,9 +522,9 @@ { // Setup var random = new Random(21); - var failureMechanismsWithProbability = new AssessmentSectionAssembly(random.NextDouble(), - random.NextEnumValue()); - var failureMechanismsWithoutProbability = random.NextEnumValue(); + var failureMechanismsWithProbability = new FailureMechanismAssembly(random.NextDouble(), + random.NextEnumValue()); + var failureMechanismsWithoutProbability = random.NextEnumValue(); using (new AssemblyToolKernelFactoryConfig()) { @@ -548,9 +550,9 @@ { // Setup var random = new Random(21); - var failureMechanismsWithProbability = new AssessmentSectionAssembly(random.NextDouble(), - random.NextEnumValue()); - var failureMechanismsWithoutProbability = random.NextEnumValue(); + var failureMechanismsWithProbability = new FailureMechanismAssembly(random.NextDouble(), + random.NextEnumValue()); + var failureMechanismsWithoutProbability = random.NextEnumValue(); using (new AssemblyToolKernelFactoryConfig()) { Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Creators/AssessmentSectionAssemblyInputCreatorTest.cs =================================================================== diff -u -rea237aa9ec7893e681cfc3e2aa0cb94c2e866ee1 -rd8ba4886ef6d89e57d34a612fa21cd61d656f550 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Creators/AssessmentSectionAssemblyInputCreatorTest.cs (.../AssessmentSectionAssemblyInputCreatorTest.cs) (revision ea237aa9ec7893e681cfc3e2aa0cb94c2e866ee1) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Creators/AssessmentSectionAssemblyInputCreatorTest.cs (.../AssessmentSectionAssemblyInputCreatorTest.cs) (revision d8ba4886ef6d89e57d34a612fa21cd61d656f550) @@ -135,6 +135,30 @@ } [Test] + public void CreateFailureMechanismCategory_WithInvalidEnumInput_ThrowsInvalidEnumArgumentException() + { + // Call + TestDelegate test = () => AssessmentSectionAssemblyInputCreator.CreateFailureMechanismCategory((FailureMechanismAssemblyCategoryGroup) 99); + + // Assert + const string expectedMessage = "The value of argument 'input' (99) is invalid for Enum type 'FailureMechanismAssemblyCategoryGroup'."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(test, expectedMessage); + } + + [Test] + [TestCaseSource(nameof(GetFailureMechanismAssemblyCategoryGroupConversions))] + public void CreateFailureMechanismCategory_WithValidEnumInput_ReturnsFailureMechanismAssemblyResult( + FailureMechanismAssemblyCategoryGroup originalGroup, + EFailureMechanismCategory expectedGroup) + { + // Call + EFailureMechanismCategory result = AssessmentSectionAssemblyInputCreator.CreateFailureMechanismCategory(originalGroup); + + // Assert + Assert.AreEqual(expectedGroup, result); + } + + [Test] public void CreateAssessementSectionAssemblyResult_WithAssessmentSectionAssemblyAndInvalidEnumInput_ThrowsArgumentNullException() { // Call