Index: Riskeer/Common/test/Riskeer.Common.Data.Test/Hydraulics/HydraulicBoundaryDatabaseTest.cs =================================================================== diff -u -rc4311504aa83ba59c5a7e80c0e9bc26650986c05 -r698294f12dad04571ca2e8bd46cd0f683a943a77 --- Riskeer/Common/test/Riskeer.Common.Data.Test/Hydraulics/HydraulicBoundaryDatabaseTest.cs (.../HydraulicBoundaryDatabaseTest.cs) (revision c4311504aa83ba59c5a7e80c0e9bc26650986c05) +++ Riskeer/Common/test/Riskeer.Common.Data.Test/Hydraulics/HydraulicBoundaryDatabaseTest.cs (.../HydraulicBoundaryDatabaseTest.cs) (revision 698294f12dad04571ca2e8bd46cd0f683a943a77) @@ -42,127 +42,6 @@ Assert.IsNull(hydraulicBoundaryDatabase.Version); Assert.IsNotNull(hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings); CollectionAssert.IsEmpty(hydraulicBoundaryDatabase.Locations); - 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 - { - CanUsePreprocessor = true - }; - - // Call - hydraulicBoundaryDatabase.UsePreprocessor = usePreprocessor; - - // Assert - Assert.AreEqual(usePreprocessor, hydraulicBoundaryDatabase.UsePreprocessor); - } - - [Test] - public void UsePreprocessor_SetValueWithCanUsePreprocessorFalse_ThrowsInvalidOperationException() - { - // Setup - bool usePreprocessor = new Random(11).NextBoolean(); - var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(); - - // Call - TestDelegate test = () => hydraulicBoundaryDatabase.UsePreprocessor = usePreprocessor; - - // Assert - string message = Assert.Throws(test).Message; - Assert.AreEqual($"{nameof(HydraulicBoundaryDatabase.CanUsePreprocessor)} is false.", message); - } - - [Test] - public void PreprocessorDirectory_SetValidValueWithCanUsePreprocessorTrue_ExpectedValueSet() - { - // Setup - const string preprocessorDirectory = "OtherPreprocessor"; - var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase - { - CanUsePreprocessor = true - }; - - // Call - hydraulicBoundaryDatabase.PreprocessorDirectory = preprocessorDirectory; - - // Assert - Assert.AreEqual(preprocessorDirectory, hydraulicBoundaryDatabase.PreprocessorDirectory); - } - - [Test] - public void PreprocessorDirectory_SetValidValueWithCanUsePreprocessorFalse_ThrowsInvalidOperationException() - { - // Setup - var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(); - - // Call - TestDelegate test = () => hydraulicBoundaryDatabase.PreprocessorDirectory = "Preprocessor"; - - // Assert - string message = Assert.Throws(test).Message; - Assert.AreEqual($"{nameof(HydraulicBoundaryDatabase.CanUsePreprocessor)} is false.", message); - } - - [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); - } - - [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); - } - - [TestCase(null)] - [TestCase("")] - [TestCase(" ")] - public void PreprocessorDirectory_SetInvalidValueWithCanUsePreprocessorTrue_ThrowsArgumentException(string preprocessorDirectory) - { - // Setup - var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase - { - CanUsePreprocessor = true - }; - - // Call - TestDelegate test = () => hydraulicBoundaryDatabase.PreprocessorDirectory = preprocessorDirectory; - - // Assert - string message = Assert.Throws(test).Message; - Assert.AreEqual("De bestandsmap waar de preprocessor bestanden opslaat moet een waarde hebben.", message); - } } } \ No newline at end of file Index: Riskeer/Common/test/Riskeer.Common.Data.Test/Hydraulics/HydraulicLocationConfigurationSettingsTest.cs =================================================================== diff -u -r56523c0a7ce1c083093e745596681050ac23d18d -r698294f12dad04571ca2e8bd46cd0f683a943a77 --- Riskeer/Common/test/Riskeer.Common.Data.Test/Hydraulics/HydraulicLocationConfigurationSettingsTest.cs (.../HydraulicLocationConfigurationSettingsTest.cs) (revision 56523c0a7ce1c083093e745596681050ac23d18d) +++ Riskeer/Common/test/Riskeer.Common.Data.Test/Hydraulics/HydraulicLocationConfigurationSettingsTest.cs (.../HydraulicLocationConfigurationSettingsTest.cs) (revision 698294f12dad04571ca2e8bd46cd0f683a943a77) @@ -47,11 +47,132 @@ Assert.IsNull(settings.WindSpeed); Assert.IsNull(settings.Comment); Assert.IsFalse(settings.UsePreprocessorClosure); + Assert.IsFalse(settings.CanUsePreprocessor); + Assert.IsFalse(settings.UsePreprocessor); + Assert.IsNull(settings.PreprocessorDirectory); } [Test] + public void UsePreprocessor_SetValueWithCanUsePreprocessorTrue_ExpectedValueSet() + { + // Setup + bool usePreprocessor = new Random(11).NextBoolean(); + var settings = new HydraulicLocationConfigurationSettings + { + CanUsePreprocessor = true + }; + + // Call + settings.UsePreprocessor = usePreprocessor; + + // Assert + Assert.AreEqual(usePreprocessor, settings.UsePreprocessor); + } + + [Test] + public void UsePreprocessor_SetValueWithCanUsePreprocessorFalse_ThrowsInvalidOperationException() + { + // Setup + bool usePreprocessor = new Random(11).NextBoolean(); + var settings = new HydraulicLocationConfigurationSettings(); + + // Call + TestDelegate test = () => settings.UsePreprocessor = usePreprocessor; + + // Assert + string message = Assert.Throws(test).Message; + Assert.AreEqual($"{nameof(HydraulicLocationConfigurationSettings.CanUsePreprocessor)} is false.", message); + } + + [Test] + public void PreprocessorDirectory_SetValidValueWithCanUsePreprocessorTrue_ExpectedValueSet() + { + // Setup + const string preprocessorDirectory = "OtherPreprocessor"; + var settings = new HydraulicLocationConfigurationSettings + { + CanUsePreprocessor = true + }; + + // Call + settings.PreprocessorDirectory = preprocessorDirectory; + + // Assert + Assert.AreEqual(preprocessorDirectory, settings.PreprocessorDirectory); + } + + [Test] + public void PreprocessorDirectory_SetValidValueWithCanUsePreprocessorFalse_ThrowsInvalidOperationException() + { + // Setup + var settings = new HydraulicLocationConfigurationSettings(); + + // Call + TestDelegate test = () => settings.PreprocessorDirectory = "Preprocessor"; + + // Assert + string message = Assert.Throws(test).Message; + Assert.AreEqual($"{nameof(HydraulicLocationConfigurationSettings.CanUsePreprocessor)} is false.", message); + } + + [Test] + public void GivenSettingsWithPreprocessorSettings_WhenSettingCanUsePreprocessorFalse_ThenPreprocessorSettingsReset() + { + // Given + var settings = new HydraulicLocationConfigurationSettings + { + CanUsePreprocessor = true, + UsePreprocessor = true, + PreprocessorDirectory = "PreprocessorDirectory" + }; + + // When + settings.CanUsePreprocessor = false; + + // Then + Assert.IsFalse(settings.CanUsePreprocessor); + Assert.IsFalse(settings.UsePreprocessor); + Assert.IsNull(settings.PreprocessorDirectory); + } + + [TestCase(true)] + [TestCase(false)] + public void CanUsePreprocessor_Always_ExpectedValuesSet(bool canUsePreprocessor) + { + // Setup + var settings = new HydraulicLocationConfigurationSettings(); + + // Call + settings.CanUsePreprocessor = canUsePreprocessor; + + // Assert + Assert.AreEqual(canUsePreprocessor, settings.CanUsePreprocessor); + Assert.IsFalse(settings.UsePreprocessor); + Assert.IsNull(settings.PreprocessorDirectory); + } + [TestCase(null)] [TestCase("")] + [TestCase(" ")] + public void PreprocessorDirectory_SetInvalidValueWithCanUsePreprocessorTrue_ThrowsArgumentException(string preprocessorDirectory) + { + // Setup + var settings = new HydraulicLocationConfigurationSettings + { + CanUsePreprocessor = true + }; + + // Call + TestDelegate test = () => settings.PreprocessorDirectory = preprocessorDirectory; + + // Assert + string message = Assert.Throws(test).Message; + Assert.AreEqual("De bestandsmap waar de preprocessor bestanden opslaat moet een waarde hebben.", message); + } + + [Test] + [TestCase(null)] + [TestCase("")] [TestCase(" ")] public void SetValues_InvalidFilePathNull_ThrowsArgumentException(string invalidFilePath) {