Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculator.cs =================================================================== diff -u -r66d6f7a3b583d9bca7b5a9c9697f8f4f332cc5c9 -re435a360ae5009cfba77b9ca859c8880945d5781 --- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculator.cs (.../FailureMechanismSectionAssemblyCalculator.cs) (revision 66d6f7a3b583d9bca7b5a9c9697f8f4f332cc5c9) +++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/FailureMechanismSectionAssemblyCalculator.cs (.../FailureMechanismSectionAssemblyCalculator.cs) (revision e435a360ae5009cfba77b9ca859c8880945d5781) @@ -305,7 +305,7 @@ { FmSectionAssemblyDirectResult simpleAssemblyResult = FailureMechanismSectionAssemblyCalculatorInputCreator.CreateFailureMechanismSectionAssemblyDirectResult(simpleAssembly); - if (simpleAssemblyResult.Result == EFmSectionCategory.NotApplicable) + if (simpleAssemblyResult.Result == EFmSectionCategory.NotApplicable || simpleAssemblyResult.Result == EFmSectionCategory.Iv) { return FailureMechanismSectionAssemblyCreator.Create(simpleAssemblyResult); } @@ -332,14 +332,14 @@ { FmSectionAssemblyDirectResult simpleAssemblyResult = FailureMechanismSectionAssemblyCalculatorInputCreator.CreateFailureMechanismSectionAssemblyDirectResult(simpleAssembly); - if (simpleAssemblyResult.Result == EFmSectionCategory.NotApplicable) + if (simpleAssemblyResult.Result == EFmSectionCategory.NotApplicable || simpleAssemblyResult.Result == EFmSectionCategory.Iv) { return FailureMechanismSectionAssemblyCreator.CreateFailureMechanismSectionAssemblyCategoryGroup(simpleAssemblyResult.Result); } IFailureMechanismSectionAssemblyCalculatorKernel kernel = factory.CreateFailureMechanismSectionAssemblyKernel(); var output = (FmSectionAssemblyDirectResult) kernel.TranslateAssessmentResultWbi0A1( - FailureMechanismSectionAssemblyCalculatorInputCreator.CreateFailureMechanismSectionAssemblyDirectResult(simpleAssembly), + simpleAssemblyResult, FailureMechanismSectionAssemblyCalculatorInputCreator.CreateFailureMechanismSectionAssemblyDirectResult(detailedAssembly), FailureMechanismSectionAssemblyCalculatorInputCreator.CreateFailureMechanismSectionAssemblyDirectResult(tailorMadeAssembly)); Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorTest.cs =================================================================== diff -u -r3d4e5f465e7effc3d1691bb5920ff06806d26d32 -re435a360ae5009cfba77b9ca859c8880945d5781 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorTest.cs (.../FailureMechanismSectionAssemblyCalculatorTest.cs) (revision 3d4e5f465e7effc3d1691bb5920ff06806d26d32) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/FailureMechanismSectionAssemblyCalculatorTest.cs (.../FailureMechanismSectionAssemblyCalculatorTest.cs) (revision e435a360ae5009cfba77b9ca859c8880945d5781) @@ -1755,7 +1755,7 @@ { // Setup var random = new Random(39); - var simpleAssembly = new FailureMechanismSectionAssembly(random.NextDouble(), random.NextEnumValue()); + var simpleAssembly = new FailureMechanismSectionAssembly(random.NextDouble(), FailureMechanismSectionAssemblyCategoryGroup.None); var detailedAssembly = new FailureMechanismSectionAssembly(random.NextDouble(), random.NextEnumValue()); var tailorMadeAssembly = new FailureMechanismSectionAssembly(random.NextDouble(), random.NextEnumValue()); @@ -1779,11 +1779,14 @@ } [Test] - public void AssembleCombinedWithProbabilities_WithSimpleAssemblyNotApplicable_ExpectedOutputReturnedByCalculator() + [TestCase(FailureMechanismSectionAssemblyCategoryGroup.NotApplicable)] + [TestCase(FailureMechanismSectionAssemblyCategoryGroup.Iv)] + public void AssembleCombinedWithProbabilities_WithSimpleAssemblyNotApplicableOrCategoryIv_ExpectedOutputReturnedByCalculator( + FailureMechanismSectionAssemblyCategoryGroup category) { // Setup var random = new Random(39); - var simpleAssembly = new FailureMechanismSectionAssembly(random.NextDouble(), FailureMechanismSectionAssemblyCategoryGroup.NotApplicable); + var simpleAssembly = new FailureMechanismSectionAssembly(random.NextDouble(), category); var detailedAssembly = new FailureMechanismSectionAssembly(random.NextDouble(), random.NextEnumValue()); var tailorMadeAssembly = new FailureMechanismSectionAssembly(random.NextDouble(), random.NextEnumValue()); @@ -1848,8 +1851,8 @@ // Call TestDelegate test = () => calculator.AssembleCombined( + new FailureMechanismSectionAssembly(random.NextDouble(), FailureMechanismSectionAssemblyCategoryGroup.None), new FailureMechanismSectionAssembly(random.NextDouble(), random.NextEnumValue()), - new FailureMechanismSectionAssembly(random.NextDouble(), random.NextEnumValue()), new FailureMechanismSectionAssembly(random.NextDouble(), random.NextEnumValue())); // Assert @@ -1876,8 +1879,8 @@ // Call TestDelegate test = () => calculator.AssembleCombined( + new FailureMechanismSectionAssembly(random.NextDouble(), FailureMechanismSectionAssemblyCategoryGroup.None), new FailureMechanismSectionAssembly(random.NextDouble(), random.NextEnumValue()), - new FailureMechanismSectionAssembly(random.NextDouble(), random.NextEnumValue()), new FailureMechanismSectionAssembly(random.NextDouble(), random.NextEnumValue())); // Assert @@ -1917,7 +1920,7 @@ { // Setup var random = new Random(39); - var simpleAssembly = random.NextEnumValue(); + var simpleAssembly = FailureMechanismSectionAssemblyCategoryGroup.None; var detailedAssembly = random.NextEnumValue(); var tailorMadeAssembly = random.NextEnumValue(); @@ -1940,11 +1943,14 @@ } [Test] - public void AssembleCombined_WithSimpleAssemblyNotApplicable_ExpectedOutputReturnedByCalculator() + [TestCase(FailureMechanismSectionAssemblyCategoryGroup.NotApplicable)] + [TestCase(FailureMechanismSectionAssemblyCategoryGroup.Iv)] + public void AssembleCombined_WithSimpleAssemblyNotApplicableOrCategoryIv_ExpectedOutputReturnedByCalculator( + FailureMechanismSectionAssemblyCategoryGroup category) { // Setup var random = new Random(39); - const FailureMechanismSectionAssemblyCategoryGroup simpleAssembly = FailureMechanismSectionAssemblyCategoryGroup.NotApplicable; + FailureMechanismSectionAssemblyCategoryGroup simpleAssembly = category; var detailedAssembly = random.NextEnumValue(); var tailorMadeAssembly = random.NextEnumValue(); @@ -1960,7 +1966,7 @@ FailureMechanismSectionAssemblyCategoryGroup assembly = calculator.AssembleCombined(simpleAssembly, detailedAssembly, tailorMadeAssembly); // Assert - Assert.AreEqual(FailureMechanismSectionAssemblyCategoryGroup.NotApplicable, assembly); + Assert.AreEqual(simpleAssembly, assembly); } }