Index: Riskeer/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismAssemblyCalculator.cs =================================================================== diff -u -rb2b50ced8da8e297316fed0680bd2ec9db870a29 -r6230ea90d7f8c2db22689c088b8e7b473fdb43b8 --- Riskeer/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismAssemblyCalculator.cs (.../FailureMechanismAssemblyCalculator.cs) (revision b2b50ced8da8e297316fed0680bd2ec9db870a29) +++ Riskeer/AssemblyTool/src/Riskeer.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismAssemblyCalculator.cs (.../FailureMechanismAssemblyCalculator.cs) (revision 6230ea90d7f8c2db22689c088b8e7b473fdb43b8) @@ -90,14 +90,10 @@ try { IFailureMechanismResultAssembler kernel = factory.CreateFailureMechanismAssemblyKernel(); - - Func probabilityFunc = applySectionLengthEffect - ? (Func) (sr => sr.ProfileProbability) - : sr => sr.SectionProbability; - + Probability result = kernel.CalculateFailureMechanismFailureProbabilityBoi1A2( - sectionAssemblyResults.Select(sr => AssemblyCalculatorInputCreator.CreateProbability(probabilityFunc(sr))).ToArray(), - failureMechanismN, false); + sectionAssemblyResults.Select(sr => AssemblyCalculatorInputCreator.CreateProbability(sr.SectionProbability)).ToArray(), + 1, false); return new FailureMechanismAssemblyResultWrapper(result, AssemblyMethod.BOI1A2); } Index: Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/FailureMechanismAssemblyCalculatorTest.cs =================================================================== diff -u -rb2b50ced8da8e297316fed0680bd2ec9db870a29 -r6230ea90d7f8c2db22689c088b8e7b473fdb43b8 --- Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/FailureMechanismAssemblyCalculatorTest.cs (.../FailureMechanismAssemblyCalculatorTest.cs) (revision b2b50ced8da8e297316fed0680bd2ec9db870a29) +++ Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/FailureMechanismAssemblyCalculatorTest.cs (.../FailureMechanismAssemblyCalculatorTest.cs) (revision 6230ea90d7f8c2db22689c088b8e7b473fdb43b8) @@ -20,7 +20,6 @@ // All rights reserved. using System; -using System.Collections.Generic; using System.Linq; using Assembly.Kernel.Exceptions; using Assembly.Kernel.Model; @@ -202,10 +201,10 @@ # endregion - #region Assemble with FailureMechanismN and ApplyLengthEffect + #region Assemble with worst section result [Test] - public void AssembleWithFailureMechanismNAndApplyLengthEffect_SectionAssemblyResultsNull_ThrowsArgumentNullException() + public void AssembleWithWorstSectionResult_SectionAssemblyResultsNull_ThrowsArgumentNullException() { // Setup var random = new Random(21); @@ -226,9 +225,7 @@ } [Test] - [TestCaseSource(nameof(GetApplyLengthEffectCases))] - public void AssembleWithFailureMechanismNAndApplyLengthEffect_WithValidInput_SendsCorrectInputToKernel( - bool applySectionLengthEffect, Func getExpectedProbabilityFunc) + public void AssembleWithWorstSectionResult_WithValidInput_SendsCorrectInputToKernel() { // Setup var random = new Random(21); @@ -248,20 +245,20 @@ var calculator = new FailureMechanismAssemblyCalculator(factory); // Call - calculator.Assemble(failureMechanismN, sectionAssemblyResults, applySectionLengthEffect); + calculator.Assemble(failureMechanismN, sectionAssemblyResults, true); // Assert - Assert.AreEqual(failureMechanismN, kernel.LenghtEffectFactor); + Assert.AreEqual(1, kernel.LenghtEffectFactor); Assert.IsFalse(kernel.PartialAssembly); Assert.AreEqual(sectionAssemblyResults.Length, kernel.FailureMechanismSectionAssemblyResults.Count()); - CollectionAssert.AreEqual(sectionAssemblyResults.Select(sr => new Probability(getExpectedProbabilityFunc(sr))), + CollectionAssert.AreEqual(sectionAssemblyResults.Select(sr => new Probability(sr.SectionProbability)), kernel.FailureMechanismSectionAssemblyResults); } } [Test] - public void AssembleWithFailureMechanismNAndApplyLengthEffect_WithValidOutput_ReturnsExpectedOutput() + public void AssembleWithWorstSectionResult_WithValidOutput_ReturnsExpectedOutput() { // Setup var random = new Random(21); @@ -287,7 +284,7 @@ } [Test] - public void AssembleWithFailureMechanismNAndApplyLengthEffect_KernelThrowsException_ThrowsFailureMechanismAssemblyCalculatorException() + public void AssembleWithWorstSectionResult_KernelThrowsException_ThrowsFailureMechanismAssemblyCalculatorException() { // Setup var random = new Random(21); @@ -313,7 +310,7 @@ } [Test] - public void AssembleWithFailureMechanismNAndApplyLengthEffect_KernelThrowsAssemblyException_ThrowsFailureMechanismAssemblyCalculatorException() + public void AssembleWithWorstSectionResult_KernelThrowsAssemblyException_ThrowsFailureMechanismAssemblyCalculatorException() { // Setup var random = new Random(21); @@ -339,15 +336,6 @@ } } - private static IEnumerable GetApplyLengthEffectCases() - { - return new[] - { - new TestCaseData(true, new Func(sr => sr.ProfileProbability)), - new TestCaseData(false, new Func(sr => sr.SectionProbability)) - }; - } - #endregion } } \ No newline at end of file