Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculator.cs =================================================================== diff -u -r84417d7e797e7907c813a41ac43de02b77d1b763 -rf9e6d72ad3907a83b4a4792c2c29a907c1beb018 --- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculator.cs (.../FailureMechanismSectionAssemblyCalculator.cs) (revision 84417d7e797e7907c813a41ac43de02b77d1b763) +++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculator.cs (.../FailureMechanismSectionAssemblyCalculator.cs) (revision f9e6d72ad3907a83b4a4792c2c29a907c1beb018) @@ -295,14 +295,18 @@ { try { - IFailureMechanismSectionAssemblyCalculatorKernel kernel = factory.CreateFailureMechanismSectionAssemblyKernel(); - FmSectionAssemblyDirectResult output = kernel.TranslateAssessmentResultWbi0T3( + 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.TranslateAssessmentResultWbi0T3( 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 -r5517292f61ae71f7dae1eef11ebd5ce9e11c62ed -rf9e6d72ad3907a83b4a4792c2c29a907c1beb018 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorTest.cs (.../FailureMechanismSectionAssemblyCalculatorTest.cs) (revision 5517292f61ae71f7dae1eef11ebd5ce9e11c62ed) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorTest.cs (.../FailureMechanismSectionAssemblyCalculatorTest.cs) (revision f9e6d72ad3907a83b4a4792c2c29a907c1beb018) @@ -843,7 +843,7 @@ Assert.IsNaN(kernel.FailureProbabilityInput); Assert.AreEqual(n, kernel.LengthEffectFactorInput); Assert.AreEqual(EAssessmentResultTypeG2.Gr, kernel.AssessmentResultTypeG2Input); - AssertAssemblyCategoriesInput(assemblyCategoriesInput, + AssertAssemblyCategoriesInput(assemblyCategoriesInput, categoriesKernel, categoriesKernel.FailureMechanismSectionCategoriesOutputWbi01, kernel); @@ -1387,9 +1387,9 @@ // Assert Assert.AreEqual(EAssessmentResultTypeT4.Gr, kernel.AssessmentResultTypeT4Input); Assert.IsNaN(kernel.FailureProbabilityInput); - AssertAssemblyCategoriesInput(assemblyCategoriesInput, + AssertAssemblyCategoriesInput(assemblyCategoriesInput, categoriesKernel, - categoriesKernel.FailureMechanismSectionCategoriesOutputWbi02, + categoriesKernel.FailureMechanismSectionCategoriesOutputWbi02, kernel); } } @@ -1534,9 +1534,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); @@ -1547,7 +1550,10 @@ EAssessmentResultTypeT3 expectedResultType = FailureMechanismSectionAssemblyCalculatorInputCreator.CreateAssessmentResultTypeT3(tailorMadeAssessmentResult); Assert.AreEqual(expectedResultType, kernel.AssessmentResultTypeT3Input); Assert.AreEqual(probability, kernel.FailureProbabilityInput); - AssertAssemblyCategoriesInput(assemblyCategoriesInput, kernel); + AssertAssemblyCategoriesInput(assemblyCategoriesInput, + categoriesKernel, + categoriesKernel.FailureMechanismSectionCategoriesOutputWbi01, + kernel); } } @@ -1561,9 +1567,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); @@ -1575,7 +1584,10 @@ // Assert Assert.AreEqual(EAssessmentResultTypeT3.Gr, kernel.AssessmentResultTypeT3Input); Assert.IsNaN(kernel.FailureProbabilityInput); - AssertAssemblyCategoriesInput(assemblyCategoriesInput, kernel); + AssertAssemblyCategoriesInput(assemblyCategoriesInput, + categoriesKernel, + categoriesKernel.FailureMechanismSectionCategoriesOutputWbi01, + kernel); } } @@ -1588,8 +1600,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); @@ -1600,7 +1612,7 @@ CreateAssemblyCategoriesInput()); // Assert - AssertCalculatorOutput(kernel.FailureMechanismSectionDirectResult, assembly); + AssertCalculatorOutput(kernel.FailureMechanismAssemblyDirectResultWithProbability, assembly); } } @@ -1613,8 +1625,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);