Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/HydraRingCalculatorBase.cs
===================================================================
diff -u -r2a81f01756e227d5ce93717b21b87e8a5cd5fcbb -r4b6e29ab07507a1383536a277e8b450cfa76e780
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/HydraRingCalculatorBase.cs (.../HydraRingCalculatorBase.cs) (revision 2a81f01756e227d5ce93717b21b87e8a5cd5fcbb)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/HydraRingCalculatorBase.cs (.../HydraRingCalculatorBase.cs) (revision 4b6e29ab07507a1383536a277e8b450cfa76e780)
@@ -79,6 +79,28 @@
}
///
+ /// Creates a new instance of with a default Hydra-Ring file parser
+ /// initialized.
+ ///
+ /// The directory in which the hydraulic boundary database can be found.
+ /// Preprocessing is disabled when
+ /// equals .
+ /// Thrown when is null.
+ protected HydraRingCalculatorBase(HydraRingCalculationSettings calculationSettings)
+ {
+ if (calculationSettings == null)
+ {
+ throw new ArgumentNullException(nameof(calculationSettings));
+ }
+
+ hlcdDirectory = calculationSettings.HydraulicBoundaryLocationsConfigurationFilePath;
+ preprocessorDirectory = calculationSettings.PreprocessorDirectory;
+
+ lastErrorFileParser = new LastErrorFileParser();
+ illustrationPointsParser = new IllustrationPointsParser();
+ }
+
+ ///
/// Gets the temporary output directory that is generated during the calculation.
///
public string OutputDirectory { get; private set; }
Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Calculator/HydraRingCalculatorBaseTest.cs
===================================================================
diff -u -r2a81f01756e227d5ce93717b21b87e8a5cd5fcbb -r4b6e29ab07507a1383536a277e8b450cfa76e780
--- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Calculator/HydraRingCalculatorBaseTest.cs (.../HydraRingCalculatorBaseTest.cs) (revision 2a81f01756e227d5ce93717b21b87e8a5cd5fcbb)
+++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.Test/Calculator/HydraRingCalculatorBaseTest.cs (.../HydraRingCalculatorBaseTest.cs) (revision 4b6e29ab07507a1383536a277e8b450cfa76e780)
@@ -78,6 +78,17 @@
}
[Test]
+ public void Constructor_CalculationSettingsNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => new TestHydraRingCalculator(null);
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("calculationSettings", exception.ParamName);
+ }
+
+ [Test]
public void Calculate_WithCustomParser_ParsersExecutedAndOutputSet()
{
// Setup
@@ -172,6 +183,8 @@
public TestHydraRingCalculator(string hlcdDirectory, string preprocessorDirectory) : base(hlcdDirectory, preprocessorDirectory) {}
+ public TestHydraRingCalculator(HydraRingCalculationSettings calculationSettings) : base(calculationSettings) {}
+
public TestHydraRingCalculator(string hlcdDirectory, string preprocessorDirectory, IHydraRingFileParser parser) : base(hlcdDirectory, preprocessorDirectory)
{
this.parser = parser;