/// <summary> /// Sets the hydraulic location configuration settings. /// </summary> /// <param name="hydraulicLocationConfigurationSettings">The hydraulic location configuration settings to set on.</param> /// <param name="readHydraulicLocationConfigurationDatabaseSettings">The read settings to set.</param> /// <param name="usePreprocessorClosure">Indicator whether to use the preprocessor closure.</param> /// <param name="hlcdFilePath">The hlcd file path.</param> /// <exception cref="ArgumentNullException">Thrown when <paramref name="hydraulicLocationConfigurationSettings"/> /// or <paramref name="hlcdFilePath"/> is <c>null</c>.</exception> public static void SetHydraulicLocationConfigurationSettings(HydraulicLocationConfigurationSettings hydraulicLocationConfigurationSettings, ReadHydraulicLocationConfigurationDatabaseSettings readHydraulicLocationConfigurationDatabaseSettings, bool usePreprocessorClosure, string hlcdFilePath) { if (hydraulicLocationConfigurationSettings == null) { throw new ArgumentNullException(nameof(hydraulicLocationConfigurationSettings)); } if (hlcdFilePath == null) { throw new ArgumentNullException(nameof(hlcdFilePath)); } if (readHydraulicLocationConfigurationDatabaseSettings != null) { hydraulicLocationConfigurationSettings.SetValues( hlcdFilePath, readHydraulicLocationConfigurationDatabaseSettings.ScenarioName, readHydraulicLocationConfigurationDatabaseSettings.Year, readHydraulicLocationConfigurationDatabaseSettings.Scope, usePreprocessorClosure, readHydraulicLocationConfigurationDatabaseSettings.SeaLevel, readHydraulicLocationConfigurationDatabaseSettings.RiverDischarge, readHydraulicLocationConfigurationDatabaseSettings.LakeLevel, readHydraulicLocationConfigurationDatabaseSettings.WindDirection, readHydraulicLocationConfigurationDatabaseSettings.WindSpeed, readHydraulicLocationConfigurationDatabaseSettings.Comment); } else { log.Warn(Resources.HydraulicLocationConfigurationSettingsUpdateHelper_ReadHydraulicLocationConfigurationDatabaseSettings_No_ScenarioInformation_entries_present); hydraulicLocationConfigurationSettings.SetValues( hlcdFilePath, HydraulicLocationConfigurationSettingsConstants.MandatoryConfigurationPropertyDefaultValue, HydraulicLocationConfigurationSettingsConstants.YearDefaultValue, HydraulicLocationConfigurationSettingsConstants.MandatoryConfigurationPropertyDefaultValue, usePreprocessorClosure, HydraulicLocationConfigurationSettingsConstants.OptionalConfigurationPropertyDefaultValue, HydraulicLocationConfigurationSettingsConstants.OptionalConfigurationPropertyDefaultValue, HydraulicLocationConfigurationSettingsConstants.OptionalConfigurationPropertyDefaultValue, HydraulicLocationConfigurationSettingsConstants.OptionalConfigurationPropertyDefaultValue, HydraulicLocationConfigurationSettingsConstants.OptionalConfigurationPropertyDefaultValue, HydraulicLocationConfigurationSettingsConstants.AdditionalInformationConfigurationPropertyValue); } }
public void SetValues_OptionalArgumentsNull_SetsExpectedValues() { // Setup var random = new Random(21); const string filePath = "FilePath"; const string scenarioName = "ScenarioName"; int year = random.Next(); const string scope = "Scope"; bool usePreprocessorClosure = random.NextBoolean(); var settings = new HydraulicLocationConfigurationSettings(); // Call settings.SetValues(filePath, scenarioName, year, scope, usePreprocessorClosure, null, null, null, null, null, null); // Assert Assert.AreEqual(filePath, settings.FilePath); Assert.AreEqual(scenarioName, settings.ScenarioName); Assert.AreEqual(year, settings.Year); Assert.AreEqual(scope, settings.Scope); Assert.AreEqual(usePreprocessorClosure, settings.UsePreprocessorClosure); Assert.IsNull(settings.SeaLevel); Assert.IsNull(settings.RiverDischarge); Assert.IsNull(settings.LakeLevel); Assert.IsNull(settings.WindDirection); Assert.IsNull(settings.WindSpeed); Assert.IsNull(settings.Comment); }
public void SetValues_ScopeNull_ThrowsArgumentNullException() { // Setup var random = new Random(21); const string filePath = "FilePath"; const string scenarioName = "ScenarioName"; int year = random.Next(); const string seaLevel = "SeaLevel"; const string riverDischarge = "RiverDischarge"; const string lakeLevel = "LakeLevel"; const string windDirection = "WindDirection"; const string windSpeed = "WindSpeed"; const string comment = "Comment"; var settings = new HydraulicLocationConfigurationSettings(); // Call TestDelegate call = () => settings.SetValues(filePath, scenarioName, year, null, false, seaLevel, riverDischarge, lakeLevel, windDirection, windSpeed, comment); // Assert var exception = Assert.Throws <ArgumentNullException>(call); Assert.AreEqual("scope", exception.ParamName); }
public void SetValues_InvalidFilePathNull_ThrowsArgumentException(string invalidFilePath) { // Setup var random = new Random(21); const string scenarioName = "FilePath"; int year = random.Next(); const string scope = "Scope"; const string seaLevel = "SeaLevel"; const string riverDischarge = "RiverDischarge"; const string lakeLevel = "LakeLevel"; const string windDirection = "WindDirection"; const string windSpeed = "WindSpeed"; const string comment = "Comment"; var settings = new HydraulicLocationConfigurationSettings(); // Call TestDelegate call = () => settings.SetValues(null, scenarioName, year, scope, false, seaLevel, riverDischarge, lakeLevel, windDirection, windSpeed, comment); // Assert const string expectedMessage = "'filePath' is null, empty or consists of whitespace."; TestHelper.AssertThrowsArgumentExceptionAndTestMessage <ArgumentException>(call, expectedMessage); }
private static void SetHydraulicLocationConfigurationValues(HydraulicLocationConfigurationSettings settings, string hlcdFilePath = "filePath") { const string scenarioName = "ScenarioName"; const int year = 2017; const string scope = "Scope"; const bool usePreprocessorClosure = false; const string seaLevel = "SeaLevel"; const string riverDischarge = "RiverDischarge"; const string lakeLevel = "LakeLevel"; const string windDirection = "WindDirection"; const string windSpeed = "WindSpeed"; const string comment = "Comment"; settings.SetValues(hlcdFilePath, scenarioName, year, scope, usePreprocessorClosure, seaLevel, riverDischarge, lakeLevel, windDirection, windSpeed, comment); }
public void SetValues_WithArguments_SetsExpectedValues() { // Setup var random = new Random(21); const string filePath = "FilePath"; const string scenarioName = "ScenarioName"; int year = random.Next(); const string scope = "Scope"; bool usePreprocessorClosure = random.NextBoolean(); const string seaLevel = "SeaLevel"; const string riverDischarge = "RiverDischarge"; const string lakeLevel = "LakeLevel"; const string windDirection = "WindDirection"; const string windSpeed = "WindSpeed"; const string comment = "Comment"; var settings = new HydraulicLocationConfigurationSettings(); // Call settings.SetValues(filePath, scenarioName, year, scope, usePreprocessorClosure, seaLevel, riverDischarge, lakeLevel, windDirection, windSpeed, comment); // Assert Assert.AreEqual(filePath, settings.FilePath); Assert.AreEqual(scenarioName, settings.ScenarioName); Assert.AreEqual(year, 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); }