Index: Ringtoets/Common/src/Ringtoets.Common.Data/Hydraulics/HydraulicBoundaryDatabase.cs =================================================================== diff -u -r0ce2329213d6984c6992ec20319265546692a0b4 -r35b7d54a7d06c2656986b10fc3f757b36a2dfd77 --- Ringtoets/Common/src/Ringtoets.Common.Data/Hydraulics/HydraulicBoundaryDatabase.cs (.../HydraulicBoundaryDatabase.cs) (revision 0ce2329213d6984c6992ec20319265546692a0b4) +++ Ringtoets/Common/src/Ringtoets.Common.Data/Hydraulics/HydraulicBoundaryDatabase.cs (.../HydraulicBoundaryDatabase.cs) (revision 35b7d54a7d06c2656986b10fc3f757b36a2dfd77) @@ -31,6 +31,7 @@ /// public class HydraulicBoundaryDatabase : Observable { + private bool canUsePreprocessor; private bool usePreprocessor; private string preprocessorDirectory; @@ -74,10 +75,28 @@ public List Locations { get; } /// - /// Gets a value indicating whether the Hydra-Ring preprocessor can be used. + /// Gets or sets a value indicating whether the Hydra-Ring preprocessor can be used. /// - public bool CanUsePreprocessor { get; } + /// When setting this property to false, both + /// and are reset. + public bool CanUsePreprocessor + { + get + { + return canUsePreprocessor; + } + set + { + canUsePreprocessor = value; + if (!canUsePreprocessor) + { + usePreprocessor = false; + preprocessorDirectory = null; + } + } + } + /// /// Gets or sets a value indicating whether the Hydra-Ring preprocessor must be used. /// Index: Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/HydraulicBoundaryDatabaseTest.cs =================================================================== diff -u -r0ce2329213d6984c6992ec20319265546692a0b4 -r35b7d54a7d06c2656986b10fc3f757b36a2dfd77 --- Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/HydraulicBoundaryDatabaseTest.cs (.../HydraulicBoundaryDatabaseTest.cs) (revision 0ce2329213d6984c6992ec20319265546692a0b4) +++ Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/HydraulicBoundaryDatabaseTest.cs (.../HydraulicBoundaryDatabaseTest.cs) (revision 35b7d54a7d06c2656986b10fc3f757b36a2dfd77) @@ -65,7 +65,43 @@ Assert.AreEqual(preprocessorDirectory, hydraulicBoundaryDatabase.PreprocessorDirectory); } + [TestCase(true)] + [TestCase(false)] + public void CanUsePreprocessor_Always_ExpectedValuesSet(bool canUsePreprocessor) + { + // Setup + var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(); + + // Call + hydraulicBoundaryDatabase.CanUsePreprocessor = canUsePreprocessor; + + // Assert + Assert.AreEqual(canUsePreprocessor, hydraulicBoundaryDatabase.CanUsePreprocessor); + Assert.IsFalse(hydraulicBoundaryDatabase.UsePreprocessor); + Assert.IsNull(hydraulicBoundaryDatabase.PreprocessorDirectory); + } + [Test] + public void GivenDatabaseWithPreprocessorSettings_WhenSettingCanUsePreprocessorFalse_ThenPreprocessorSettingsReset() + { + // Given + var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase + { + CanUsePreprocessor = true, + UsePreprocessor = true, + PreprocessorDirectory = "PreprocessorDirectory" + }; + + // When + hydraulicBoundaryDatabase.CanUsePreprocessor = false; + + // Then + Assert.IsFalse(hydraulicBoundaryDatabase.CanUsePreprocessor); + Assert.IsFalse(hydraulicBoundaryDatabase.UsePreprocessor); + Assert.IsNull(hydraulicBoundaryDatabase.PreprocessorDirectory); + } + + [Test] public void UsePreprocessor_SetValueWithCanUsePreprocessorTrue_ExpectedValueSet() { // Setup