Index: Ringtoets/Common/src/Ringtoets.Common.Data/Hydraulics/HydraulicBoundaryCalculationSettings.cs =================================================================== diff -u -r3ff86742b1fa9935c42f90d951df9c20bbbf7b8f -rb12ecfa720b31478b315592d309261027d1ac7ce --- Ringtoets/Common/src/Ringtoets.Common.Data/Hydraulics/HydraulicBoundaryCalculationSettings.cs (.../HydraulicBoundaryCalculationSettings.cs) (revision 3ff86742b1fa9935c42f90d951df9c20bbbf7b8f) +++ Ringtoets/Common/src/Ringtoets.Common.Data/Hydraulics/HydraulicBoundaryCalculationSettings.cs (.../HydraulicBoundaryCalculationSettings.cs) (revision b12ecfa720b31478b315592d309261027d1ac7ce) @@ -1,23 +1,34 @@ namespace Ringtoets.Common.Data.Hydraulics { /// - /// Class which holds all hydraulic boundary calculations settings. + /// Class which holds all hydraulic boundary calculation settings. /// public class HydraulicBoundaryCalculationSettings { /// /// Creates a new instance of . /// /// The file path of the hydraulic boundary database. - /// The file path to the hlcd. /// The preprocessor directory. + public HydraulicBoundaryCalculationSettings(string hydraulicBoundaryDatabaseFilePath, string preprocessorDirectory) + + { + HydraulicBoundaryDatabaseFilePath = hydraulicBoundaryDatabaseFilePath; + PreprocessorDirectory = preprocessorDirectory; + } + + /// + /// Creates a new instance of . + /// + /// The file path of the hydraulic boundary database. + /// The file path of the hlcd. + /// The preprocessor directory. public HydraulicBoundaryCalculationSettings(string hydraulicBoundaryDatabaseFilePath, string hlcdFilePath, string preprocessorDirectory) + : this(hydraulicBoundaryDatabaseFilePath, preprocessorDirectory) { - HydraulicBoundaryDatabaseFilePath = hydraulicBoundaryDatabaseFilePath; HlcdFilePath = hlcdFilePath; - PreprocessorDirectory = preprocessorDirectory; } /// @@ -26,7 +37,7 @@ public string HydraulicBoundaryDatabaseFilePath { get; } /// - /// Gets the HLCD file path. + /// Gets the hlcd file path. /// public string HlcdFilePath { get; } Index: Ringtoets/Common/src/Ringtoets.Common.Data/Hydraulics/HydraulicBoundaryCalculationSettingsFactory.cs =================================================================== diff -u -r3ff86742b1fa9935c42f90d951df9c20bbbf7b8f -rb12ecfa720b31478b315592d309261027d1ac7ce --- Ringtoets/Common/src/Ringtoets.Common.Data/Hydraulics/HydraulicBoundaryCalculationSettingsFactory.cs (.../HydraulicBoundaryCalculationSettingsFactory.cs) (revision 3ff86742b1fa9935c42f90d951df9c20bbbf7b8f) +++ Ringtoets/Common/src/Ringtoets.Common.Data/Hydraulics/HydraulicBoundaryCalculationSettingsFactory.cs (.../HydraulicBoundaryCalculationSettingsFactory.cs) (revision b12ecfa720b31478b315592d309261027d1ac7ce) @@ -14,7 +14,7 @@ /// /// The /// to create a for. - /// The . + /// A . public static HydraulicBoundaryCalculationSettings CreateSettings(HydraulicBoundaryDatabase hydraulicBoundaryDatabase) { if (hydraulicBoundaryDatabase == null) @@ -23,17 +23,18 @@ } string hydraulicBoundaryDatabaseFilePath = hydraulicBoundaryDatabase.FilePath; - string hlcdFilePath = null; - - if (!string.IsNullOrWhiteSpace(hydraulicBoundaryDatabaseFilePath)) + string effectivePreprocessorDirectory = hydraulicBoundaryDatabase.EffectivePreprocessorDirectory(); + if (string.IsNullOrWhiteSpace(hydraulicBoundaryDatabaseFilePath)) { - string directory = Path.GetDirectoryName(hydraulicBoundaryDatabaseFilePath); - hlcdFilePath = Path.Combine(directory, "HLCD.sqlite"); + return new HydraulicBoundaryCalculationSettings(hydraulicBoundaryDatabaseFilePath, + effectivePreprocessorDirectory); } + string directory = Path.GetDirectoryName(hydraulicBoundaryDatabaseFilePath); + string hlcdFilePath = Path.Combine(directory, "HLCD.sqlite"); return new HydraulicBoundaryCalculationSettings(hydraulicBoundaryDatabaseFilePath, hlcdFilePath, - hydraulicBoundaryDatabase.EffectivePreprocessorDirectory()); + effectivePreprocessorDirectory); } } } \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/HydraulicBoundaryCalculationSettingsTest.cs =================================================================== diff -u -r59c26a72b1017bdb20e45a2301d8a109f5f16f5f -rb12ecfa720b31478b315592d309261027d1ac7ce --- Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/HydraulicBoundaryCalculationSettingsTest.cs (.../HydraulicBoundaryCalculationSettingsTest.cs) (revision 59c26a72b1017bdb20e45a2301d8a109f5f16f5f) +++ Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/HydraulicBoundaryCalculationSettingsTest.cs (.../HydraulicBoundaryCalculationSettingsTest.cs) (revision b12ecfa720b31478b315592d309261027d1ac7ce) @@ -8,7 +8,7 @@ public class HydraulicBoundaryCalculationSettingsTest { [Test] - [TestCaseSource(nameof(GetTestCases))] + [TestCaseSource(nameof(GetTestCasesWithAllParameters))] public void Constructor_WithArguments_ExpectedValues(string hydraulicBoundaryDatabaseFilePath, string hlcdFilePath, string preprocessorDirectory) @@ -24,8 +24,23 @@ Assert.AreEqual(preprocessorDirectory, settings.PreprocessorDirectory); } - private static IEnumerable GetTestCases() + [Test] + [TestCaseSource(nameof(GetTestCaseWithoutHlcdParameter))] + public void Constructor_ExpectedValues(string hydraulicBoundaryDatabaseFilePath, + string preprocessorDirectory) { + // Call + var settings = new HydraulicBoundaryCalculationSettings(hydraulicBoundaryDatabaseFilePath, + preprocessorDirectory); + + // Assert + Assert.AreEqual(hydraulicBoundaryDatabaseFilePath, settings.HydraulicBoundaryDatabaseFilePath); + Assert.IsNull(settings.HlcdFilePath); + Assert.AreEqual(preprocessorDirectory, settings.PreprocessorDirectory); + } + + private static IEnumerable GetTestCasesWithAllParameters() + { yield return new TestCaseData("D:\\HydraulicBoundaryDatabase.sqlite", "D:\\HLCD.sqlite", "D:\\") @@ -37,5 +52,18 @@ yield return new TestCaseData(null, null, null) .SetName("All inputs null"); } + + private static IEnumerable GetTestCaseWithoutHlcdParameter() + { + yield return new TestCaseData("D:\\HydraulicBoundaryDatabase.sqlite", + "D:\\") + .SetName("All inputs with values"); + yield return new TestCaseData(" ", " ") + .SetName("All inputs whitespace"); + yield return new TestCaseData(string.Empty, string.Empty) + .SetName("All inputs empty"); + yield return new TestCaseData(null, null) + .SetName("All inputs null"); + } } } \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.Service.TestUtil/HydraRingCalculationSettingsTestHelper.cs =================================================================== diff -u -raa7331d7072b48e96c923dc10d349ba0731b918b -rb12ecfa720b31478b315592d309261027d1ac7ce --- Ringtoets/Common/test/Ringtoets.Common.Service.TestUtil/HydraRingCalculationSettingsTestHelper.cs (.../HydraRingCalculationSettingsTestHelper.cs) (revision aa7331d7072b48e96c923dc10d349ba0731b918b) +++ Ringtoets/Common/test/Ringtoets.Common.Service.TestUtil/HydraRingCalculationSettingsTestHelper.cs (.../HydraRingCalculationSettingsTestHelper.cs) (revision b12ecfa720b31478b315592d309261027d1ac7ce) @@ -5,7 +5,7 @@ namespace Ringtoets.Common.Service.TestUtil { /// - /// A test helper which can be used to assert instances of + /// A test helper which can be used to assert instances of . /// public static class HydraRingCalculationSettingsTestHelper {