Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculator.cs =================================================================== diff -u -r3a6cb4e2796f386fcc99696aa49e65c66ea354e8 -r84417d7e797e7907c813a41ac43de02b77d1b763 --- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculator.cs (.../FailureMechanismSectionAssemblyCalculator.cs) (revision 3a6cb4e2796f386fcc99696aa49e65c66ea354e8) +++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculator.cs (.../FailureMechanismSectionAssemblyCalculator.cs) (revision 84417d7e797e7907c813a41ac43de02b77d1b763) @@ -264,14 +264,18 @@ { try { + ICategoryLimitsCalculator categoriesKernel = factory.CreateAssemblyCategoriesKernel(); + CategoriesList categories = categoriesKernel.CalculateFmSectionCategoryLimitsWbi02( + new AssessmentSection(1, assemblyCategoriesInput.SignalingNorm, assemblyCategoriesInput.LowerLimitNorm), + new FailureMechanism(assemblyCategoriesInput.N, assemblyCategoriesInput.FailureMechanismContribution)); + IFailureMechanismSectionAssemblyCalculatorKernel kernel = factory.CreateFailureMechanismSectionAssemblyKernel(); FmSectionAssemblyDirectResult output = kernel.TranslateAssessmentResultWbi0T7( - new AssessmentSection(1, assemblyCategoriesInput.SignalingNorm, assemblyCategoriesInput.LowerLimitNorm), - new FailureMechanism(assemblyCategoriesInput.N, assemblyCategoriesInput.FailureMechanismContribution), double.IsNaN(probability) && tailorMadeAssessmentResult == TailorMadeAssessmentProbabilityAndDetailedCalculationResultType.Probability ? EAssessmentResultTypeT4.Gr : FailureMechanismSectionAssemblyCalculatorInputCreator.CreateAssessmentResultTypeT4(tailorMadeAssessmentResult), - probability); + probability, + categories); return FailureMechanismSectionAssemblyCreator.Create(output); } Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorTest.cs =================================================================== diff -u -ra7e27525c0a1ac1dde8f308399f984c195633f6d -r84417d7e797e7907c813a41ac43de02b77d1b763 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorTest.cs (.../FailureMechanismSectionAssemblyCalculatorTest.cs) (revision a7e27525c0a1ac1dde8f308399f984c195633f6d) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorTest.cs (.../FailureMechanismSectionAssemblyCalculatorTest.cs) (revision 84417d7e797e7907c813a41ac43de02b77d1b763) @@ -25,6 +25,7 @@ using Assembly.Kernel.Exceptions; using Assembly.Kernel.Model; using Assembly.Kernel.Model.AssessmentResultTypes; +using Assembly.Kernel.Model.CategoryLimits; using Assembly.Kernel.Model.FmSectionTypes; using Core.Common.TestUtil; using NUnit.Framework; @@ -92,14 +93,15 @@ private static void AssertAssemblyCategoriesInput(AssemblyCategoriesInput assemblyCategoriesInput, AssemblyCategoriesKernelStub categoriesKernel, + CategoriesList categories, FailureMechanismSectionAssemblyKernelStub kernel) { Assert.AreEqual(assemblyCategoriesInput.SignalingNorm, categoriesKernel.SignalingNorm); Assert.AreEqual(assemblyCategoriesInput.LowerLimitNorm, categoriesKernel.LowerLimitNorm); Assert.AreEqual(assemblyCategoriesInput.N, categoriesKernel.N); Assert.AreEqual(assemblyCategoriesInput.FailureMechanismContribution, categoriesKernel.FailureMechanismContribution); - Assert.AreSame(categoriesKernel.FailureMechanismSectionCategoriesOutputWbi01, kernel.FailureMechanismSectionCategories); + Assert.AreSame(categories, kernel.FailureMechanismSectionCategories); } private static AssemblyCategoriesInput CreateAssemblyCategoriesInput() @@ -595,7 +597,10 @@ Assert.AreEqual(expectedResultType, kernel.AssessmentResultTypeG2Input); Assert.AreEqual(probability, kernel.FailureProbabilityInput); - AssertAssemblyCategoriesInput(assemblyCategoriesInput, categoriesKernel, kernel); + AssertAssemblyCategoriesInput(assemblyCategoriesInput, + categoriesKernel, + categoriesKernel.FailureMechanismSectionCategoriesOutputWbi01, + kernel); } } @@ -628,7 +633,10 @@ Assert.IsNaN(kernel.FailureProbabilityInput); Assert.AreEqual(EAssessmentResultTypeG2.Gr, kernel.AssessmentResultTypeG2Input); - AssertAssemblyCategoriesInput(assemblyCategoriesInput, categoriesKernel, kernel); + AssertAssemblyCategoriesInput(assemblyCategoriesInput, + categoriesKernel, + categoriesKernel.FailureMechanismSectionCategoriesOutputWbi01, + kernel); } } @@ -797,7 +805,10 @@ Assert.AreEqual(n, kernel.LengthEffectFactorInput); EAssessmentResultTypeG2 expectedResultType = FailureMechanismSectionAssemblyCalculatorInputCreator.CreateAssessmentResultTypeG2(detailedAssessment); Assert.AreEqual(expectedResultType, kernel.AssessmentResultTypeG2Input); - AssertAssemblyCategoriesInput(assemblyCategoriesInput, categoriesKernel, kernel); + AssertAssemblyCategoriesInput(assemblyCategoriesInput, + categoriesKernel, + categoriesKernel.FailureMechanismSectionCategoriesOutputWbi01, + kernel); } } @@ -832,7 +843,10 @@ Assert.IsNaN(kernel.FailureProbabilityInput); Assert.AreEqual(n, kernel.LengthEffectFactorInput); Assert.AreEqual(EAssessmentResultTypeG2.Gr, kernel.AssessmentResultTypeG2Input); - AssertAssemblyCategoriesInput(assemblyCategoriesInput, categoriesKernel, kernel); + AssertAssemblyCategoriesInput(assemblyCategoriesInput, + categoriesKernel, + categoriesKernel.FailureMechanismSectionCategoriesOutputWbi01, + kernel); } } @@ -1333,8 +1347,7 @@ { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; FailureMechanismSectionAssemblyKernelStub kernel = factory.LastCreatedFailureMechanismSectionAssemblyKernel; - kernel.FailureMechanismSectionDirectResult = new FmSectionAssemblyDirectResult(random.NextEnumValue(), - random.NextDouble()); + kernel.FailureMechanismSectionDirectResult = new FmSectionAssemblyDirectResult(random.NextEnumValue()); var calculator = new FailureMechanismSectionAssemblyCalculator(factory); @@ -1359,9 +1372,11 @@ using (new AssemblyToolKernelFactoryConfig()) { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; + AssemblyCategoriesKernelStub categoriesKernel = factory.LastCreatedAssemblyCategoriesKernel; + categoriesKernel.FailureMechanismSectionCategoriesOutputWbi02 = CategoriesListTestFactory.CreateFailureMechanismSectionCategories(); + FailureMechanismSectionAssemblyKernelStub kernel = factory.LastCreatedFailureMechanismSectionAssemblyKernel; - kernel.FailureMechanismSectionDirectResult = new FmSectionAssemblyDirectResult(random.NextEnumValue(), - random.NextDouble()); + kernel.FailureMechanismSectionDirectResult = new FmSectionAssemblyDirectResult(random.NextEnumValue()); var calculator = new FailureMechanismSectionAssemblyCalculator(factory); @@ -1373,7 +1388,10 @@ // Assert Assert.AreEqual(EAssessmentResultTypeT4.Gr, kernel.AssessmentResultTypeT4Input); Assert.IsNaN(kernel.FailureProbabilityInput); - AssertAssemblyCategoriesInput(assemblyCategoriesInput, kernel); + AssertAssemblyCategoriesInput(assemblyCategoriesInput, + categoriesKernel, + categoriesKernel.FailureMechanismSectionCategoriesOutputWbi02, + kernel); } }