Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/AssessmentSectionAssemblyCalculator.cs =================================================================== diff -u -ra843f40364553b8695b22639431fa1176fc7ee45 -r361b49b111f552cb7ded1369db9e4b2269733efd --- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/AssessmentSectionAssemblyCalculator.cs (.../AssessmentSectionAssemblyCalculator.cs) (revision a843f40364553b8695b22639431fa1176fc7ee45) +++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/AssessmentSectionAssemblyCalculator.cs (.../AssessmentSectionAssemblyCalculator.cs) (revision 361b49b111f552cb7ded1369db9e4b2269733efd) @@ -53,13 +53,14 @@ } public AssessmentSectionAssembly AssembleFailureMechanisms(IEnumerable input, - AssemblyCategoriesInput assemblyCategoriesInput) + double signalingNorm, + double lowerLimitNorm) { try { IAssessmentGradeAssembler kernel = factory.CreateAssessmentSectionAssemblyKernel(); AssessmentSectionAssemblyResult output = kernel.AssembleAssessmentSectionWbi2B1( - new AssessmentSection(1, assemblyCategoriesInput.SignalingNorm, assemblyCategoriesInput.LowerLimitNorm), + new AssessmentSection(1, signalingNorm, lowerLimitNorm), input.Select(AssessmentSectionAssemblyInputCreator.CreateFailureMechanismAssemblyResult).ToArray(), false); Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/IAssessmentSectionAssemblyCalculator.cs =================================================================== diff -u -ra843f40364553b8695b22639431fa1176fc7ee45 -r361b49b111f552cb7ded1369db9e4b2269733efd --- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/IAssessmentSectionAssemblyCalculator.cs (.../IAssessmentSectionAssemblyCalculator.cs) (revision a843f40364553b8695b22639431fa1176fc7ee45) +++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/Assembly/IAssessmentSectionAssemblyCalculator.cs (.../IAssessmentSectionAssemblyCalculator.cs) (revision 361b49b111f552cb7ded1369db9e4b2269733efd) @@ -33,13 +33,14 @@ /// Assembles the failure mechanisms for the given . /// /// The collection of failure mechanism assemblies to assemble for. - /// The object containing the input parameters for - /// performing the assembly. + /// The signaling norm to calculate with. + /// The lower limit norm to calculate with. /// An . /// Thrown when /// an error occurs when performing the assembly. AssessmentSectionAssembly AssembleFailureMechanisms(IEnumerable input, - AssemblyCategoriesInput assemblyCategoriesInput); + double signalingNorm, + double lowerLimitNorm); /// /// Assembles the failure mechanisms for the given . Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/AssessmentSectionAssemblyCalculatorTest.cs =================================================================== diff -u -ra843f40364553b8695b22639431fa1176fc7ee45 -r361b49b111f552cb7ded1369db9e4b2269733efd --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/AssessmentSectionAssemblyCalculatorTest.cs (.../AssessmentSectionAssemblyCalculatorTest.cs) (revision a843f40364553b8695b22639431fa1176fc7ee45) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/Assembly/AssessmentSectionAssemblyCalculatorTest.cs (.../AssessmentSectionAssemblyCalculatorTest.cs) (revision 361b49b111f552cb7ded1369db9e4b2269733efd) @@ -70,6 +70,9 @@ { // Setup var random = new Random(39); + double signalingNorm = random.NextDouble(0, 0.5); + double lowerLimitNorm = random.NextDouble(0.5, 1); + var failureMechanismAssembly = new FailureMechanismAssembly(random.NextDouble(), (FailureMechanismAssemblyCategoryGroup) 99); using (new AssemblyToolKernelFactoryConfig()) @@ -81,7 +84,7 @@ TestDelegate test = () => calculator.AssembleFailureMechanisms(new[] { failureMechanismAssembly - }, CreateAssemblyCategoriesInput()); + }, signalingNorm, lowerLimitNorm); // Assert var exception = Assert.Throws(test); @@ -96,7 +99,8 @@ { // Setup var random = new Random(39); - AssemblyCategoriesInput assemblyCategoriesInput = CreateAssemblyCategoriesInput(); + double signalingNorm = random.NextDouble(0, 0.5); + double lowerLimitNorm = random.NextDouble(0.5, 1); var failureMechanismAssembly = new FailureMechanismAssembly(random.NextDouble(), random.NextEnumValue()); @@ -114,12 +118,12 @@ calculator.AssembleFailureMechanisms(new[] { failureMechanismAssembly - }, assemblyCategoriesInput); + }, signalingNorm, lowerLimitNorm); // Assert Assert.IsFalse(kernel.PartialAssembly); - Assert.AreEqual(assemblyCategoriesInput.LowerLimitNorm, kernel.AssessmentSectionInput.FailureProbabilityLowerLimit); - Assert.AreEqual(assemblyCategoriesInput.SignalingNorm, kernel.AssessmentSectionInput.FailureProbabilitySignallingLimit); + Assert.AreEqual(signalingNorm, kernel.AssessmentSectionInput.FailureProbabilitySignallingLimit); + Assert.AreEqual(lowerLimitNorm, kernel.AssessmentSectionInput.FailureProbabilityLowerLimit); FailureMechanismAssemblyResult actualFailureMechanismAssemblyInput = kernel.FailureMechanismAssemblyResults.Single(); Assert.AreEqual(GetGroup(failureMechanismAssembly.Group), actualFailureMechanismAssemblyInput.Category); @@ -132,6 +136,8 @@ { // Setup var random = new Random(39); + double signalingNorm = random.NextDouble(0, 0.5); + double lowerLimitNorm = random.NextDouble(0.5, 1); using (new AssemblyToolKernelFactoryConfig()) { @@ -144,7 +150,8 @@ // Call AssessmentSectionAssembly assembly = calculator.AssembleFailureMechanisms(Enumerable.Empty(), - CreateAssemblyCategoriesInput()); + signalingNorm, + lowerLimitNorm); // Assert AssessmentSectionAssemblyResult expectedResult = kernel.AssessmentSectionAssemblyResult; @@ -158,6 +165,8 @@ { // Setup var random = new Random(39); + double signalingNorm = random.NextDouble(0, 0.5); + double lowerLimitNorm = random.NextDouble(0.5, 1); using (new AssemblyToolKernelFactoryConfig()) { @@ -170,7 +179,8 @@ // Call TestDelegate test = () => calculator.AssembleFailureMechanisms(Enumerable.Empty(), - CreateAssemblyCategoriesInput()); + signalingNorm, + lowerLimitNorm); // Assert var exception = Assert.Throws(test); @@ -184,6 +194,10 @@ public void AssembleFailureMechanismsWithProbability_KernelThrowsException_ThrowsAssessmentSectionAssemblyCalculatorException() { // Setup + var random = new Random(21); + double signalingNorm = random.NextDouble(0, 0.5); + double lowerLimitNorm = random.NextDouble(0.5, 1); + using (new AssemblyToolKernelFactoryConfig()) { var factory = (TestAssemblyToolKernelFactory) AssemblyToolKernelFactory.Instance; @@ -193,7 +207,9 @@ var calculator = new AssessmentSectionAssemblyCalculator(factory); // Call - TestDelegate test = () => calculator.AssembleFailureMechanisms(Enumerable.Empty(), CreateAssemblyCategoriesInput()); + TestDelegate test = () => calculator.AssembleFailureMechanisms(Enumerable.Empty(), + signalingNorm, + lowerLimitNorm); // Assert var exception = Assert.Throws(test); @@ -473,15 +489,6 @@ } } - private static AssemblyCategoriesInput CreateAssemblyCategoriesInput() - { - var random = new Random(21); - return new AssemblyCategoriesInput(random.NextDouble(1.0, 5.0), - random.NextDouble(), - random.NextDouble(0.0, 0.5), - random.NextDouble(0.5, 1.0)); - } - private static EFailureMechanismCategory GetGroup(FailureMechanismAssemblyCategoryGroup originalGroup) { switch (originalGroup) Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Calculators/Assembly/AssessmentSectionAssemblyCalculatorStubTest.cs =================================================================== diff -u -r017a33e4110f1a0f76a875fa1266284d122ce30f -r361b49b111f552cb7ded1369db9e4b2269733efd --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Calculators/Assembly/AssessmentSectionAssemblyCalculatorStubTest.cs (.../AssessmentSectionAssemblyCalculatorStubTest.cs) (revision 017a33e4110f1a0f76a875fa1266284d122ce30f) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Calculators/Assembly/AssessmentSectionAssemblyCalculatorStubTest.cs (.../AssessmentSectionAssemblyCalculatorStubTest.cs) (revision 361b49b111f552cb7ded1369db9e4b2269733efd) @@ -43,8 +43,9 @@ Assert.IsInstanceOf(calculator); Assert.IsNull(calculator.FailureMechanismAssemblyInput); Assert.IsNull(calculator.FailureMechanismAssemblyCategoryGroupInput); - Assert.IsNull(calculator.AssemblyCategoriesInput); Assert.IsNull(calculator.FailureMechanismsWithProbabilityInput); + Assert.AreEqual(0.0, calculator.LowerLimitNormInput); + Assert.AreEqual(0.0, calculator.SignalingNormInput); Assert.AreEqual((AssessmentSectionAssemblyCategoryGroup) 0, calculator.FailureMechanismsWithoutProbabilityInput); } @@ -53,11 +54,12 @@ public void AssembleFailureMechanismsWithProbability_ThrowExceptionOnCalculateFalseAndOutputNotSet_ReturnOutput() { // Setup + var random = new Random(21); var calculator = new AssessmentSectionAssemblyCalculatorStub(); // Call AssessmentSectionAssembly output = calculator.AssembleFailureMechanisms(Enumerable.Empty(), - CreateAssemblyCategoriesInput()); + random.NextDouble(), random.NextDouble()); // Assert Assert.AreEqual(0.75, output.Probability); @@ -77,7 +79,7 @@ // Call AssessmentSectionAssembly output = calculator.AssembleFailureMechanisms(Enumerable.Empty(), - CreateAssemblyCategoriesInput()); + random.NextDouble(), random.NextDouble()); // Assert Assert.AreSame(calculator.AssessmentSectionAssemblyOutput, output); @@ -87,31 +89,37 @@ public void AssembleFailureMechanismsWithProbability_ThrowExceptionOnCalculateFalse_SetsInput() { // Setup + var random = new Random(21); + double lowerLimitNorm = random.NextDouble(); + double signalingNorm = random.NextDouble(); + IEnumerable failureMechanisms = Enumerable.Empty(); - AssemblyCategoriesInput assemblyCategoriesInput = CreateAssemblyCategoriesInput(); var calculator = new AssessmentSectionAssemblyCalculatorStub(); // Call - calculator.AssembleFailureMechanisms(failureMechanisms, assemblyCategoriesInput); + calculator.AssembleFailureMechanisms(failureMechanisms, signalingNorm, lowerLimitNorm); // Assert Assert.AreSame(failureMechanisms, calculator.FailureMechanismAssemblyInput); - Assert.AreSame(assemblyCategoriesInput, calculator.AssemblyCategoriesInput); + Assert.AreEqual(lowerLimitNorm, calculator.LowerLimitNormInput); + Assert.AreEqual(signalingNorm, calculator.SignalingNormInput); } [Test] public void AssembleFailureMechanismsWithProbability_ThrowExceptionOnCalculateTrue_ThrowsAssessmentSectionAssemblyException() { // Setup + var random = new Random(21); var calculator = new AssessmentSectionAssemblyCalculatorStub { ThrowExceptionOnCalculate = true }; // Call TestDelegate call = () => calculator.AssembleFailureMechanisms(Enumerable.Empty(), - CreateAssemblyCategoriesInput()); + random.NextDouble(), + random.NextDouble()); // Assert var exception = Assert.Throws(call); @@ -257,14 +265,5 @@ Assert.AreEqual("Message", exception.Message); Assert.IsNotNull(exception.InnerException); } - - private static AssemblyCategoriesInput CreateAssemblyCategoriesInput() - { - var random = new Random(21); - return new AssemblyCategoriesInput(random.NextDouble(), - random.NextDouble(), - random.NextDouble(), - random.NextDouble()); - } } } \ No newline at end of file Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Calculators/Assembly/AssessmentSectionAssemblyCalculatorStub.cs =================================================================== diff -u -r017a33e4110f1a0f76a875fa1266284d122ce30f -r361b49b111f552cb7ded1369db9e4b2269733efd --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Calculators/Assembly/AssessmentSectionAssemblyCalculatorStub.cs (.../AssessmentSectionAssemblyCalculatorStub.cs) (revision 017a33e4110f1a0f76a875fa1266284d122ce30f) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Calculators/Assembly/AssessmentSectionAssemblyCalculatorStub.cs (.../AssessmentSectionAssemblyCalculatorStub.cs) (revision 361b49b111f552cb7ded1369db9e4b2269733efd) @@ -32,12 +32,18 @@ public class AssessmentSectionAssemblyCalculatorStub : IAssessmentSectionAssemblyCalculator { /// - /// Gets the assembly categories input when assembling the assessment section with - /// failure mechanisms with probability. + /// Gets the lower norm input when assembling the assessment section with failure mechanisms + /// with probability; /// - public AssemblyCategoriesInput AssemblyCategoriesInput { get; private set; } + public double LowerLimitNormInput { get; private set; } /// + /// Gets the lower norm input when assembling the assessment section with failure mechanisms + /// with probability; + /// + public double SignalingNormInput { get; private set; } + + /// /// Gets the collection of failure mechanism assembly input when assembling the /// assessment section with failure mechanisms with probability. /// @@ -77,15 +83,17 @@ public bool ThrowExceptionOnCalculate { private get; set; } public AssessmentSectionAssembly AssembleFailureMechanisms(IEnumerable input, - AssemblyCategoriesInput assemblyCategoriesInput) + double signalingNorm, + double lowerLimitNorm) { if (ThrowExceptionOnCalculate) { throw new AssessmentSectionAssemblyCalculatorException("Message", new Exception()); } FailureMechanismAssemblyInput = input; - AssemblyCategoriesInput = assemblyCategoriesInput; + LowerLimitNormInput = lowerLimitNorm; + SignalingNormInput = signalingNorm; return AssessmentSectionAssemblyOutput ?? new AssessmentSectionAssembly(0.75, AssessmentSectionAssemblyCategoryGroup.D);