Index: Ringtoets/Common/src/Ringtoets.Common.Data/Hydraulics/HydraulicBoundaryDatabaseExtensions.cs
===================================================================
diff -u -r381345fcad26d313d3cfd5ccd3d1e131c1d5c379 -r0c7f559da0144b5ecf707274a21db465e0ee9b36
--- Ringtoets/Common/src/Ringtoets.Common.Data/Hydraulics/HydraulicBoundaryDatabaseExtensions.cs (.../HydraulicBoundaryDatabaseExtensions.cs) (revision 381345fcad26d313d3cfd5ccd3d1e131c1d5c379)
+++ Ringtoets/Common/src/Ringtoets.Common.Data/Hydraulics/HydraulicBoundaryDatabaseExtensions.cs (.../HydraulicBoundaryDatabaseExtensions.cs) (revision 0c7f559da0144b5ecf707274a21db465e0ee9b36)
@@ -29,6 +29,25 @@
public static class HydraulicBoundaryDatabaseExtensions
{
///
+ /// Checks whether the hydraulic boundary database is coupled to a database file.
+ ///
+ /// The hydraulic boundary database to check
+ /// for being coupled.
+ /// true if the hydraulic boundary database is coupled;
+ /// false otherwise.
+ /// Thrown when
+ /// is null.
+ public static bool IsCoupled(this HydraulicBoundaryDatabase hydraulicBoundaryDatabase)
+ {
+ if (hydraulicBoundaryDatabase == null)
+ {
+ throw new ArgumentNullException(nameof(hydraulicBoundaryDatabase));
+ }
+
+ return !string.IsNullOrEmpty(hydraulicBoundaryDatabase.FilePath);
+ }
+
+ ///
/// Gets the preprocessor directory to be used during Hydra-Ring calculations.
///
/// The hydraulic boundary database to get the
Index: Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/HydraulicBoundaryDatabaseExtensionsTest.cs
===================================================================
diff -u -rfe55aedc4ccec24ea5827ecf23a965d2a2cb1ed8 -r0c7f559da0144b5ecf707274a21db465e0ee9b36
--- Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/HydraulicBoundaryDatabaseExtensionsTest.cs (.../HydraulicBoundaryDatabaseExtensionsTest.cs) (revision fe55aedc4ccec24ea5827ecf23a965d2a2cb1ed8)
+++ Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/HydraulicBoundaryDatabaseExtensionsTest.cs (.../HydraulicBoundaryDatabaseExtensionsTest.cs) (revision 0c7f559da0144b5ecf707274a21db465e0ee9b36)
@@ -29,6 +29,17 @@
public class HydraulicBoundaryDatabaseExtensionsTest
{
[Test]
+ public void IsCoupled_HydraulicBoundaryDatabaseNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate test = () => HydraulicBoundaryDatabaseExtensions.IsCoupled(null);
+
+ // Assert
+ string paramName = Assert.Throws(test).ParamName;
+ Assert.AreEqual("hydraulicBoundaryDatabase", paramName);
+ }
+
+ [Test]
public void EffectivePreprocessorDirectory_HydraulicBoundaryDatabaseNull_ThrowsArgumentNullException()
{
// Call
@@ -52,6 +63,24 @@
Assert.AreEqual("", effectivePreprocessorDirectory);
}
+ [TestCase(null, false)]
+ [TestCase("", false)]
+ [TestCase("Test", true)]
+ public void IsCoupled_SpecificFilePath_ReturnsExpectedValue(string filePath, bool expectedValue)
+ {
+ // Setup
+ var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase
+ {
+ FilePath = filePath
+ };
+
+ // Call
+ bool isCoupled = hydraulicBoundaryDatabase.IsCoupled();
+
+ // Assert
+ Assert.AreEqual(expectedValue, isCoupled);
+ }
+
[TestCase(false, "Test", "")]
[TestCase(true, "Test", "Test")]
public void EffectivePreprocessorDirectory_CanUsePreprocessorTrue_ReturnsExpectedValue(bool usePreprocessor,