Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/Handlers/IHydraulicLocationConfigurationDatabaseUpdateHandler.cs =================================================================== diff -u -r115427a54b9613bc94bb2ad873c232e725c48284 -rfd6d7d4c7defad9c9d30ec8f1d418776a1d2062a --- Ringtoets/Integration/src/Ringtoets.Integration.IO/Handlers/IHydraulicLocationConfigurationDatabaseUpdateHandler.cs (.../IHydraulicLocationConfigurationDatabaseUpdateHandler.cs) (revision 115427a54b9613bc94bb2ad873c232e725c48284) +++ Ringtoets/Integration/src/Ringtoets.Integration.IO/Handlers/IHydraulicLocationConfigurationDatabaseUpdateHandler.cs (.../IHydraulicLocationConfigurationDatabaseUpdateHandler.cs) (revision fd6d7d4c7defad9c9d30ec8f1d418776a1d2062a) @@ -43,10 +43,12 @@ /// . /// /// The hydraulic boundary database to update the settings for. - /// The read hydraulic location configuration database settings to update with. + /// The read hydraulic location + /// configuration database settings to update with. /// The file path of the hlcd. /// All objects that have been affected by the update. - /// Thrown when any parameter is null. + /// Thrown when + /// or is null. IEnumerable Update(HydraulicBoundaryDatabase hydraulicBoundaryDatabase, ReadHydraulicLocationConfigurationDatabaseSettings readHydraulicLocationConfigurationDatabaseSettings, string hlcdFilePath); Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Handlers/HydraulicLocationConfigurationDatabaseUpdateHandler.cs =================================================================== diff -u -r6275e3c7c802bfad13c4510f823f48b6034c336b -rfd6d7d4c7defad9c9d30ec8f1d418776a1d2062a --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Handlers/HydraulicLocationConfigurationDatabaseUpdateHandler.cs (.../HydraulicLocationConfigurationDatabaseUpdateHandler.cs) (revision 6275e3c7c802bfad13c4510f823f48b6034c336b) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Handlers/HydraulicLocationConfigurationDatabaseUpdateHandler.cs (.../HydraulicLocationConfigurationDatabaseUpdateHandler.cs) (revision fd6d7d4c7defad9c9d30ec8f1d418776a1d2062a) @@ -26,6 +26,7 @@ using Ringtoets.Common.Data.Hydraulics; using Ringtoets.HydraRing.IO.HydraulicLocationConfigurationDatabase; using Ringtoets.Integration.IO.Handlers; +using Ringtoets.Integration.Plugin.Helpers; using Ringtoets.Integration.Plugin.Properties; using CoreCommonBaseResources = Core.Common.Base.Properties.Resources; @@ -53,17 +54,16 @@ throw new ArgumentNullException(nameof(hydraulicBoundaryDatabase)); } - if (readHydraulicLocationConfigurationDatabaseSettings == null) - { - throw new ArgumentNullException(nameof(readHydraulicLocationConfigurationDatabaseSettings)); - } - if (hlcdFilePath == null) { throw new ArgumentNullException(nameof(hlcdFilePath)); } - throw new NotImplementedException(); + HydraulicLocationConfigurationSettingsUpdateHelper.SetHydraulicLocationConfigurationSettings( + hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings, + readHydraulicLocationConfigurationDatabaseSettings, hlcdFilePath); + + return null; } } } \ No newline at end of file Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Handlers/HydraulicLocationConfigurationDatabaseUpdateHandlerTest.cs =================================================================== diff -u -r6275e3c7c802bfad13c4510f823f48b6034c336b -rfd6d7d4c7defad9c9d30ec8f1d418776a1d2062a --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Handlers/HydraulicLocationConfigurationDatabaseUpdateHandlerTest.cs (.../HydraulicLocationConfigurationDatabaseUpdateHandlerTest.cs) (revision 6275e3c7c802bfad13c4510f823f48b6034c336b) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Handlers/HydraulicLocationConfigurationDatabaseUpdateHandlerTest.cs (.../HydraulicLocationConfigurationDatabaseUpdateHandlerTest.cs) (revision fd6d7d4c7defad9c9d30ec8f1d418776a1d2062a) @@ -23,6 +23,7 @@ using NUnit.Extensions.Forms; using NUnit.Framework; using Ringtoets.Common.Data.Hydraulics; +using Ringtoets.HydraRing.IO.HydraulicLocationConfigurationDatabase; using Ringtoets.HydraRing.IO.TestUtil; using Ringtoets.Integration.IO.Handlers; using Ringtoets.Integration.Plugin.Handlers; @@ -95,31 +96,68 @@ } [Test] - public void Update_ReadHydraulicLocationConfigurationDatabaseSettingsNull_ThrowsArgumentNullException() + public void Update_HlcdFilePathNull_ThrowsArgumentNullException() { // Setup var handler = new HydraulicLocationConfigurationDatabaseUpdateHandler(); // Call - TestDelegate call = () => handler.Update(new HydraulicBoundaryDatabase(), null, ""); + TestDelegate call = () => handler.Update(new HydraulicBoundaryDatabase(), ReadHydraulicLocationConfigurationDatabaseSettingsTestFactory.Create(), null); // Assert var exception = Assert.Throws(call); - Assert.AreEqual("readHydraulicLocationConfigurationDatabaseSettings", exception.ParamName); + Assert.AreEqual("hlcdFilePath", exception.ParamName); } [Test] - public void Update_HlcdFilePathNull_ThrowsArgumentNullException() + public void Update_ReadHydraulicLocationConfigurationDatabaseSettingsNull_SetsDefaultValues() { // Setup + const string hlcdFilePath = "some/file/path"; var handler = new HydraulicLocationConfigurationDatabaseUpdateHandler(); + var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(); + + // Call + handler.Update(hydraulicBoundaryDatabase, null, hlcdFilePath); + // Assert + HydraulicLocationConfigurationSettings settings = hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings; + Assert.AreEqual(hlcdFilePath, settings.FilePath); + Assert.AreEqual("WBI2017", settings.ScenarioName); + Assert.AreEqual(2023, settings.Year); + Assert.AreEqual("WBI2017", settings.Scope); + Assert.AreEqual("Conform WBI2017", settings.SeaLevel); + Assert.AreEqual("Conform WBI2017", settings.RiverDischarge); + Assert.AreEqual("Conform WBI2017", settings.LakeLevel); + Assert.AreEqual("Conform WBI2017", settings.WindDirection); + Assert.AreEqual("Conform WBI2017", settings.WindSpeed); + Assert.AreEqual("Gegenereerd door Ringtoets (conform WBI2017)", settings.Comment); + } + + [Test] + public void Update_WithReadHydraulicLocationConfigurationDatabaseSettings_SetsExpectedValues() + { + // Setup + const string hlcdFilePath = "some/file/path"; + var handler = new HydraulicLocationConfigurationDatabaseUpdateHandler(); + var hydraulicBoundaryDatabase = new HydraulicBoundaryDatabase(); + ReadHydraulicLocationConfigurationDatabaseSettings readSettings = ReadHydraulicLocationConfigurationDatabaseSettingsTestFactory.Create(); + // Call - TestDelegate call = () => handler.Update(new HydraulicBoundaryDatabase(), ReadHydraulicLocationConfigurationDatabaseSettingsTestFactory.Create(), null); + handler.Update(hydraulicBoundaryDatabase, readSettings, hlcdFilePath); // Assert - var exception = Assert.Throws(call); - Assert.AreEqual("hlcdFilePath", exception.ParamName); + 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(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); } } } \ No newline at end of file