Index: Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/HydraulicBoundaryDatabaseImporter.cs =================================================================== diff -u -r0ce2329213d6984c6992ec20319265546692a0b4 -rfe55aedc4ccec24ea5827ecf23a965d2a2cb1ed8 --- Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/HydraulicBoundaryDatabaseImporter.cs (.../HydraulicBoundaryDatabaseImporter.cs) (revision 0ce2329213d6984c6992ec20319265546692a0b4) +++ Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/HydraulicBoundaryDatabaseImporter.cs (.../HydraulicBoundaryDatabaseImporter.cs) (revision fe55aedc4ccec24ea5827ecf23a965d2a2cb1ed8) @@ -214,14 +214,21 @@ private static HydraulicBoundaryDatabase CreateHydraulicBoundaryDatabase(ReadHydraulicBoundaryDatabase readData, string filePath) { - HydraulicBoundaryDatabase hydraulicBoundaryDatabase = readData.CanUsePreprocessor - ? new HydraulicBoundaryDatabase(true, Path.GetDirectoryName(filePath)) - : new HydraulicBoundaryDatabase(); + var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase + { + Version = readData.Version, + FilePath = filePath + }; hydraulicBoundaryDatabase.Locations.AddRange(readData.Locations); - hydraulicBoundaryDatabase.Version = readData.Version; - hydraulicBoundaryDatabase.FilePath = filePath; + if (readData.CanUsePreprocessor) + { + hydraulicBoundaryDatabase.CanUsePreprocessor = true; + hydraulicBoundaryDatabase.UsePreprocessor = true; + hydraulicBoundaryDatabase.PreprocessorDirectory = Path.GetDirectoryName(filePath); + } + return hydraulicBoundaryDatabase; } } Index: Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/HydraulicBoundaryDatabaseExtensionsTest.cs =================================================================== diff -u -r0ce2329213d6984c6992ec20319265546692a0b4 -rfe55aedc4ccec24ea5827ecf23a965d2a2cb1ed8 --- Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/HydraulicBoundaryDatabaseExtensionsTest.cs (.../HydraulicBoundaryDatabaseExtensionsTest.cs) (revision 0ce2329213d6984c6992ec20319265546692a0b4) +++ Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/HydraulicBoundaryDatabaseExtensionsTest.cs (.../HydraulicBoundaryDatabaseExtensionsTest.cs) (revision fe55aedc4ccec24ea5827ecf23a965d2a2cb1ed8) @@ -59,7 +59,12 @@ string expectedEffectivePreprocessorDirectory) { // Setup - var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(usePreprocessor, preprocessorDirectory); + var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase + { + CanUsePreprocessor = true, + UsePreprocessor = usePreprocessor, + PreprocessorDirectory = preprocessorDirectory + }; // Call string effectivePreprocessorDirectory = hydraulicBoundaryDatabase.EffectivePreprocessorDirectory(); Index: Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/HydraulicBoundaryDatabaseTest.cs =================================================================== diff -u -r35b7d54a7d06c2656986b10fc3f757b36a2dfd77 -rfe55aedc4ccec24ea5827ecf23a965d2a2cb1ed8 --- Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/HydraulicBoundaryDatabaseTest.cs (.../HydraulicBoundaryDatabaseTest.cs) (revision 35b7d54a7d06c2656986b10fc3f757b36a2dfd77) +++ Ringtoets/Common/test/Ringtoets.Common.Data.Test/Hydraulics/HydraulicBoundaryDatabaseTest.cs (.../HydraulicBoundaryDatabaseTest.cs) (revision fe55aedc4ccec24ea5827ecf23a965d2a2cb1ed8) @@ -47,115 +47,102 @@ } [Test] - public void Constructor_WithParameters_ExpectedValues([Values(true, false)] bool usePreprocessor) + public void UsePreprocessor_SetValueWithCanUsePreprocessorTrue_ExpectedValueSet() { // Setup - const string preprocessorDirectory = "Preprocessor"; + bool usePreprocessor = new Random(11).NextBoolean(); + var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase + { + CanUsePreprocessor = true + }; // Call - var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(usePreprocessor, preprocessorDirectory); + hydraulicBoundaryDatabase.UsePreprocessor = usePreprocessor; // Assert - Assert.IsInstanceOf(hydraulicBoundaryDatabase); - Assert.IsNull(hydraulicBoundaryDatabase.FilePath); - Assert.IsNull(hydraulicBoundaryDatabase.Version); - CollectionAssert.IsEmpty(hydraulicBoundaryDatabase.Locations); - Assert.IsTrue(hydraulicBoundaryDatabase.CanUsePreprocessor); Assert.AreEqual(usePreprocessor, hydraulicBoundaryDatabase.UsePreprocessor); - Assert.AreEqual(preprocessorDirectory, hydraulicBoundaryDatabase.PreprocessorDirectory); } - [TestCase(true)] - [TestCase(false)] - public void CanUsePreprocessor_Always_ExpectedValuesSet(bool canUsePreprocessor) + [Test] + public void UsePreprocessor_SetValueWithCanUsePreprocessorFalse_ThrowsInvalidOperationException() { // Setup + bool usePreprocessor = new Random(11).NextBoolean(); var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(); // Call - hydraulicBoundaryDatabase.CanUsePreprocessor = canUsePreprocessor; + TestDelegate test = () => hydraulicBoundaryDatabase.UsePreprocessor = usePreprocessor; // Assert - Assert.AreEqual(canUsePreprocessor, hydraulicBoundaryDatabase.CanUsePreprocessor); - Assert.IsFalse(hydraulicBoundaryDatabase.UsePreprocessor); - Assert.IsNull(hydraulicBoundaryDatabase.PreprocessorDirectory); + string message = Assert.Throws(test).Message; + Assert.AreEqual($"{nameof(HydraulicBoundaryDatabase.CanUsePreprocessor)} is false.", message); } [Test] - public void GivenDatabaseWithPreprocessorSettings_WhenSettingCanUsePreprocessorFalse_ThenPreprocessorSettingsReset() + public void PreprocessorDirectory_SetValidValueWithCanUsePreprocessorTrue_ExpectedValueSet() { - // Given + // Setup + const string preprocessorDirectory = "OtherPreprocessor"; var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase { - CanUsePreprocessor = true, - UsePreprocessor = true, - PreprocessorDirectory = "PreprocessorDirectory" + CanUsePreprocessor = true }; - // When - hydraulicBoundaryDatabase.CanUsePreprocessor = false; - - // Then - Assert.IsFalse(hydraulicBoundaryDatabase.CanUsePreprocessor); - Assert.IsFalse(hydraulicBoundaryDatabase.UsePreprocessor); - Assert.IsNull(hydraulicBoundaryDatabase.PreprocessorDirectory); - } - - [Test] - public void UsePreprocessor_SetValueWithCanUsePreprocessorTrue_ExpectedValueSet() - { - // Setup - bool usePreprocessor = new Random(11).NextBoolean(); - var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(!usePreprocessor, "Preprocessor"); - // Call - hydraulicBoundaryDatabase.UsePreprocessor = usePreprocessor; + hydraulicBoundaryDatabase.PreprocessorDirectory = preprocessorDirectory; // Assert - Assert.AreEqual(usePreprocessor, hydraulicBoundaryDatabase.UsePreprocessor); + Assert.AreEqual(preprocessorDirectory, hydraulicBoundaryDatabase.PreprocessorDirectory); } [Test] - public void UsePreprocessor_SetValueWithCanUsePreprocessorFalse_ThrowsInvalidOperationException() + public void PreprocessorDirectory_SetValidValueWithCanUsePreprocessorFalse_ThrowsInvalidOperationException() { // Setup - bool usePreprocessor = new Random(11).NextBoolean(); var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(); // Call - TestDelegate test = () => hydraulicBoundaryDatabase.UsePreprocessor = usePreprocessor; + TestDelegate test = () => hydraulicBoundaryDatabase.PreprocessorDirectory = "Preprocessor"; // Assert string message = Assert.Throws(test).Message; Assert.AreEqual($"{nameof(HydraulicBoundaryDatabase.CanUsePreprocessor)} is false.", message); } [Test] - public void PreprocessorDirectory_SetValidValueWithCanUsePreprocessorTrue_ExpectedValueSet() + public void GivenDatabaseWithPreprocessorSettings_WhenSettingCanUsePreprocessorFalse_ThenPreprocessorSettingsReset() { - // Setup - const string preprocessorDirectory = "OtherPreprocessor"; - var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(true, "Preprocessor"); + // Given + var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase + { + CanUsePreprocessor = true, + UsePreprocessor = true, + PreprocessorDirectory = "PreprocessorDirectory" + }; - // Call - hydraulicBoundaryDatabase.PreprocessorDirectory = preprocessorDirectory; + // When + hydraulicBoundaryDatabase.CanUsePreprocessor = false; - // Assert - Assert.AreEqual(preprocessorDirectory, hydraulicBoundaryDatabase.PreprocessorDirectory); + // Then + Assert.IsFalse(hydraulicBoundaryDatabase.CanUsePreprocessor); + Assert.IsFalse(hydraulicBoundaryDatabase.UsePreprocessor); + Assert.IsNull(hydraulicBoundaryDatabase.PreprocessorDirectory); } - [Test] - public void PreprocessorDirectory_SetValidValueWithCanUsePreprocessorFalse_ThrowsInvalidOperationException() + [TestCase(true)] + [TestCase(false)] + public void CanUsePreprocessor_Always_ExpectedValuesSet(bool canUsePreprocessor) { // Setup var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(); // Call - TestDelegate test = () => hydraulicBoundaryDatabase.PreprocessorDirectory = "Preprocessor"; + hydraulicBoundaryDatabase.CanUsePreprocessor = canUsePreprocessor; // Assert - string message = Assert.Throws(test).Message; - Assert.AreEqual($"{nameof(HydraulicBoundaryDatabase.CanUsePreprocessor)} is false.", message); + Assert.AreEqual(canUsePreprocessor, hydraulicBoundaryDatabase.CanUsePreprocessor); + Assert.IsFalse(hydraulicBoundaryDatabase.UsePreprocessor); + Assert.IsNull(hydraulicBoundaryDatabase.PreprocessorDirectory); } [TestCase(null)] @@ -164,7 +151,10 @@ public void PreprocessorDirectory_SetInvalidValueWithCanUsePreprocessorTrue_ThrowsArgumentException(string preprocessorDirectory) { // Setup - var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(true, "Preprocessor"); + var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase + { + CanUsePreprocessor = true + }; // Call TestDelegate test = () => hydraulicBoundaryDatabase.PreprocessorDirectory = preprocessorDirectory; Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/Structures/StructuresCalculationServiceBaseTest.cs =================================================================== diff -u -r0ce2329213d6984c6992ec20319265546692a0b4 -rfe55aedc4ccec24ea5827ecf23a965d2a2cb1ed8 --- Ringtoets/Common/test/Ringtoets.Common.Service.Test/Structures/StructuresCalculationServiceBaseTest.cs (.../StructuresCalculationServiceBaseTest.cs) (revision 0ce2329213d6984c6992ec20319265546692a0b4) +++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/Structures/StructuresCalculationServiceBaseTest.cs (.../StructuresCalculationServiceBaseTest.cs) (revision fe55aedc4ccec24ea5827ecf23a965d2a2cb1ed8) @@ -131,9 +131,12 @@ IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStubWithoutBoundaryDatabase(new TestFailureMechanism(), mocks); mocks.ReplayAll(); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(true, "NonExistingPreprocessorDirectory") + assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase { - FilePath = validFilePath + FilePath = validFilePath, + CanUsePreprocessor = true, + UsePreprocessor = true, + PreprocessorDirectory = "NonExistingPreprocessorDirectory" }; var calculation = new TestStructuresCalculation(); @@ -357,9 +360,12 @@ var mocks = new MockRepository(); IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStubWithoutBoundaryDatabase( failureMechanism, mocks); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(false, "NonExistingPreprocessorDirectory") + assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase { - FilePath = validFilePath + FilePath = validFilePath, + CanUsePreprocessor = true, + UsePreprocessor = false, + PreprocessorDirectory = "NonExistingPreprocessorDirectory" }; mocks.ReplayAll(); @@ -400,9 +406,12 @@ var mocks = new MockRepository(); IAssessmentSection assessmentSection = AssessmentSectionHelper.CreateAssessmentSectionStubWithoutBoundaryDatabase( failureMechanism, mocks); - assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(true, TestHelper.GetScratchPadPath()) + assessmentSection.HydraulicBoundaryDatabase = new HydraulicBoundaryDatabase { - FilePath = validFilePath + FilePath = validFilePath, + CanUsePreprocessor = true, + UsePreprocessor = true, + PreprocessorDirectory = TestHelper.GetScratchPadPath() }; mocks.ReplayAll();