Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.IO.TestUtil.Test/ReadHydraulicLocationConfigurationDatabaseSettingsTestFactoryTest.cs =================================================================== diff -u --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.IO.TestUtil.Test/ReadHydraulicLocationConfigurationDatabaseSettingsTestFactoryTest.cs (revision 0) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.IO.TestUtil.Test/ReadHydraulicLocationConfigurationDatabaseSettingsTestFactoryTest.cs (revision 82bd67cbda97ba7d3752b92b7e642135eba30601) @@ -0,0 +1,48 @@ +// Copyright (C) Stichting Deltares 2018. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using NUnit.Framework; +using Ringtoets.HydraRing.IO.HydraulicLocationConfigurationDatabase; + +namespace Ringtoets.HydraRing.IO.TestUtil.Test +{ + [TestFixture] + public class ReadHydraulicLocationConfigurationDatabaseSettingsTestFactoryTest + { + [Test] + public void Create_Always_ExpectedValues() + { + // Call + ReadHydraulicLocationConfigurationDatabaseSettings settings = ReadHydraulicLocationConfigurationDatabaseSettingsTestFactory.Create(); + + // Assert + Assert.AreEqual("scenarioName", settings.ScenarioName); + Assert.AreEqual(1337, 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); + } + } +} \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.IO.TestUtil.Test/ReadHydraulicLocationConfigurationDatabaseTestFactoryTest.cs =================================================================== diff -u -r8446587099fe2aa21ab7d83ee8876c7c07f410e0 -r82bd67cbda97ba7d3752b92b7e642135eba30601 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.IO.TestUtil.Test/ReadHydraulicLocationConfigurationDatabaseTestFactoryTest.cs (.../ReadHydraulicLocationConfigurationDatabaseTestFactoryTest.cs) (revision 8446587099fe2aa21ab7d83ee8876c7c07f410e0) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.IO.TestUtil.Test/ReadHydraulicLocationConfigurationDatabaseTestFactoryTest.cs (.../ReadHydraulicLocationConfigurationDatabaseTestFactoryTest.cs) (revision 82bd67cbda97ba7d3752b92b7e642135eba30601) @@ -19,6 +19,7 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System.Collections.Generic; using System.Linq; using NUnit.Framework; using Ringtoets.HydraRing.IO.HydraulicLocationConfigurationDatabase; @@ -75,10 +76,10 @@ } [Test] - public void CreateWithScenarioInformation_ExpectedValues() + public void CreateWithConfigurationSettings_ExpectedValues() { // Call - ReadHydraulicLocationConfigurationDatabase database = ReadHydraulicLocationConfigurationDatabaseTestFactory.CreateWithScenarioInformation(); + ReadHydraulicLocationConfigurationDatabase database = ReadHydraulicLocationConfigurationDatabaseTestFactory.CreateWithConfigurationSettings(); // Assert var i = 1; @@ -100,5 +101,26 @@ Assert.AreEqual("windSpeed", setting.WindSpeed); Assert.AreEqual("comment", setting.Comment); } + + [Test] + public void CreateWithConfigurationSettings_WithReadHydraulicLocationConfigurationDatabaseSettings_ExpectedValues() + { + // Setup + IEnumerable settings = Enumerable.Empty(); + + // Call + ReadHydraulicLocationConfigurationDatabase database = ReadHydraulicLocationConfigurationDatabaseTestFactory.CreateWithConfigurationSettings(settings); + + // Assert + var i = 1; + foreach (ReadHydraulicLocationMapping databaseLocationIdMapping in database.LocationIdMappings) + { + Assert.AreEqual(i, databaseLocationIdMapping.HrdLocationId); + Assert.AreEqual(i + 100, databaseLocationIdMapping.HlcdLocationId); + i++; + } + + Assert.AreSame(settings, database.ReadHydraulicLocationConfigurationDatabaseSettings); + } } } \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.IO.TestUtil.Test/Ringtoets.HydraRing.IO.TestUtil.Test.csproj =================================================================== diff -u -r135c16064b9b0569244d2b57d4ddd89a1f484ef6 -r82bd67cbda97ba7d3752b92b7e642135eba30601 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.IO.TestUtil.Test/Ringtoets.HydraRing.IO.TestUtil.Test.csproj (.../Ringtoets.HydraRing.IO.TestUtil.Test.csproj) (revision 135c16064b9b0569244d2b57d4ddd89a1f484ef6) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.IO.TestUtil.Test/Ringtoets.HydraRing.IO.TestUtil.Test.csproj (.../Ringtoets.HydraRing.IO.TestUtil.Test.csproj) (revision 82bd67cbda97ba7d3752b92b7e642135eba30601) @@ -16,6 +16,7 @@ + Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.IO.TestUtil/ReadHydraulicLocationConfigurationDatabaseSettingsTestFactory.cs =================================================================== diff -u --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.IO.TestUtil/ReadHydraulicLocationConfigurationDatabaseSettingsTestFactory.cs (revision 0) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.IO.TestUtil/ReadHydraulicLocationConfigurationDatabaseSettingsTestFactory.cs (revision 82bd67cbda97ba7d3752b92b7e642135eba30601) @@ -0,0 +1,43 @@ +// Copyright (C) Stichting Deltares 2018. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using Ringtoets.HydraRing.IO.HydraulicLocationConfigurationDatabase; + +namespace Ringtoets.HydraRing.IO.TestUtil +{ + /// + /// Factory that creates simple instances + /// that can be used for testing. + /// + public static class ReadHydraulicLocationConfigurationDatabaseSettingsTestFactory + { + /// + /// Creates a . + /// + /// The created . + public static ReadHydraulicLocationConfigurationDatabaseSettings Create() + { + return new ReadHydraulicLocationConfigurationDatabaseSettings("scenarioName", 1337, "scope", "seaLevel", + "riverDischarge", "lakeLevel", "windDirection", + "windSpeed", "comment"); + } + } +} \ No newline at end of file Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.IO.TestUtil/ReadHydraulicLocationConfigurationDatabaseTestFactory.cs =================================================================== diff -u -r8446587099fe2aa21ab7d83ee8876c7c07f410e0 -r82bd67cbda97ba7d3752b92b7e642135eba30601 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.IO.TestUtil/ReadHydraulicLocationConfigurationDatabaseTestFactory.cs (.../ReadHydraulicLocationConfigurationDatabaseTestFactory.cs) (revision 8446587099fe2aa21ab7d83ee8876c7c07f410e0) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.IO.TestUtil/ReadHydraulicLocationConfigurationDatabaseTestFactory.cs (.../ReadHydraulicLocationConfigurationDatabaseTestFactory.cs) (revision 82bd67cbda97ba7d3752b92b7e642135eba30601) @@ -56,16 +56,14 @@ /// /// Create a valid instance of - /// with scenario information. + /// with hydraulic location configuration database settings. /// - /// The created with scenario information. - public static ReadHydraulicLocationConfigurationDatabase CreateWithScenarioInformation() + /// The created with hydraulic location configuration database settings. + public static ReadHydraulicLocationConfigurationDatabase CreateWithConfigurationSettings() { - var settings = new[] + ReadHydraulicLocationConfigurationDatabaseSettings[] settings = { - new ReadHydraulicLocationConfigurationDatabaseSettings("scenarioName", 1337, "scope", "seaLevel", - "riverDischarge", "lakeLevel", "windDirection", - "windSpeed", "comment") + ReadHydraulicLocationConfigurationDatabaseSettingsTestFactory.Create() }; return Create(new long[] @@ -75,6 +73,21 @@ }, settings); } + /// + /// Create a valid instance of + /// with hydraulic location configuration database settings. + /// + /// The to set. + /// The created with hydraulic location configuration database settings. + public static ReadHydraulicLocationConfigurationDatabase CreateWithConfigurationSettings(IEnumerable settings) + { + return Create(new long[] + { + 1, + 2 + }, settings); + } + private static ReadHydraulicLocationConfigurationDatabase Create(IEnumerable locationIds, IEnumerable settings) { Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.IO.TestUtil/Ringtoets.HydraRing.IO.TestUtil.csproj =================================================================== diff -u -r135c16064b9b0569244d2b57d4ddd89a1f484ef6 -r82bd67cbda97ba7d3752b92b7e642135eba30601 --- Ringtoets/HydraRing/test/Ringtoets.HydraRing.IO.TestUtil/Ringtoets.HydraRing.IO.TestUtil.csproj (.../Ringtoets.HydraRing.IO.TestUtil.csproj) (revision 135c16064b9b0569244d2b57d4ddd89a1f484ef6) +++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.IO.TestUtil/Ringtoets.HydraRing.IO.TestUtil.csproj (.../Ringtoets.HydraRing.IO.TestUtil.csproj) (revision 82bd67cbda97ba7d3752b92b7e642135eba30601) @@ -13,6 +13,7 @@ + Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/Handlers/IHydraulicBoundaryDatabaseUpdateHandler.cs =================================================================== diff -u -r766af62ddd221ff9c76148793acab71fd3a89503 -r82bd67cbda97ba7d3752b92b7e642135eba30601 --- Ringtoets/Integration/src/Ringtoets.Integration.IO/Handlers/IHydraulicBoundaryDatabaseUpdateHandler.cs (.../IHydraulicBoundaryDatabaseUpdateHandler.cs) (revision 766af62ddd221ff9c76148793acab71fd3a89503) +++ Ringtoets/Integration/src/Ringtoets.Integration.IO/Handlers/IHydraulicBoundaryDatabaseUpdateHandler.cs (.../IHydraulicBoundaryDatabaseUpdateHandler.cs) (revision 82bd67cbda97ba7d3752b92b7e642135eba30601) @@ -60,6 +60,8 @@ /// The file path of the hlcd. /// All objects that have been affected by the update. /// Thrown when any parameter is null. + /// Thrown when the + /// cannot be updated with . IEnumerable Update(HydraulicBoundaryDatabase hydraulicBoundaryDatabase, ReadHydraulicBoundaryDatabase readHydraulicBoundaryDatabase, ReadHydraulicLocationConfigurationDatabase readHydraulicLocationConfigurationDatabase, Index: Ringtoets/Integration/src/Ringtoets.Integration.IO/Importers/HydraulicBoundaryDatabaseImporter.cs =================================================================== diff -u -r24396275ce37cc1519c2df4d41e390bd8d0103bb -r82bd67cbda97ba7d3752b92b7e642135eba30601 --- Ringtoets/Integration/src/Ringtoets.Integration.IO/Importers/HydraulicBoundaryDatabaseImporter.cs (.../HydraulicBoundaryDatabaseImporter.cs) (revision 24396275ce37cc1519c2df4d41e390bd8d0103bb) +++ Ringtoets/Integration/src/Ringtoets.Integration.IO/Importers/HydraulicBoundaryDatabaseImporter.cs (.../HydraulicBoundaryDatabaseImporter.cs) (revision 82bd67cbda97ba7d3752b92b7e642135eba30601) @@ -141,12 +141,8 @@ private static bool IsValidReadHydraulicLocationConfigurationDatabase(ReadHydraulicLocationConfigurationDatabase readHydraulicLocationConfigurationDatabase) { - if (readHydraulicLocationConfigurationDatabase.ReadHydraulicLocationConfigurationDatabaseSettings != null) - { - return readHydraulicLocationConfigurationDatabase.ReadHydraulicLocationConfigurationDatabaseSettings.Count() == 1; - } - - return true; + return readHydraulicLocationConfigurationDatabase.ReadHydraulicLocationConfigurationDatabaseSettings == null + || readHydraulicLocationConfigurationDatabase.ReadHydraulicLocationConfigurationDatabaseSettings.Count() == 1; } private ReadResult ReadHydraulicBoundaryDatabase() Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Handlers/HydraulicBoundaryDatabaseUpdateHandler.cs =================================================================== diff -u -r24396275ce37cc1519c2df4d41e390bd8d0103bb -r82bd67cbda97ba7d3752b92b7e642135eba30601 --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Handlers/HydraulicBoundaryDatabaseUpdateHandler.cs (.../HydraulicBoundaryDatabaseUpdateHandler.cs) (revision 24396275ce37cc1519c2df4d41e390bd8d0103bb) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Handlers/HydraulicBoundaryDatabaseUpdateHandler.cs (.../HydraulicBoundaryDatabaseUpdateHandler.cs) (revision 82bd67cbda97ba7d3752b92b7e642135eba30601) @@ -41,6 +41,8 @@ /// public class HydraulicBoundaryDatabaseUpdateHandler : IHydraulicBoundaryDatabaseUpdateHandler { + private const string mandatoryConfigurationPropertyDefaultValue = "WBI2017"; + private const string optionalConfigurationPropertyDefaultValue = "Conform WBI2017"; private readonly AssessmentSection assessmentSection; private readonly IDuneLocationsReplacementHandler duneLocationsReplacementHandler; private bool updateLocations; @@ -125,6 +127,13 @@ throw new ArgumentNullException(nameof(hlcdFilePath)); } + if (!IsValidReadHydraulicLocationConfigurationDatabase(readHydraulicLocationConfigurationDatabase)) + { + string errorMessage = $"{nameof(readHydraulicLocationConfigurationDatabase)} must be null or contain exactly one item for " + + "the collection of hydraulic location configuration database settings."; + throw new ArgumentException(errorMessage); + } + var changedObjects = new List(); updateLocations = !hydraulicBoundaryDatabase.IsLinked() || hydraulicBoundaryDatabase.Version != readHydraulicBoundaryDatabase.Version; @@ -156,7 +165,7 @@ } SetHydraulicLocationConfigurationSettings(hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings, - readHydraulicLocationConfigurationDatabase, + readHydraulicLocationConfigurationDatabase, hlcdFilePath); return changedObjects; @@ -170,6 +179,12 @@ } } + private static bool IsValidReadHydraulicLocationConfigurationDatabase(ReadHydraulicLocationConfigurationDatabase readHydraulicLocationConfigurationDatabase) + { + return readHydraulicLocationConfigurationDatabase.ReadHydraulicLocationConfigurationDatabaseSettings == null + || readHydraulicLocationConfigurationDatabase.ReadHydraulicLocationConfigurationDatabaseSettings.Count() == 1; + } + private static void SetHydraulicLocationConfigurationSettings(HydraulicLocationConfigurationSettings hydraulicLocationConfigurationSettings, ReadHydraulicLocationConfigurationDatabase readHydraulicLocationConfigurationDatabase, string hlcdFilePath) @@ -193,15 +208,15 @@ else { hydraulicLocationConfigurationSettings.SetValues(hlcdFilePath, - Resources.HydraulicBoundaryDatabaseUpdateHandler_SetHydraulicLocationConfigurationSettings_default_value_for_mandatory_properties, + mandatoryConfigurationPropertyDefaultValue, 2023, - Resources.HydraulicBoundaryDatabaseUpdateHandler_SetHydraulicLocationConfigurationSettings_default_value_for_mandatory_properties, - Resources.HydraulicBoundaryDatabaseUpdateHandler_SetHydraulicLocationConfigurationSettings_default_value_for_optional_properties, - Resources.HydraulicBoundaryDatabaseUpdateHandler_SetHydraulicLocationConfigurationSettings_default_value_for_optional_properties, - Resources.HydraulicBoundaryDatabaseUpdateHandler_SetHydraulicLocationConfigurationSettings_default_value_for_optional_properties, - Resources.HydraulicBoundaryDatabaseUpdateHandler_SetHydraulicLocationConfigurationSettings_default_value_for_optional_properties, - Resources.HydraulicBoundaryDatabaseUpdateHandler_SetHydraulicLocationConfigurationSettings_default_value_for_optional_properties, - Resources.HydraulicBoundaryDatabaseUpdateHandler_SetHydraulicLocationConfigurationSettings_default_value_for_optional_properties); + mandatoryConfigurationPropertyDefaultValue, + optionalConfigurationPropertyDefaultValue, + optionalConfigurationPropertyDefaultValue, + optionalConfigurationPropertyDefaultValue, + optionalConfigurationPropertyDefaultValue, + optionalConfigurationPropertyDefaultValue, + optionalConfigurationPropertyDefaultValue); } } Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Properties/Resources.Designer.cs =================================================================== diff -u -r236c3b1d3b5cb59db5fb66c79573438c3c01a14e -r82bd67cbda97ba7d3752b92b7e642135eba30601 --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 236c3b1d3b5cb59db5fb66c79573438c3c01a14e) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 82bd67cbda97ba7d3752b92b7e642135eba30601) @@ -352,26 +352,6 @@ } /// - /// Looks up a localized string similar to WBI2017. - /// - public static string HydraulicBoundaryDatabaseUpdateHandler_SetHydraulicLocationConfigurationSettings_default_value_for_mandatory_properties { - get { - return ResourceManager.GetString("HydraulicBoundaryDatabaseUpdateHandler_SetHydraulicLocationConfigurationSettings_" + - "default_value_for_mandatory_properties", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Conform WBI2017. - /// - public static string HydraulicBoundaryDatabaseUpdateHandler_SetHydraulicLocationConfigurationSettings_default_value_for_optional_properties { - get { - return ResourceManager.GetString("HydraulicBoundaryDatabaseUpdateHandler_SetHydraulicLocationConfigurationSettings_" + - "default_value_for_optional_properties", resourceCulture); - } - } - - /// /// Looks up a localized string similar to Na het importeren van een aangepaste ligging van de referentielijn zullen alle geïmporteerde en berekende gegevens van alle toetssporen worden gewist. /// ///Wilt u doorgaan?. Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Properties/Resources.resx =================================================================== diff -u -r236c3b1d3b5cb59db5fb66c79573438c3c01a14e -r82bd67cbda97ba7d3752b92b7e642135eba30601 --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Properties/Resources.resx (.../Resources.resx) (revision 236c3b1d3b5cb59db5fb66c79573438c3c01a14e) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Properties/Resources.resx (.../Resources.resx) (revision 82bd67cbda97ba7d3752b92b7e642135eba30601) @@ -229,10 +229,4 @@ Hydraulische belastingendatabase - - WBI2017 - - - Conform WBI2017 - \ No newline at end of file Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Handlers/HydraulicBoundaryDatabaseUpdateHandlerTest.cs =================================================================== diff -u -r24396275ce37cc1519c2df4d41e390bd8d0103bb -r82bd67cbda97ba7d3752b92b7e642135eba30601 --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Handlers/HydraulicBoundaryDatabaseUpdateHandlerTest.cs (.../HydraulicBoundaryDatabaseUpdateHandlerTest.cs) (revision 24396275ce37cc1519c2df4d41e390bd8d0103bb) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Handlers/HydraulicBoundaryDatabaseUpdateHandlerTest.cs (.../HydraulicBoundaryDatabaseUpdateHandlerTest.cs) (revision 82bd67cbda97ba7d3752b92b7e642135eba30601) @@ -23,6 +23,7 @@ using System.Collections.Generic; using System.Linq; using Core.Common.Base; +using Core.Common.TestUtil; using NUnit.Extensions.Forms; using NUnit.Framework; using Rhino.Mocks; @@ -361,6 +362,28 @@ } [Test] + [TestCaseSource(nameof(GetInvalidReadHydraulicBoundaryDatabaseConfigurations))] + public void Update_ReadHydraulicLocationConfigurationDatabaseHasUnequalToOneSettings_ThrowsArgumentException( + ReadHydraulicLocationConfigurationDatabase configurationDatabase) + { + // Setup + var mocks = new MockRepository(); + var duneLocationsReplacementHandler = mocks.Stub(); + mocks.ReplayAll(); + + var handler = new HydraulicBoundaryDatabaseUpdateHandler(CreateAssessmentSection(), duneLocationsReplacementHandler); + + // Call + TestDelegate call = () => handler.Update(new HydraulicBoundaryDatabase(), ReadHydraulicBoundaryDatabaseTestFactory.Create(), + configurationDatabase, Enumerable.Empty(), "", ""); + + // Assert + const string expectedMessage = "readHydraulicLocationConfigurationDatabase must be null or contain " + + "exactly one item for the collection of hydraulic location configuration database settings."; + TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, expectedMessage); + } + + [Test] public void Update_FilePathAndVersionSame_NothingUpdatesAndReturnsEmptyCollection() { // Setup @@ -651,7 +674,7 @@ var handler = new HydraulicBoundaryDatabaseUpdateHandler(assessmentSection, duneLocationsReplacementHandler); ReadHydraulicLocationConfigurationDatabase readHydraulicLocationConfigurationDatabase = - ReadHydraulicLocationConfigurationDatabaseTestFactory.CreateWithScenarioInformation(); + ReadHydraulicLocationConfigurationDatabaseTestFactory.CreateWithConfigurationSettings(); // Precondition Assert.IsNotNull(readHydraulicLocationConfigurationDatabase.ReadHydraulicLocationConfigurationDatabaseSettings); @@ -702,7 +725,6 @@ // Precondition Assert.IsNull(readHydraulicLocationConfigurationDatabase.ReadHydraulicLocationConfigurationDatabaseSettings); - CollectionAssert.IsEmpty(readHydraulicLocationConfigurationDatabase.ReadHydraulicLocationConfigurationDatabaseSettings); // Call handler.Update(hydraulicBoundaryDatabase, @@ -964,5 +986,19 @@ Assert.AreEqual(readLocation.CoordinateY, actualLocation.Location.Y); } } + + private static IEnumerable GetInvalidReadHydraulicBoundaryDatabaseConfigurations() + { + yield return new TestCaseData(ReadHydraulicLocationConfigurationDatabaseTestFactory.CreateWithConfigurationSettings( + Enumerable.Empty())) + .SetName("ReadHydraulicLocationConfigurationDatabaseSettingsEmpty"); + yield return new TestCaseData(ReadHydraulicLocationConfigurationDatabaseTestFactory.CreateWithConfigurationSettings( + new[] + { + ReadHydraulicLocationConfigurationDatabaseSettingsTestFactory.Create(), + ReadHydraulicLocationConfigurationDatabaseSettingsTestFactory.Create() + })) + .SetName("ReadHydraulicLocationConfigurationDatabaseSettingsMultipleItems"); + } } } \ No newline at end of file