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