Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/AssessmentSectionCreateExtensions.cs =================================================================== diff -u -r36d4b4090a4169cc8d25ede0029a3244df8fe74d -r2f82ce7b8dbc9f0c6b3f34898a97f0a3d7a05baa --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/AssessmentSectionCreateExtensions.cs (.../AssessmentSectionCreateExtensions.cs) (revision 36d4b4090a4169cc8d25ede0029a3244df8fe74d) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/AssessmentSectionCreateExtensions.cs (.../AssessmentSectionCreateExtensions.cs) (revision 2f82ce7b8dbc9f0c6b3f34898a97f0a3d7a05baa) @@ -81,8 +81,9 @@ }; AddEntityForHydraulicDatabase(section.HydraulicBoundaryDatabase, entity, registry); + AddHydraulicLocationCalculationEntities(section, entity, registry); AddEntityForReferenceLine(section, entity); - + entity.BackgroundDataEntities.Add(section.BackgroundData.Create()); entity.FailureMechanismEntities.Add(section.Piping.Create(registry)); @@ -138,5 +139,18 @@ } } } + + private static void AddHydraulicLocationCalculationEntities(AssessmentSection assessmentSection, AssessmentSectionEntity entity, PersistenceRegistry registry) + { + // TODO: WIT-1606 Finalize the ordering of where to map which calculation + entity.HydraulicLocationCalculationCollectionEntity = assessmentSection.WaterLevelCalculationsForFactorizedSignalingNorm.Create(registry); + entity.HydraulicLocationCalculationCollectionEntity1 = assessmentSection.WaterLevelCalculationsForSignalingNorm.Create(registry); + entity.HydraulicLocationCalculationCollectionEntity2 = assessmentSection.WaterLevelCalculationsForLowerLimitNorm.Create(registry); + entity.HydraulicLocationCalculationCollectionEntity3 = assessmentSection.WaterLevelCalculationsForFactorizedLowerLimitNorm.Create(registry); + entity.HydraulicLocationCalculationCollectionEntity4 = assessmentSection.WaveHeightCalculationsForFactorizedSignalingNorm.Create(registry); + entity.HydraulicLocationCalculationCollectionEntity5 = assessmentSection.WaveHeightCalculationsForSignalingNorm.Create(registry); + entity.HydraulicLocationCalculationCollectionEntity6 = assessmentSection.WaveHeightCalculationsForLowerLimitNorm.Create(registry); + entity.HydraulicLocationCalculationCollectionEntity7 = assessmentSection.WaveHeightCalculationsForFactorizedLowerLimitNorm.Create(registry); + } } } \ No newline at end of file Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/AssessmentSectionCreateExtensionsTest.cs =================================================================== diff -u -r2ef5183542af0464fab4ebadb3a6c2c4f7ff46b7 -r2f82ce7b8dbc9f0c6b3f34898a97f0a3d7a05baa --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/AssessmentSectionCreateExtensionsTest.cs (.../AssessmentSectionCreateExtensionsTest.cs) (revision 2ef5183542af0464fab4ebadb3a6c2c4f7ff46b7) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/AssessmentSectionCreateExtensionsTest.cs (.../AssessmentSectionCreateExtensionsTest.cs) (revision 2f82ce7b8dbc9f0c6b3f34898a97f0a3d7a05baa) @@ -184,6 +184,8 @@ { // Setup var assessmentSection = new AssessmentSection(AssessmentSectionComposition.Dike); + assessmentSection.SetHydraulicBoundaryLocationCalculations(assessmentSection.HydraulicBoundaryDatabase.Locations); + var registry = new PersistenceRegistry(); // Call @@ -194,6 +196,16 @@ Assert.IsNull(entity.HydraulicDatabaseVersion); CollectionAssert.IsEmpty(entity.HydraulicLocationEntities); CollectionAssert.IsEmpty(entity.HydraRingPreprocessorEntities); + + int expectedNrOfCalculations = assessmentSection.HydraulicBoundaryDatabase.Locations.Count; + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity, expectedNrOfCalculations); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity1, expectedNrOfCalculations); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity2, expectedNrOfCalculations); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity3, expectedNrOfCalculations); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity4, expectedNrOfCalculations); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity5, expectedNrOfCalculations); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity6, expectedNrOfCalculations); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity7, expectedNrOfCalculations); } [Test] @@ -215,6 +227,8 @@ } } }; + assessmentSection.SetHydraulicBoundaryLocationCalculations(assessmentSection.HydraulicBoundaryDatabase.Locations); + var registry = new PersistenceRegistry(); // Call @@ -223,8 +237,18 @@ // Assert Assert.AreEqual(testFilePath, entity.HydraulicDatabaseLocation); Assert.AreEqual(testVersion, entity.HydraulicDatabaseVersion); - Assert.AreEqual(1, entity.HydraulicLocationEntities.Count); CollectionAssert.IsEmpty(entity.HydraRingPreprocessorEntities); + + int expectedNrOfHydraulicBoundaryLocations = assessmentSection.HydraulicBoundaryDatabase.Locations.Count; + Assert.AreEqual(expectedNrOfHydraulicBoundaryLocations, entity.HydraulicLocationEntities.Count); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity, expectedNrOfHydraulicBoundaryLocations); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity1, expectedNrOfHydraulicBoundaryLocations); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity2, expectedNrOfHydraulicBoundaryLocations); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity3, expectedNrOfHydraulicBoundaryLocations); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity4, expectedNrOfHydraulicBoundaryLocations); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity5, expectedNrOfHydraulicBoundaryLocations); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity6, expectedNrOfHydraulicBoundaryLocations); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity7, expectedNrOfHydraulicBoundaryLocations); } [Test] @@ -251,6 +275,8 @@ PreprocessorDirectory = preprocessorDirectory } }; + assessmentSection.SetHydraulicBoundaryLocationCalculations(assessmentSection.HydraulicBoundaryDatabase.Locations); + var registry = new PersistenceRegistry(); // Call @@ -259,11 +285,21 @@ // Assert Assert.AreEqual(testFilePath, entity.HydraulicDatabaseLocation); Assert.AreEqual(testVersion, entity.HydraulicDatabaseVersion); - Assert.AreEqual(1, entity.HydraulicLocationEntities.Count); Assert.AreEqual(1, entity.HydraRingPreprocessorEntities.Count); HydraRingPreprocessorEntity preprocessorEntity = entity.HydraRingPreprocessorEntities.First(); Assert.AreEqual(Convert.ToByte(usePreprocessor), preprocessorEntity.UsePreprocessor); Assert.AreEqual(preprocessorDirectory, preprocessorEntity.PreprocessorDirectory); + + int expectedNrOfHydraulicBoundaryLocations = assessmentSection.HydraulicBoundaryDatabase.Locations.Count; + Assert.AreEqual(expectedNrOfHydraulicBoundaryLocations, entity.HydraulicLocationEntities.Count); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity, expectedNrOfHydraulicBoundaryLocations); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity1, expectedNrOfHydraulicBoundaryLocations); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity2, expectedNrOfHydraulicBoundaryLocations); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity3, expectedNrOfHydraulicBoundaryLocations); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity4, expectedNrOfHydraulicBoundaryLocations); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity5, expectedNrOfHydraulicBoundaryLocations); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity6, expectedNrOfHydraulicBoundaryLocations); + AssertHydraulicLocationCalculationCollectionEntity(entity.HydraulicLocationCalculationCollectionEntity7, expectedNrOfHydraulicBoundaryLocations); } [Test] @@ -292,5 +328,12 @@ string expectedXml = new Point2DXmlSerializer().ToXml(points); Assert.AreEqual(expectedXml, entity.ReferenceLinePointXml); } + + private static void AssertHydraulicLocationCalculationCollectionEntity(HydraulicLocationCalculationCollectionEntity collectionEntity, + int expectedNrOfCalculationEntities) + { + Assert.IsNotNull(collectionEntity); + Assert.AreEqual(expectedNrOfCalculationEntities, collectionEntity.HydraulicLocationCalculationEntities.Count); + } } } \ No newline at end of file