Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/CategoryBoundaries/AssemblyCategoryBoundariesCalculator.cs =================================================================== diff -u -rb37d73c648e099a96a1c623f72391c909f3b0937 -rc7b4f742050498460ce41e197815d0cd9addbc9d --- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/CategoryBoundaries/AssemblyCategoryBoundariesCalculator.cs (.../AssemblyCategoryBoundariesCalculator.cs) (revision b37d73c648e099a96a1c623f72391c909f3b0937) +++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/CategoryBoundaries/AssemblyCategoryBoundariesCalculator.cs (.../AssemblyCategoryBoundariesCalculator.cs) (revision c7b4f742050498460ce41e197815d0cd9addbc9d) @@ -60,12 +60,9 @@ } IAssemblyCategoryBoundariesKernel kernel = factory.CreateAssemblyCategoryBoundariesKernel(); - kernel.LowerBoundaryNorm = input.LowerBoundaryNorm; - kernel.SignalingNorm = input.SignalingNorm; + CalculationOutput output = kernel.Calculate(input.SignalingNorm, input.LowerBoundaryNorm); - kernel.Calculate(); - - return AssemblyCategoryBoundariesResultCreator.CreateAssessmentSectionResult(kernel.AssessmentSectionCategoriesOutput); + return AssemblyCategoryBoundariesResultCreator.CreateAssessmentSectionResult(output); } } } \ No newline at end of file Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Kernels/CategoryBoundaries/AssemblyCategoryBoundariesKernelWrapper.cs =================================================================== diff -u -r3e27a0f9cddd6e05a755d7f109032be0dc6b8864 -rc7b4f742050498460ce41e197815d0cd9addbc9d --- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Kernels/CategoryBoundaries/AssemblyCategoryBoundariesKernelWrapper.cs (.../AssemblyCategoryBoundariesKernelWrapper.cs) (revision 3e27a0f9cddd6e05a755d7f109032be0dc6b8864) +++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Kernels/CategoryBoundaries/AssemblyCategoryBoundariesKernelWrapper.cs (.../AssemblyCategoryBoundariesKernelWrapper.cs) (revision c7b4f742050498460ce41e197815d0cd9addbc9d) @@ -29,31 +29,9 @@ /// internal class AssemblyCategoryBoundariesKernelWrapper : IAssemblyCategoryBoundariesKernel { - private double lowerBoundaryNorm; - private double signalingNorm; - - public double LowerBoundaryNorm + public CalculationOutput Calculate(double signalingNorm, double lowerBoundaryNorm) { - set - { - lowerBoundaryNorm = value; - } + return CategoriesCalculator.CalculateAssessmentSectionCategories(signalingNorm, lowerBoundaryNorm); } - - public double SignalingNorm - { - set - { - signalingNorm = value; - } - } - - public CalculationOutput AssessmentSectionCategoriesOutput { get; private set; } - - public void Calculate() - { - AssessmentSectionCategoriesOutput = CategoriesCalculator.CalculateAssessmentSectionCategories( - signalingNorm, lowerBoundaryNorm); - } } } \ No newline at end of file Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Kernels/CategoryBoundaries/IAssemblyCategoryBoundariesKernel.cs =================================================================== diff -u -r3e27a0f9cddd6e05a755d7f109032be0dc6b8864 -rc7b4f742050498460ce41e197815d0cd9addbc9d --- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Kernels/CategoryBoundaries/IAssemblyCategoryBoundariesKernel.cs (.../IAssemblyCategoryBoundariesKernel.cs) (revision 3e27a0f9cddd6e05a755d7f109032be0dc6b8864) +++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Kernels/CategoryBoundaries/IAssemblyCategoryBoundariesKernel.cs (.../IAssemblyCategoryBoundariesKernel.cs) (revision c7b4f742050498460ce41e197815d0cd9addbc9d) @@ -38,23 +38,11 @@ public interface IAssemblyCategoryBoundariesKernel { /// - /// Sets the lower boundary norm. - /// - double LowerBoundaryNorm { set; } - - /// - /// Sets the signaling norm. - /// - double SignalingNorm { set; } - - /// - /// Gets the assessment section categories output. - /// - CalculationOutput AssessmentSectionCategoriesOutput { get; } - - /// /// Performs the calculation. /// - void Calculate(); + /// The signaling norm to use in the calculation. + /// The lower boundary norm to use in the calculation. + /// The calculation output. + CalculationOutput Calculate(double signalingNorm, double lowerBoundaryNorm); } } \ No newline at end of file Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Kernels/CategoryBoundaries/AssemblyCategoryBoundariesKernelWrapperTest.cs =================================================================== diff -u -rcefaa40de9f2e15377820ff89883c6fe3e13cd19 -rc7b4f742050498460ce41e197815d0cd9addbc9d --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Kernels/CategoryBoundaries/AssemblyCategoryBoundariesKernelWrapperTest.cs (.../AssemblyCategoryBoundariesKernelWrapperTest.cs) (revision cefaa40de9f2e15377820ff89883c6fe3e13cd19) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Kernels/CategoryBoundaries/AssemblyCategoryBoundariesKernelWrapperTest.cs (.../AssemblyCategoryBoundariesKernelWrapperTest.cs) (revision c7b4f742050498460ce41e197815d0cd9addbc9d) @@ -19,6 +19,8 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using AssemblyTool.Kernel; +using AssemblyTool.Kernel.CategoriesOutput; using NUnit.Framework; using Ringtoets.AssemblyTool.KernelWrapper.Kernels.CategoryBoundaries; @@ -36,5 +38,18 @@ // Assert Assert.IsInstanceOf(kernelWrapper); } + + [Test] + public void Calculate_Always_ReturnsOutput() + { + // Setup + var kernelWrapper = new AssemblyCategoryBoundariesKernelWrapper(); + + // Call + CalculationOutput output = kernelWrapper.Calculate(0, 0); + + // Assert + Assert.IsNotNull(output); + } } } \ No newline at end of file Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Kernels/CategoryBoundaries/AssemblyCategoryBoundariesKernelStubTest.cs =================================================================== diff -u -rf5b6e63f0db90da3bf7ff1f605eb63f9435f01cc -rc7b4f742050498460ce41e197815d0cd9addbc9d --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Kernels/CategoryBoundaries/AssemblyCategoryBoundariesKernelStubTest.cs (.../AssemblyCategoryBoundariesKernelStubTest.cs) (revision f5b6e63f0db90da3bf7ff1f605eb63f9435f01cc) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Kernels/CategoryBoundaries/AssemblyCategoryBoundariesKernelStubTest.cs (.../AssemblyCategoryBoundariesKernelStubTest.cs) (revision c7b4f742050498460ce41e197815d0cd9addbc9d) @@ -19,6 +19,9 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; +using AssemblyTool.Kernel; +using AssemblyTool.Kernel.CategoriesOutput; using NUnit.Framework; using Ringtoets.AssemblyTool.KernelWrapper.Kernels.CategoryBoundaries; using Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Kernels.CategoryBoundaries; @@ -40,16 +43,50 @@ } [Test] + public void Calculate_Always_InputCorrectlySetToKernel() + { + // Setup + var random = new Random(11); + double lowerBoundaryNorm = random.NextDouble(); + double signalingNorm = random.NextDouble(); + + var kernelStub = new AssemblyCategoryBoundariesKernelStub(); + + // Call + kernelStub.Calculate(signalingNorm, lowerBoundaryNorm); + + // Assert + Assert.AreEqual(signalingNorm, kernelStub.SignalingNorm); + Assert.AreEqual(lowerBoundaryNorm, kernelStub.LowerBoundaryNorm); + } + + [Test] public void Calculate_Always_SetCalculatedTrue() { // Setup var kernelStub = new AssemblyCategoryBoundariesKernelStub(); // Call - kernelStub.Calculate(); + kernelStub.Calculate(0, 0); // Assert Assert.IsTrue(kernelStub.Calculated); } + + [Test] + public void Calculate_Always_ReturnAssessmentSectionCategoriesOutput() + { + // Setup + var kernelStub = new AssemblyCategoryBoundariesKernelStub + { + AssessmentSectionCategoriesOutput = new CalculationOutput(new AssessmentSectionCategoriesOutput[0]) + }; + + // Call + CalculationOutput output = kernelStub.Calculate(0, 0); + + // Assert + Assert.AreSame(kernelStub.AssessmentSectionCategoriesOutput, output); + } } } \ No newline at end of file Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test.csproj =================================================================== diff -u -r6be8d4073d017fede7f0b8bdcd602b07d56a9e61 -rc7b4f742050498460ce41e197815d0cd9addbc9d --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test.csproj (.../Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test.csproj) (revision 6be8d4073d017fede7f0b8bdcd602b07d56a9e61) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test.csproj (.../Ringtoets.AssemblyTool.KernelWrapper.TestUtil.Test.csproj) (revision c7b4f742050498460ce41e197815d0cd9addbc9d) @@ -7,6 +7,9 @@ + + ..\..\..\..\lib\Plugins\AssemblyTool\AssemblyToolKernel.dll + ..\..\..\..\packages\NUnit.3.8.1\lib\net40\nunit.framework.dll Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Kernels/CategoryBoundaries/AssemblyCategoryBoundariesKernelStub.cs =================================================================== diff -u -r3e27a0f9cddd6e05a755d7f109032be0dc6b8864 -rc7b4f742050498460ce41e197815d0cd9addbc9d --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Kernels/CategoryBoundaries/AssemblyCategoryBoundariesKernelStub.cs (.../AssemblyCategoryBoundariesKernelStub.cs) (revision 3e27a0f9cddd6e05a755d7f109032be0dc6b8864) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.TestUtil/Kernels/CategoryBoundaries/AssemblyCategoryBoundariesKernelStub.cs (.../AssemblyCategoryBoundariesKernelStub.cs) (revision c7b4f742050498460ce41e197815d0cd9addbc9d) @@ -35,15 +35,29 @@ /// public bool Calculated { get; private set; } - public double LowerBoundaryNorm { get; set; } + /// + /// Gets the lower boundary norm. + /// + public double LowerBoundaryNorm { get; private set; } - public double SignalingNorm { get; set; } - + /// + /// Gets the upper boundary norm. + /// + public double SignalingNorm { get; private set; } + + /// + /// Gets the assessment section categories output. + /// public CalculationOutput AssessmentSectionCategoriesOutput { get; set; } - public void Calculate() + public CalculationOutput Calculate(double signalingNorm, double lowerBoundaryNorm) { + LowerBoundaryNorm = lowerBoundaryNorm; + SignalingNorm = signalingNorm; + Calculated = true; + + return AssessmentSectionCategoriesOutput; } } } \ No newline at end of file