Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/CategoryBoundaries/AssemblyCategoryBoundariesCalculator.cs =================================================================== diff -u -r6f872d1783ada708e24bf687fa3f8384c480e0b7 -rf80f2e7df0e861f28e00eddc4a4ecaa4739e0951 --- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/CategoryBoundaries/AssemblyCategoryBoundariesCalculator.cs (.../AssemblyCategoryBoundariesCalculator.cs) (revision 6f872d1783ada708e24bf687fa3f8384c480e0b7) +++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Calculators/CategoryBoundaries/AssemblyCategoryBoundariesCalculator.cs (.../AssemblyCategoryBoundariesCalculator.cs) (revision f80f2e7df0e861f28e00eddc4a4ecaa4739e0951) @@ -19,12 +19,38 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; +using Ringtoets.AssemblyTool.Data.Input; +using Ringtoets.AssemblyTool.KernelWrapper.Kernels; + namespace Ringtoets.AssemblyTool.KernelWrapper.Calculators.CategoryBoundaries { /// /// Class representing an assembly category boundaries calculator. /// public class AssemblyCategoryBoundariesCalculator : IAssemblyCategoryBoundariesCalculator { + private readonly AssemblyCategoryBoundariesCalculatorInput input; + private readonly IAssemblyToolKernelFactory factory; + + /// + /// Creates a new instance of . + /// + /// The containing + /// all the values required for performing the assembly category boundaries calculation. + /// The factory responsible for creating the assembly category boundaries kernel. + public AssemblyCategoryBoundariesCalculator(AssemblyCategoryBoundariesCalculatorInput input, IAssemblyToolKernelFactory factory) + { + if (input == null) + { + throw new ArgumentNullException(nameof(input)); + } + if (factory == null) + { + throw new ArgumentNullException(nameof(factory)); + } + this.input = input; + this.factory = factory; + } } } \ No newline at end of file Index: Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Ringtoets.AssemblyTool.KernelWrapper.csproj =================================================================== diff -u -r7b2dd0c4744b58ea6bf4bfe108d3f6fb487f2d3e -rf80f2e7df0e861f28e00eddc4a4ecaa4739e0951 --- Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Ringtoets.AssemblyTool.KernelWrapper.csproj (.../Ringtoets.AssemblyTool.KernelWrapper.csproj) (revision 7b2dd0c4744b58ea6bf4bfe108d3f6fb487f2d3e) +++ Ringtoets/AssemblyTool/src/Ringtoets.AssemblyTool.KernelWrapper/Ringtoets.AssemblyTool.KernelWrapper.csproj (.../Ringtoets.AssemblyTool.KernelWrapper.csproj) (revision f80f2e7df0e861f28e00eddc4a4ecaa4739e0951) @@ -24,4 +24,11 @@ Copying.licenseheader + + + {420ED9C3-0C33-47EA-B893-121A9C0DB4F1} + Ringtoets.AssemblyTool.Data + False + + \ No newline at end of file Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/CategoryBoundaries/AssemblyCategoryBoundariesCalculatorTest.cs =================================================================== diff -u -r6f872d1783ada708e24bf687fa3f8384c480e0b7 -rf80f2e7df0e861f28e00eddc4a4ecaa4739e0951 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/CategoryBoundaries/AssemblyCategoryBoundariesCalculatorTest.cs (.../AssemblyCategoryBoundariesCalculatorTest.cs) (revision 6f872d1783ada708e24bf687fa3f8384c480e0b7) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Calculators/CategoryBoundaries/AssemblyCategoryBoundariesCalculatorTest.cs (.../AssemblyCategoryBoundariesCalculatorTest.cs) (revision f80f2e7df0e861f28e00eddc4a4ecaa4739e0951) @@ -19,22 +19,65 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using NUnit.Framework; +using Rhino.Mocks; +using Ringtoets.AssemblyTool.Data.Input; using Ringtoets.AssemblyTool.KernelWrapper.Calculators.CategoryBoundaries; +using Ringtoets.AssemblyTool.KernelWrapper.Kernels; namespace Ringtoets.AssemblyTool.KernelWrapper.Test.Calculators.CategoryBoundaries { [TestFixture] public class AssemblyCategoryBoundariesCalculatorTest { [Test] - public void Constructor_ExpectedValues() + public void Constructor_InputNull_ThrowsArgumentNullException() { + // Setup + var mocks = new MockRepository(); + var factory = mocks.Stub(); + mocks.ReplayAll(); + // Call - var calculator = new AssemblyCategoryBoundariesCalculator(); + TestDelegate call = () => new AssemblyCategoryBoundariesCalculator(null, factory); // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("input", exception.ParamName); + mocks.VerifyAll(); + } + + [Test] + public void Constructor_FactoryNull_ThrowsArgumentNullException() + { + // Setup + var input = new AssemblyCategoryBoundariesCalculatorInput(0, 0); + + // Call + TestDelegate call = () => new AssemblyCategoryBoundariesCalculator(input, null); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("factory", exception.ParamName); + } + + [Test] + public void Constructor_ValidParameters_ExpectedValues() + { + // Setup + var mocks = new MockRepository(); + var factory = mocks.Stub(); + mocks.ReplayAll(); + + var input = new AssemblyCategoryBoundariesCalculatorInput(0, 0); + + // Call + var calculator = new AssemblyCategoryBoundariesCalculator(input, factory); + + // Assert Assert.IsInstanceOf(calculator); + mocks.VerifyAll(); } } } \ No newline at end of file Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Ringtoets.AssemblyTool.KernelWrapper.Test.csproj =================================================================== diff -u -rac3bbab8cdfee2bee4faeea59a40240e79c20d33 -rf80f2e7df0e861f28e00eddc4a4ecaa4739e0951 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Ringtoets.AssemblyTool.KernelWrapper.Test.csproj (.../Ringtoets.AssemblyTool.KernelWrapper.Test.csproj) (revision ac3bbab8cdfee2bee4faeea59a40240e79c20d33) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/Ringtoets.AssemblyTool.KernelWrapper.Test.csproj (.../Ringtoets.AssemblyTool.KernelWrapper.Test.csproj) (revision f80f2e7df0e861f28e00eddc4a4ecaa4739e0951) @@ -10,6 +10,9 @@ ..\..\..\..\packages\NUnit.3.8.1\lib\net40\nunit.framework.dll + + ..\..\..\..\packages\RhinoMocks.3.6.1\lib\net\Rhino.Mocks.dll + @@ -26,6 +29,10 @@ + + {420ED9C3-0C33-47EA-B893-121A9C0DB4F1} + Ringtoets.AssemblyTool.Data + {358B6DA2-A1DF-477F-B6AC-C30204265CB0} Ringtoets.AssemblyTool.KernelWrapper Index: Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/packages.config =================================================================== diff -u -r8fc017868dfcaf97b3d24a47ac4d88cbafc21f2f -rf80f2e7df0e861f28e00eddc4a4ecaa4739e0951 --- Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/packages.config (.../packages.config) (revision 8fc017868dfcaf97b3d24a47ac4d88cbafc21f2f) +++ Ringtoets/AssemblyTool/test/Ringtoets.AssemblyTool.KernelWrapper.Test/packages.config (.../packages.config) (revision f80f2e7df0e861f28e00eddc4a4ecaa4739e0951) @@ -1,4 +1,5 @@ - - + \ No newline at end of file