public void Update_WithReadHydraulicLocationConfigurationDatabaseSettings_SetsExpectedValuesAndDoesNotLog()
        {
            // Setup
            const string hlcdFilePath = "some/file/path";
            var          handler      = new HydraulicLocationConfigurationDatabaseUpdateHandler(CreateAssessmentSection());
            var          hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase();
            ReadHydraulicLocationConfigurationDatabaseSettings readSettings = ReadHydraulicLocationConfigurationDatabaseSettingsTestFactory.Create();
            bool usePreprocessorClosure = new Random(21).NextBoolean();

            // Call
            void Call() => handler.Update(hydraulicBoundaryDatabase, readSettings, usePreprocessorClosure, hlcdFilePath);

            // Assert
            TestHelper.AssertLogMessagesCount(Call, 0);

            HydraulicLocationConfigurationSettings settings = hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings;

            Assert.AreEqual(hlcdFilePath, settings.FilePath);
            Assert.AreEqual(readSettings.ScenarioName, settings.ScenarioName);
            Assert.AreEqual(readSettings.Year, settings.Year);
            Assert.AreEqual(readSettings.Scope, settings.Scope);
            Assert.AreEqual(usePreprocessorClosure, settings.UsePreprocessorClosure);
            Assert.AreEqual(readSettings.SeaLevel, settings.SeaLevel);
            Assert.AreEqual(readSettings.RiverDischarge, settings.RiverDischarge);
            Assert.AreEqual(readSettings.LakeLevel, settings.LakeLevel);
            Assert.AreEqual(readSettings.WindDirection, settings.WindDirection);
            Assert.AreEqual(readSettings.WindSpeed, settings.WindSpeed);
            Assert.AreEqual(readSettings.Comment, settings.Comment);
        }
        public void Constructor_WithArgumentValues_ExpectedValues()
        {
            // Setup
            var          random         = new Random(21);
            const string scenarioName   = "ScenarioName";
            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";

            // Call
            var settings = new ReadHydraulicLocationConfigurationDatabaseSettings(scenarioName, year, scope,
                                                                                  seaLevel, riverDischarge, lakeLevel,
                                                                                  windDirection, windSpeed, comment);

            // Assert
            Assert.AreEqual(scenarioName, settings.ScenarioName);
            Assert.AreEqual(year, settings.Year);
            Assert.AreEqual(scope, settings.Scope);
            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);
        }
Example #3
0
        public IEnumerable <IObservable> Update(HydraulicBoundaryDatabase hydraulicBoundaryDatabase,
                                                ReadHydraulicLocationConfigurationDatabaseSettings readHydraulicLocationConfigurationDatabaseSettings,
                                                bool usePreprocessorClosure,
                                                string hlcdFilePath)
        {
            if (hydraulicBoundaryDatabase == null)
            {
                throw new ArgumentNullException(nameof(hydraulicBoundaryDatabase));
            }

            if (hlcdFilePath == null)
            {
                throw new ArgumentNullException(nameof(hlcdFilePath));
            }

            HydraulicLocationConfigurationSettingsUpdateHelper.SetHydraulicLocationConfigurationSettings(
                hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings,
                readHydraulicLocationConfigurationDatabaseSettings, usePreprocessorClosure, hlcdFilePath);

            var changedObjects = new List <IObservable>
            {
                hydraulicBoundaryDatabase
            };

            changedObjects.AddRange(RiskeerDataSynchronizationService.ClearHydraulicBoundaryLocationCalculationOutput(assessmentSection));
            changedObjects.AddRange(RiskeerDataSynchronizationService.ClearFailureMechanismCalculationOutputs(assessmentSection));

            return(changedObjects);
        }
        public void SetHydraulicLocationConfigurationSettings_ReadHydraulicLocationConfigurationDatabaseSettingsNotNull_SetExpectedValuesAndDoesNotLog()
        {
            // Setup
            const string filePath = "some/file/path";
            var          settings = new HydraulicLocationConfigurationSettings();
            ReadHydraulicLocationConfigurationDatabaseSettings readSettings = ReadHydraulicLocationConfigurationDatabaseSettingsTestFactory.Create();
            bool usePreprocessorClosure = new Random(21).NextBoolean();

            // Call
            Action call = () => HydraulicLocationConfigurationSettingsUpdateHelper.SetHydraulicLocationConfigurationSettings(
                settings, readSettings, usePreprocessorClosure, filePath);

            // Assert
            TestHelper.AssertLogMessagesCount(call, 0);

            Assert.AreEqual(filePath, settings.FilePath);
            Assert.AreEqual(readSettings.ScenarioName, settings.ScenarioName);
            Assert.AreEqual(readSettings.Year, settings.Year);
            Assert.AreEqual(readSettings.Scope, settings.Scope);
            Assert.AreEqual(usePreprocessorClosure, settings.UsePreprocessorClosure);
            Assert.AreEqual(readSettings.SeaLevel, settings.SeaLevel);
            Assert.AreEqual(readSettings.RiverDischarge, settings.RiverDischarge);
            Assert.AreEqual(readSettings.LakeLevel, settings.LakeLevel);
            Assert.AreEqual(readSettings.WindDirection, settings.WindDirection);
            Assert.AreEqual(readSettings.WindSpeed, settings.WindSpeed);
            Assert.AreEqual(readSettings.Comment, settings.Comment);
        }
Example #5
0
        /// <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 Constructor_WithArgumentsNull_ExpectedValues()
        {
            // Setup
            var random = new Random(21);
            int year   = random.Next();

            // Call
            var settings = new ReadHydraulicLocationConfigurationDatabaseSettings(null, year, null, null, null,
                                                                                  null, null, null, null);

            // Assert
            Assert.IsNull(settings.ScenarioName);
            Assert.AreEqual(year, settings.Year);
            Assert.IsNull(settings.Scope);
            Assert.IsNull(settings.SeaLevel);
            Assert.IsNull(settings.RiverDischarge);
            Assert.IsNull(settings.LakeLevel);
            Assert.IsNull(settings.WindDirection);
            Assert.IsNull(settings.WindSpeed);
            Assert.IsNull(settings.Comment);
        }
 private void AddHydraulicLocationConfigurationSettingsToDataModel(ReadHydraulicLocationConfigurationDatabaseSettings readHydraulicLocationConfigurationDatabaseSettings,
                                                                   bool usePrepocessorClosure)
 {
     NotifyProgress(RiskeerCommonIOResources.Importer_ProgressText_Adding_imported_data_to_AssessmentSection, 3, numberOfSteps);
     changedObservables.AddRange(updateHandler.Update(hydraulicBoundaryDatabase, readHydraulicLocationConfigurationDatabaseSettings, usePrepocessorClosure, FilePath));
 }