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