Index: Riskeer/Common/test/Riskeer.Common.Data.TestUtil.Test/HydraulicBoundaryDatabaseTestHelperTest.cs =================================================================== diff -u -r90da65d29cffe6603e285dd47eb922125f11b692 -r0a0a8c855d4fa3c273e89138f609d44d62c132a2 --- Riskeer/Common/test/Riskeer.Common.Data.TestUtil.Test/HydraulicBoundaryDatabaseTestHelperTest.cs (.../HydraulicBoundaryDatabaseTestHelperTest.cs) (revision 90da65d29cffe6603e285dd47eb922125f11b692) +++ Riskeer/Common/test/Riskeer.Common.Data.TestUtil.Test/HydraulicBoundaryDatabaseTestHelperTest.cs (.../HydraulicBoundaryDatabaseTestHelperTest.cs) (revision 0a0a8c855d4fa3c273e89138f609d44d62c132a2) @@ -31,7 +31,7 @@ public class HydraulicBoundaryDatabaseTestHelperTest { [Test] - public void SetHydraulicBoundaryLocationConfigurationSettings_DatabaseWithFilePath_SetsExpectedValues() + public void SetHydraulicBoundaryLocationConfigurationSettings_DatabaseWithFilePathAndWithoutUsePreprocessorClosure_SetsExpectedValues() { // Setup const string path = "C:\\TestPath"; @@ -57,7 +57,35 @@ Assert.AreEqual("WindSpeed", settings.WindSpeed); Assert.AreEqual("Comment", settings.Comment); } + [Test] + public void SetHydraulicBoundaryLocationConfigurationSettings_DatabaseWithFilePathAndWithUsePreprocessorClosure_SetsExpectedValues() + { + // Setup + const string path = "C:\\TestPath"; + const bool usePreprocessorClosure = true; + var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase + { + FilePath = Path.Combine(path, "hrd.sqlite") + }; + // Call + HydraulicBoundaryDatabaseTestHelper.SetHydraulicBoundaryLocationConfigurationSettings(hydraulicBoundaryDatabase, usePreprocessorClosure); + + // Assert + HydraulicLocationConfigurationSettings settings = hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings; + Assert.AreEqual(Path.Combine(path, "hlcd.sqlite"), settings.FilePath); + Assert.AreEqual("ScenarioName", settings.ScenarioName); + Assert.AreEqual(1337, settings.Year); + Assert.AreEqual("Scope", settings.Scope); + Assert.AreEqual(usePreprocessorClosure, settings.UsePreprocessorClosure); + Assert.AreEqual("SeaLevel", settings.SeaLevel); + Assert.AreEqual("RiverDischarge", settings.RiverDischarge); + Assert.AreEqual("LakeLevel", settings.LakeLevel); + Assert.AreEqual("WindDirection", settings.WindDirection); + Assert.AreEqual("WindSpeed", settings.WindSpeed); + Assert.AreEqual("Comment", settings.Comment); + } + [Test] public void SetHydraulicBoundaryLocationConfigurationSettings_DatabaseWithoutFilePath_ThrowsArgumentException() { Index: Riskeer/Common/test/Riskeer.Common.Data.TestUtil/HydraulicBoundaryDatabaseTestHelper.cs =================================================================== diff -u -r90da65d29cffe6603e285dd47eb922125f11b692 -r0a0a8c855d4fa3c273e89138f609d44d62c132a2 --- Riskeer/Common/test/Riskeer.Common.Data.TestUtil/HydraulicBoundaryDatabaseTestHelper.cs (.../HydraulicBoundaryDatabaseTestHelper.cs) (revision 90da65d29cffe6603e285dd47eb922125f11b692) +++ Riskeer/Common/test/Riskeer.Common.Data.TestUtil/HydraulicBoundaryDatabaseTestHelper.cs (.../HydraulicBoundaryDatabaseTestHelper.cs) (revision 0a0a8c855d4fa3c273e89138f609d44d62c132a2) @@ -34,8 +34,10 @@ /// Sets valid values on the . /// /// The to set the values to. + /// Indicator whether to use the preprocessor closure. /// Thrown when is null. - public static void SetHydraulicBoundaryLocationConfigurationSettings(HydraulicBoundaryDatabase hydraulicBoundaryDatabase) + public static void SetHydraulicBoundaryLocationConfigurationSettings(HydraulicBoundaryDatabase hydraulicBoundaryDatabase, + bool usePreprocessorClosure = false) { if (hydraulicBoundaryDatabase.FilePath == null) { @@ -48,7 +50,7 @@ "ScenarioName", 1337, "Scope", - false, + usePreprocessorClosure, "SeaLevel", "RiverDischarge", "LakeLevel", Index: Riskeer/Common/test/Riskeer.Common.IO.Test/HydraRing/HydraulicBoundaryDatabaseHelperTest.cs =================================================================== diff -u -r9dbc4ceb49579b191fd1187fe09e6af6808fa83f -r0a0a8c855d4fa3c273e89138f609d44d62c132a2 --- Riskeer/Common/test/Riskeer.Common.IO.Test/HydraRing/HydraulicBoundaryDatabaseHelperTest.cs (.../HydraulicBoundaryDatabaseHelperTest.cs) (revision 9dbc4ceb49579b191fd1187fe09e6af6808fa83f) +++ Riskeer/Common/test/Riskeer.Common.IO.Test/HydraRing/HydraulicBoundaryDatabaseHelperTest.cs (.../HydraulicBoundaryDatabaseHelperTest.cs) (revision 0a0a8c855d4fa3c273e89138f609d44d62c132a2) @@ -160,7 +160,7 @@ string result = HydraulicBoundaryDatabaseHelper.ValidateFilesForCalculation(validFilePath, customHlcdFilePath, testDataPath, true); // Assert - StringAssert.StartsWith($"Fout bij het lezen van bestand '{preprocessorClosureFilePath}':", result); + Assert.AreEqual($"Fout bij het lezen van bestand '{preprocessorClosureFilePath}': het bestand bestaat niet.", result); } [Test] Index: Riskeer/Common/test/Riskeer.Common.Service.Test/HydraulicBoundaryDatabaseConnectionValidatorTest.cs =================================================================== diff -u -r90da65d29cffe6603e285dd47eb922125f11b692 -r0a0a8c855d4fa3c273e89138f609d44d62c132a2 --- Riskeer/Common/test/Riskeer.Common.Service.Test/HydraulicBoundaryDatabaseConnectionValidatorTest.cs (.../HydraulicBoundaryDatabaseConnectionValidatorTest.cs) (revision 90da65d29cffe6603e285dd47eb922125f11b692) +++ Riskeer/Common/test/Riskeer.Common.Service.Test/HydraulicBoundaryDatabaseConnectionValidatorTest.cs (.../HydraulicBoundaryDatabaseConnectionValidatorTest.cs) (revision 0a0a8c855d4fa3c273e89138f609d44d62c132a2) @@ -94,16 +94,39 @@ Assert.AreEqual(expectedMessage, message); } + [Test] - public void Validate_HydraulicBoundaryDatabaseLinkedToValidDatabaseFile_ReturnsNull() + public void ValidateFileForCalculation_UsePreprocessorClosureTrueWithoutPreprocessorClosureFile_ReturnsMessageWithError() { // Setup + string validFilePath = Path.Combine(testDataPath, "withoutPreprocessorClosure", "complete.sqlite"); + var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase + { + FilePath = validFilePath + }; + HydraulicBoundaryDatabaseTestHelper.SetHydraulicBoundaryLocationConfigurationSettings(hydraulicBoundaryDatabase, true); + + // Call + string message = HydraulicBoundaryDatabaseConnectionValidator.Validate(hydraulicBoundaryDatabase); + + // Assert + string preprocessorClosureFilePath = Path.Combine(testDataPath, "withoutPreprocessorClosure", "hlcd_preprocClosure.sqlite"); + string expectedMessage = $"Herstellen van de verbinding met de hydraulische belastingendatabase is mislukt. Fout bij het lezen van bestand '{preprocessorClosureFilePath}': het bestand bestaat niet."; + Assert.AreEqual(expectedMessage, message); + } + + [Test] + [TestCase(true)] + [TestCase(false)] + public void Validate_HydraulicBoundaryDatabaseLinkedToValidDatabaseFile_ReturnsNull(bool usePreprocessorClosure) + { + // Setup string validFilePath = Path.Combine(testDataPath, "complete.sqlite"); var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase { FilePath = validFilePath }; - HydraulicBoundaryDatabaseTestHelper.SetHydraulicBoundaryLocationConfigurationSettings(hydraulicBoundaryDatabase); + HydraulicBoundaryDatabaseTestHelper.SetHydraulicBoundaryLocationConfigurationSettings(hydraulicBoundaryDatabase, usePreprocessorClosure); // Call string message = HydraulicBoundaryDatabaseConnectionValidator.Validate(hydraulicBoundaryDatabase); Index: Riskeer/Common/test/Riskeer.Common.Service.Test/TargetProbabilityCalculationServiceTest.cs =================================================================== diff -u -r12c732c4549e943a1700d17c3d00b6ddacfcb8c5 -r0a0a8c855d4fa3c273e89138f609d44d62c132a2 --- Riskeer/Common/test/Riskeer.Common.Service.Test/TargetProbabilityCalculationServiceTest.cs (.../TargetProbabilityCalculationServiceTest.cs) (revision 12c732c4549e943a1700d17c3d00b6ddacfcb8c5) +++ Riskeer/Common/test/Riskeer.Common.Service.Test/TargetProbabilityCalculationServiceTest.cs (.../TargetProbabilityCalculationServiceTest.cs) (revision 0a0a8c855d4fa3c273e89138f609d44d62c132a2) @@ -149,6 +149,31 @@ } [Test] + public void Validate_UsePreprocessorClosureTrueAndWithoutPreprocessorClosure_LogsErrorAndReturnsFalse() + { + // Setup + var valid = true; + var calculationSettings = new HydraulicBoundaryCalculationSettings(validHydraulicBoundaryDatabaseFilePath, + validHlcdFilePath, + true, + string.Empty); + + // Call + Action call = () => valid = calculationService.Validate(calculationSettings, validTargetProbability); + + // Assert + TestHelper.AssertLogMessages(call, messages => + { + string[] msgs = messages.ToArray(); + Assert.AreEqual(3, msgs.Length); + CalculationServiceTestHelper.AssertValidationStartMessage(msgs[0]); + StringAssert.StartsWith("Herstellen van de verbinding met de hydraulische belastingendatabase is mislukt. Fout bij het lezen van bestand", msgs[1]); + CalculationServiceTestHelper.AssertValidationEndMessage(msgs[2]); + }); + Assert.IsFalse(valid); + } + + [Test] public void Validate_TargetProbabilityInvalid_LogsErrorAndReturnsFalse() { // Setup