Index: Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/AssessmentSectionCreateExtensions.cs =================================================================== diff -u -rcafbeed19a90efec071ebca1c5e372d3804bffdf -r49f69c96ae5f4b3569f2acfd343e517c1c43b140 --- Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/AssessmentSectionCreateExtensions.cs (.../AssessmentSectionCreateExtensions.cs) (revision cafbeed19a90efec071ebca1c5e372d3804bffdf) +++ Ringtoets/Storage/src/Ringtoets.Storage.Core/Create/AssessmentSectionCreateExtensions.cs (.../AssessmentSectionCreateExtensions.cs) (revision 49f69c96ae5f4b3569f2acfd343e517c1c43b140) @@ -121,9 +121,6 @@ { if (hydraulicBoundaryDatabase.IsLinked()) { - entity.HydraulicDatabaseLocation = hydraulicBoundaryDatabase.FilePath.DeepClone(); - entity.HydraulicDatabaseVersion = hydraulicBoundaryDatabase.Version.DeepClone(); - for (var i = 0; i < hydraulicBoundaryDatabase.Locations.Count; i++) { HydraulicBoundaryLocation hydraulicBoundaryLocation = hydraulicBoundaryDatabase.Locations[i]; Index: Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/AssessmentSectionEntityReadExtensions.cs =================================================================== diff -u -r563a64c7f428cdb93ebec3f7f4bde0f7142e5d50 -r49f69c96ae5f4b3569f2acfd343e517c1c43b140 --- Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/AssessmentSectionEntityReadExtensions.cs (.../AssessmentSectionEntityReadExtensions.cs) (revision 563a64c7f428cdb93ebec3f7f4bde0f7142e5d50) +++ Ringtoets/Storage/src/Ringtoets.Storage.Core/Read/AssessmentSectionEntityReadExtensions.cs (.../AssessmentSectionEntityReadExtensions.cs) (revision 49f69c96ae5f4b3569f2acfd343e517c1c43b140) @@ -116,12 +116,10 @@ private static void ReadHydraulicDatabase(this AssessmentSectionEntity entity, AssessmentSection assessmentSection, ReadConversionCollector collector) { - if (entity.HydraulicDatabaseLocation != null) + HydraulicBoundaryDatabaseEntity hydraulicBoundaryDatabaseEntity = entity.HydraulicBoundaryDatabaseEntities.SingleOrDefault(); + if (hydraulicBoundaryDatabaseEntity != null) { HydraulicBoundaryDatabase hydraulicBoundaryDatabase = assessmentSection.HydraulicBoundaryDatabase; - hydraulicBoundaryDatabase.FilePath = entity.HydraulicDatabaseLocation; - hydraulicBoundaryDatabase.Version = entity.HydraulicDatabaseVersion; - HydraulicBoundaryLocation[] readHydraulicBoundaryLocations = entity.HydraulicLocationEntities .OrderBy(hl => hl.Order) .Select(hle => hle.Read(collector)) Index: Ringtoets/Storage/test/Ringtoets.Storage.Core.Test/Create/AssessmentSectionCreateExtensionsTest.cs =================================================================== diff -u -rb572a5651cf26260c36d6f07fa3c146c4ca08273 -r49f69c96ae5f4b3569f2acfd343e517c1c43b140 --- Ringtoets/Storage/test/Ringtoets.Storage.Core.Test/Create/AssessmentSectionCreateExtensionsTest.cs (.../AssessmentSectionCreateExtensionsTest.cs) (revision b572a5651cf26260c36d6f07fa3c146c4ca08273) +++ Ringtoets/Storage/test/Ringtoets.Storage.Core.Test/Create/AssessmentSectionCreateExtensionsTest.cs (.../AssessmentSectionCreateExtensionsTest.cs) (revision 49f69c96ae5f4b3569f2acfd343e517c1c43b140) @@ -193,8 +193,7 @@ AssessmentSectionEntity entity = assessmentSection.Create(registry, 0); // Assert - Assert.IsNull(entity.HydraulicDatabaseLocation); - Assert.IsNull(entity.HydraulicDatabaseVersion); + CollectionAssert.IsEmpty(entity.HydraulicBoundaryDatabaseEntities); CollectionAssert.IsEmpty(entity.HydraulicLocationEntities); AssertHydraulicLocationCalculationCollectionEntities(assessmentSection, entity); @@ -228,10 +227,24 @@ AssessmentSectionEntity entity = assessmentSection.Create(registry, 0); // Assert - TestHelper.AssertAreEqualButNotSame(testFilePath, entity.HydraulicDatabaseLocation); - TestHelper.AssertAreEqualButNotSame(testVersion, entity.HydraulicDatabaseVersion); + HydraulicBoundaryDatabaseEntity hydraulicBoundaryDatabaseEntity = entity.HydraulicBoundaryDatabaseEntities.Single(); - int expectedNrOfHydraulicBoundaryLocations = assessmentSection.HydraulicBoundaryDatabase.Locations.Count; + HydraulicBoundaryDatabase hydraulicBoundaryDatabase = assessmentSection.HydraulicBoundaryDatabase; + Assert.AreEqual(hydraulicBoundaryDatabase.FilePath, hydraulicBoundaryDatabaseEntity.HydraulicBoundaryDatabaseFilePath); + + HydraulicLocationConfigurationSettings settings = hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings; + Assert.AreEqual(hydraulicBoundaryDatabase.Version, hydraulicBoundaryDatabaseEntity.HydraulicBoundaryDatabaseVersion); + Assert.AreEqual(settings.ScenarioName, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsScenarioName); + Assert.AreEqual(settings.Year, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsYear); + Assert.AreEqual(settings.Scope, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsScope); + Assert.AreEqual(settings.SeaLevel, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsSeaLevel); + Assert.AreEqual(settings.RiverDischarge, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsRiverDischarge); + Assert.AreEqual(settings.LakeLevel, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsLakeLevel); + Assert.AreEqual(settings.WindDirection, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsWindDirection); + Assert.AreEqual(settings.WindSpeed, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsWindSpeed); + Assert.AreEqual(settings.Comment, hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsComment); + + int expectedNrOfHydraulicBoundaryLocations = hydraulicBoundaryDatabase.Locations.Count; Assert.AreEqual(expectedNrOfHydraulicBoundaryLocations, entity.HydraulicLocationEntities.Count); AssertHydraulicLocationCalculationCollectionEntities(assessmentSection, entity); Index: Ringtoets/Storage/test/Ringtoets.Storage.Core.Test/Read/AssessmentSectionEntityReadExtensionsTest.cs =================================================================== diff -u -rd7ec57b0867842019cbd48a736db96e2509ed0f4 -r49f69c96ae5f4b3569f2acfd343e517c1c43b140 --- Ringtoets/Storage/test/Ringtoets.Storage.Core.Test/Read/AssessmentSectionEntityReadExtensionsTest.cs (.../AssessmentSectionEntityReadExtensionsTest.cs) (revision d7ec57b0867842019cbd48a736db96e2509ed0f4) +++ Ringtoets/Storage/test/Ringtoets.Storage.Core.Test/Read/AssessmentSectionEntityReadExtensionsTest.cs (.../AssessmentSectionEntityReadExtensionsTest.cs) (revision 49f69c96ae5f4b3569f2acfd343e517c1c43b140) @@ -107,6 +107,18 @@ CollectionAssert.IsEmpty(hydraulicBoundaryDatabase.Locations); Assert.IsNull(hydraulicBoundaryDatabase.FilePath); Assert.IsNull(hydraulicBoundaryDatabase.Version); + + HydraulicLocationConfigurationSettings settings = hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings; + Assert.IsNull(settings.FilePath); + Assert.IsNull(settings.ScenarioName); + Assert.Zero(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); } [Test] @@ -195,11 +207,7 @@ { // Setup AssessmentSectionEntity entity = CreateAssessmentSectionEntity(); - - const string testLocation = "testLocation"; - const string testVersion = "testVersion"; - entity.HydraulicDatabaseLocation = testLocation; - entity.HydraulicDatabaseVersion = testVersion; + entity.HydraulicBoundaryDatabaseEntities.Add(CreateHydraulicDatabaseEntity()); entity.BackgroundDataEntities.Add(CreateBackgroundDataEntity()); HydraulicLocationEntity hydraulicLocationEntity = HydraulicLocationEntityTestFactory.CreateHydraulicLocationEntity(); @@ -330,11 +338,7 @@ { // Setup AssessmentSectionEntity entity = CreateAssessmentSectionEntity(); - - const string testLocation = "testLocation"; - const string testVersion = "testVersion"; - entity.HydraulicDatabaseLocation = testLocation; - entity.HydraulicDatabaseVersion = testVersion; + entity.HydraulicBoundaryDatabaseEntities.Add(CreateHydraulicDatabaseEntity()); entity.BackgroundDataEntities.Add(CreateBackgroundDataEntity()); HydraulicLocationEntity hydraulicLocationEntityOne = HydraulicLocationEntityTestFactory.CreateHydraulicLocationEntity(); @@ -380,16 +384,29 @@ } [Test] - public void Read_WithHydraulicBoundaryLocationDatabase_ReturnsNewAssessmentSectionWithHydraulicDatabaseSet() + public void Read_WithHydraulicBoundaryLocationDatabase_ReturnsNewAssessmentSectionWithHydraulicLocationConfigurationSettingsSet() { // Setup + var random = new Random(21); AssessmentSectionEntity entity = CreateAssessmentSectionEntity(); + var hydraulicBoundaryDatabaseEntity = new HydraulicBoundaryDatabaseEntity + { + HydraulicBoundaryDatabaseFilePath = "hydraulicBoundaryDatabaseFilePath", + HydraulicBoundaryDatabaseVersion = "hydraulicBoundaryDatabaseVersion", + HydraulicLocationConfigurationSettingsFilePath = "hlcdFilePath", + HydraulicLocationConfigurationSettingsScenarioName = "ScenarioName", + HydraulicLocationConfigurationSettingsYear = random.Next(), + HydraulicLocationConfigurationSettingsScope = "Scope", + HydraulicLocationConfigurationSettingsSeaLevel = "SeaLevel", + HydraulicLocationConfigurationSettingsRiverDischarge = "RiverDischarge", + HydraulicLocationConfigurationSettingsLakeLevel = "LakeLevel", + HydraulicLocationConfigurationSettingsWindDirection = "WindDirection", + HydraulicLocationConfigurationSettingsWindSpeed = "WindSpeed", + HydraulicLocationConfigurationSettingsComment = "Comment" + }; - const string testLocation = "testLocation"; - const string testVersion = "testVersion"; - entity.HydraulicDatabaseLocation = testLocation; - entity.HydraulicDatabaseVersion = testVersion; entity.BackgroundDataEntities.Add(CreateBackgroundDataEntity()); + entity.HydraulicBoundaryDatabaseEntities.Add(hydraulicBoundaryDatabaseEntity); entity.HydraulicLocationCalculationCollectionEntity = new HydraulicLocationCalculationCollectionEntity(); entity.HydraulicLocationCalculationCollectionEntity1 = new HydraulicLocationCalculationCollectionEntity(); entity.HydraulicLocationCalculationCollectionEntity2 = new HydraulicLocationCalculationCollectionEntity(); @@ -405,8 +422,21 @@ AssessmentSection section = entity.Read(collector); // Assert - Assert.AreEqual(testLocation, section.HydraulicBoundaryDatabase.FilePath); - Assert.AreEqual(testVersion, section.HydraulicBoundaryDatabase.Version); + HydraulicBoundaryDatabase hydraulicBoundaryDatabase = section.HydraulicBoundaryDatabase; + Assert.AreEqual(hydraulicBoundaryDatabaseEntity.HydraulicBoundaryDatabaseFilePath, hydraulicBoundaryDatabase.FilePath); + Assert.AreEqual(hydraulicBoundaryDatabaseEntity.HydraulicBoundaryDatabaseVersion, hydraulicBoundaryDatabase.Version); + + HydraulicLocationConfigurationSettings settings = hydraulicBoundaryDatabase.HydraulicLocationConfigurationSettings; + Assert.AreEqual(hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsFilePath, settings.FilePath); + Assert.AreEqual(hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsScenarioName, settings.ScenarioName); + Assert.AreEqual(hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsYear, settings.Year); + Assert.AreEqual(hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsScope, settings.Scope); + Assert.AreEqual(hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsSeaLevel, settings.SeaLevel); + Assert.AreEqual(hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsRiverDischarge, settings.RiverDischarge); + Assert.AreEqual(hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsLakeLevel, settings.LakeLevel); + Assert.AreEqual(hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsWindDirection, settings.WindDirection); + Assert.AreEqual(hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsWindSpeed, settings.WindSpeed); + Assert.AreEqual(hydraulicBoundaryDatabaseEntity.HydraulicLocationConfigurationSettingsComment, settings.Comment); } [Test] @@ -1137,6 +1167,19 @@ }; } + private static HydraulicBoundaryDatabaseEntity CreateHydraulicDatabaseEntity() + { + return new HydraulicBoundaryDatabaseEntity + { + HydraulicBoundaryDatabaseFilePath = "hydraulicBoundaryDatabaseFilePath", + HydraulicBoundaryDatabaseVersion = "hydraulicBoundaryDatabaseVersion", + HydraulicLocationConfigurationSettingsFilePath = "hlcdFilePath", + HydraulicLocationConfigurationSettingsScenarioName = "ScenarioName", + HydraulicLocationConfigurationSettingsYear = 1, + HydraulicLocationConfigurationSettingsScope = "Scope" + }; + } + private static FailureMechanismEntity CreateFailureMechanismEntity(bool isRelevant, FailureMechanismType failureMechanismType) {