Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculator.cs =================================================================== diff -u -rf9e6d72ad3907a83b4a4792c2c29a907c1beb018 -r036d78f51fa3dc62d3f8f7045cfb0d05da7607b4 --- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculator.cs (.../FailureMechanismSectionAssemblyCalculator.cs) (revision f9e6d72ad3907a83b4a4792c2c29a907c1beb018) +++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculator.cs (.../FailureMechanismSectionAssemblyCalculator.cs) (revision 036d78f51fa3dc62d3f8f7045cfb0d05da7607b4) @@ -327,15 +327,19 @@ { try { - IFailureMechanismSectionAssemblyCalculatorKernel kernel = factory.CreateFailureMechanismSectionAssemblyKernel(); - FmSectionAssemblyDirectResult output = kernel.TranslateAssessmentResultWbi0T5( + ICategoryLimitsCalculator categoriesKernel = factory.CreateAssemblyCategoriesKernel(); + CategoriesList categories = categoriesKernel.CalculateFmSectionCategoryLimitsWbi01( new AssessmentSection(1, assemblyCategoriesInput.SignalingNorm, assemblyCategoriesInput.LowerLimitNorm), - new FailureMechanism(assemblyCategoriesInput.N, assemblyCategoriesInput.FailureMechanismContribution), + new FailureMechanism(assemblyCategoriesInput.N, assemblyCategoriesInput.FailureMechanismContribution)); + + IFailureMechanismSectionAssemblyCalculatorKernel kernel = factory.CreateFailureMechanismSectionAssemblyKernel(); + FmSectionAssemblyDirectResultWithProbability output = kernel.TranslateAssessmentResultWbi0T5( failureMechanismSectionN, double.IsNaN(probability) && tailorMadeAssessmentResult == TailorMadeAssessmentProbabilityCalculationResultType.Probability ? EAssessmentResultTypeT3.Gr : FailureMechanismSectionAssemblyCalculatorInputCreator.CreateAssessmentResultTypeT3(tailorMadeAssessmentResult), - probability); + probability, + categories); return FailureMechanismSectionAssemblyCreator.Create(output); } Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorTest.cs =================================================================== diff -u -rf9e6d72ad3907a83b4a4792c2c29a907c1beb018 -r036d78f51fa3dc62d3f8f7045cfb0d05da7607b4 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorTest.cs (.../FailureMechanismSectionAssemblyCalculatorTest.cs) (revision f9e6d72ad3907a83b4a4792c2c29a907c1beb018) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorTest.cs (.../FailureMechanismSectionAssemblyCalculatorTest.cs) (revision 036d78f51fa3dc62d3f8f7045cfb0d05da7607b4) @@ -1735,9 +1735,12 @@ using (new AssemblyToolKernelFactoryConfig()) { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; + AssemblyCategoriesKernelStub categoriesKernel = factory.LastCreatedAssemblyCategoriesKernel; + categoriesKernel.FailureMechanismSectionCategoriesOutputWbi01 = CategoriesListTestFactory.CreateFailureMechanismSectionCategories(); + FailureMechanismSectionAssemblyKernelStub kernel = factory.LastCreatedFailureMechanismSectionAssemblyKernel; - kernel.FailureMechanismSectionDirectResult = new FmSectionAssemblyDirectResult(random.NextEnumValue(), - random.NextDouble()); + kernel.FailureMechanismAssemblyDirectResultWithProbability = new FmSectionAssemblyDirectResultWithProbability(random.NextEnumValue(), + random.NextDouble()); var calculator = new FailureMechanismSectionAssemblyCalculator(factory); @@ -1749,7 +1752,10 @@ Assert.AreEqual(expectedResultType, kernel.AssessmentResultTypeT3Input); Assert.AreEqual(probability, kernel.FailureProbabilityInput); Assert.AreEqual(n, kernel.LengthEffectFactorInput); - AssertAssemblyCategoriesInput(assemblyCategoriesInput, kernel); + AssertAssemblyCategoriesInput(assemblyCategoriesInput, + categoriesKernel, + categoriesKernel.FailureMechanismSectionCategoriesOutputWbi01, + kernel); } } @@ -1764,9 +1770,12 @@ using (new AssemblyToolKernelFactoryConfig()) { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; + AssemblyCategoriesKernelStub categoriesKernel = factory.LastCreatedAssemblyCategoriesKernel; + categoriesKernel.FailureMechanismSectionCategoriesOutputWbi01 = CategoriesListTestFactory.CreateFailureMechanismSectionCategories(); + FailureMechanismSectionAssemblyKernelStub kernel = factory.LastCreatedFailureMechanismSectionAssemblyKernel; - kernel.FailureMechanismSectionDirectResult = new FmSectionAssemblyDirectResult(random.NextEnumValue(), - random.NextDouble()); + kernel.FailureMechanismAssemblyDirectResultWithProbability = new FmSectionAssemblyDirectResultWithProbability(random.NextEnumValue(), + random.NextDouble()); var calculator = new FailureMechanismSectionAssemblyCalculator(factory); @@ -1780,7 +1789,10 @@ Assert.AreEqual(EAssessmentResultTypeT3.Gr, kernel.AssessmentResultTypeT3Input); Assert.IsNaN(kernel.FailureProbabilityInput); Assert.AreEqual(n, kernel.LengthEffectFactorInput); - AssertAssemblyCategoriesInput(assemblyCategoriesInput, kernel); + AssertAssemblyCategoriesInput(assemblyCategoriesInput, + categoriesKernel, + categoriesKernel.FailureMechanismSectionCategoriesOutputWbi01, + kernel); } } @@ -1793,8 +1805,8 @@ { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; FailureMechanismSectionAssemblyKernelStub kernel = factory.LastCreatedFailureMechanismSectionAssemblyKernel; - kernel.FailureMechanismSectionDirectResult = new FmSectionAssemblyDirectResult(random.NextEnumValue(), - random.NextDouble()); + kernel.FailureMechanismAssemblyDirectResultWithProbability = new FmSectionAssemblyDirectResultWithProbability(random.NextEnumValue(), + random.NextDouble()); var calculator = new FailureMechanismSectionAssemblyCalculator(factory); @@ -1806,7 +1818,7 @@ CreateAssemblyCategoriesInput()); // Assert - AssertCalculatorOutput(kernel.FailureMechanismSectionDirectResult, assembly); + AssertCalculatorOutput(kernel.FailureMechanismAssemblyDirectResultWithProbability, assembly); } } @@ -1819,8 +1831,8 @@ { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; FailureMechanismSectionAssemblyKernelStub kernel = factory.LastCreatedFailureMechanismSectionAssemblyKernel; - kernel.FailureMechanismSectionDirectResult = new FmSectionAssemblyDirectResult((EFmSectionCategory) 99, - random.NextDouble()); + kernel.FailureMechanismAssemblyDirectResultWithProbability = new FmSectionAssemblyDirectResultWithProbability((EFmSectionCategory) 99, + random.NextDouble()); var calculator = new FailureMechanismSectionAssemblyCalculator(factory);