Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/HydraulicBoundaryLocationCreateExtensions.cs =================================================================== diff -u -ra294987551b0b2d8a27b6e1bc6235b0e2351b6f4 -r61ced0f990b10b560e2d5700b5851cdb188585db --- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/HydraulicBoundaryLocationCreateExtensions.cs (.../HydraulicBoundaryLocationCreateExtensions.cs) (revision a294987551b0b2d8a27b6e1bc6235b0e2351b6f4) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/HydraulicBoundaryLocationCreateExtensions.cs (.../HydraulicBoundaryLocationCreateExtensions.cs) (revision 61ced0f990b10b560e2d5700b5851cdb188585db) @@ -54,7 +54,8 @@ Name = location.Name, LocationX = location.Location.X.ToNaNAsNull(), LocationY = location.Location.Y.ToNaNAsNull(), - DesignWaterLevel = double.IsNaN(location.DesignWaterLevel) ? (double?) null : location.DesignWaterLevel + DesignWaterLevel = double.IsNaN(location.DesignWaterLevel) ? (double?) null : location.DesignWaterLevel, + WaveHeight = double.IsNaN(location.WaveHeight) ? (double?)null : location.WaveHeight }; registry.Register(entity, location); Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/DatabaseStructure.sql =================================================================== diff -u -rf4718385197b407ba9df173dfc6f4df74b75f4e1 -r61ced0f990b10b560e2d5700b5851cdb188585db --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/DatabaseStructure.sql (.../DatabaseStructure.sql) (revision f4718385197b407ba9df173dfc6f4df74b75f4e1) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/DatabaseStructure.sql (.../DatabaseStructure.sql) (revision 61ced0f990b10b560e2d5700b5851cdb188585db) @@ -214,6 +214,7 @@ 'LocationX' REAL, 'LocationY' REAL, 'DesignWaterLevel' REAL, + 'WaveHeight' REAL, CONSTRAINT 'FK_HydraulicLocationEntity_AssessmentSectionEntity' FOREIGN KEY ('AssessmentSectionEntityId') REFERENCES 'AssessmentSectionEntity' ('AssessmentSectionEntityId') ON DELETE Cascade ON UPDATE Cascade ) ; Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/HydraulicLocationEntity.cs =================================================================== diff -u -ra294987551b0b2d8a27b6e1bc6235b0e2351b6f4 -r61ced0f990b10b560e2d5700b5851cdb188585db --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/HydraulicLocationEntity.cs (.../HydraulicLocationEntity.cs) (revision a294987551b0b2d8a27b6e1bc6235b0e2351b6f4) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/HydraulicLocationEntity.cs (.../HydraulicLocationEntity.cs) (revision 61ced0f990b10b560e2d5700b5851cdb188585db) @@ -49,6 +49,7 @@ public Nullable LocationX { get; set; } public Nullable LocationY { get; set; } public Nullable DesignWaterLevel { get; set; } + public Nullable WaveHeight { get; set; } public virtual AssessmentSectionEntity AssessmentSectionEntity { get; set; } [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx =================================================================== diff -u -rf4718385197b407ba9df173dfc6f4df74b75f4e1 -r61ced0f990b10b560e2d5700b5851cdb188585db --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx (.../RingtoetsEntities.edmx) (revision f4718385197b407ba9df173dfc6f4df74b75f4e1) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx (.../RingtoetsEntities.edmx) (revision 61ced0f990b10b560e2d5700b5851cdb188585db) @@ -4,7 +4,7 @@ - + @@ -198,6 +198,7 @@ + @@ -1685,6 +1686,7 @@ + @@ -2720,6 +2722,7 @@ + Index: Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx.diagram =================================================================== diff -u -rf4718385197b407ba9df173dfc6f4df74b75f4e1 -r61ced0f990b10b560e2d5700b5851cdb188585db --- Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx.diagram (.../RingtoetsEntities.edmx.diagram) (revision f4718385197b407ba9df173dfc6f4df74b75f4e1) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/DbContext/RingtoetsEntities.edmx.diagram (.../RingtoetsEntities.edmx.diagram) (revision 61ced0f990b10b560e2d5700b5851cdb188585db) @@ -5,46 +5,46 @@ - - - - - - + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - + + Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/HydraulicLocationEntityReadExtensions.cs =================================================================== diff -u -ra294987551b0b2d8a27b6e1bc6235b0e2351b6f4 -r61ced0f990b10b560e2d5700b5851cdb188585db --- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/HydraulicLocationEntityReadExtensions.cs (.../HydraulicLocationEntityReadExtensions.cs) (revision a294987551b0b2d8a27b6e1bc6235b0e2351b6f4) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/HydraulicLocationEntityReadExtensions.cs (.../HydraulicLocationEntityReadExtensions.cs) (revision 61ced0f990b10b560e2d5700b5851cdb188585db) @@ -62,6 +62,11 @@ hydraulicBoundaryLocation.DesignWaterLevel = entity.DesignWaterLevel.Value; } + if (entity.WaveHeight.HasValue) + { + hydraulicBoundaryLocation.WaveHeight = entity.WaveHeight.Value; + } + collector.Read(entity, hydraulicBoundaryLocation); return hydraulicBoundaryLocation; Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Update/HydraulicBoundaryLocationUpdateExtensions.cs =================================================================== diff -u -rbb04ea61be6e4ce94cb1453c4578b0e9256168c4 -r61ced0f990b10b560e2d5700b5851cdb188585db --- Application/Ringtoets/src/Application.Ringtoets.Storage/Update/HydraulicBoundaryLocationUpdateExtensions.cs (.../HydraulicBoundaryLocationUpdateExtensions.cs) (revision bb04ea61be6e4ce94cb1453c4578b0e9256168c4) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Update/HydraulicBoundaryLocationUpdateExtensions.cs (.../HydraulicBoundaryLocationUpdateExtensions.cs) (revision 61ced0f990b10b560e2d5700b5851cdb188585db) @@ -65,6 +65,7 @@ entity.LocationX = location.Location.X.ToNaNAsNull(); entity.LocationY = location.Location.Y.ToNaNAsNull(); entity.DesignWaterLevel = location.DesignWaterLevel.ToNaNAsNull(); + entity.WaveHeight = location.WaveHeight.ToNaNAsNull(); registry.Register(entity, location); } Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/HydraulicBoundaryLocationCreateExtensionsTest.cs =================================================================== diff -u -ra294987551b0b2d8a27b6e1bc6235b0e2351b6f4 -r61ced0f990b10b560e2d5700b5851cdb188585db --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/HydraulicBoundaryLocationCreateExtensionsTest.cs (.../HydraulicBoundaryLocationCreateExtensionsTest.cs) (revision a294987551b0b2d8a27b6e1bc6235b0e2351b6f4) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/HydraulicBoundaryLocationCreateExtensionsTest.cs (.../HydraulicBoundaryLocationCreateExtensionsTest.cs) (revision 61ced0f990b10b560e2d5700b5851cdb188585db) @@ -67,6 +67,7 @@ Assert.AreEqual(coordinateY, entity.LocationY); Assert.AreEqual(id, entity.LocationId); Assert.IsNull(entity.DesignWaterLevel); + Assert.IsNull(entity.WaveHeight); } [Test] @@ -75,9 +76,11 @@ // Setup var random = new Random(21); var waterLevel = random.NextDouble(); + var waveHeight = random.NextDouble(); var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(-1, "testName", random.NextDouble(), random.NextDouble()) { - DesignWaterLevel = waterLevel + DesignWaterLevel = waterLevel, + WaveHeight = waveHeight }; var registry = new PersistenceRegistry(); @@ -87,6 +90,7 @@ // Assert Assert.IsNotNull(entity); Assert.AreEqual(waterLevel, entity.DesignWaterLevel); + Assert.AreEqual(waveHeight, entity.WaveHeight); } [Test] Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs =================================================================== diff -u -r1e9309149f9387c4e8b10f6c5f429797220b0ef8 -r61ced0f990b10b560e2d5700b5851cdb188585db --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs (.../StorageSqLiteIntegrationTest.cs) (revision 1e9309149f9387c4e8b10f6c5f429797220b0ef8) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/IntegrationTests/StorageSqLiteIntegrationTest.cs (.../StorageSqLiteIntegrationTest.cs) (revision 61ced0f990b10b560e2d5700b5851cdb188585db) @@ -668,6 +668,7 @@ Assert.AreEqual(expectedBoundaryLocation.Id, actualBoundaryLocation.Id); Assert.AreEqual(expectedBoundaryLocation.Name, actualBoundaryLocation.Name); Assert.AreEqual(expectedBoundaryLocation.DesignWaterLevel, actualBoundaryLocation.DesignWaterLevel); + Assert.AreEqual(expectedBoundaryLocation.WaveHeight, actualBoundaryLocation.WaveHeight); Assert.AreEqual(expectedBoundaryLocation.StorageId, actualBoundaryLocation.StorageId); Assert.AreEqual(expectedBoundaryLocation.Location, actualBoundaryLocation.Location); } @@ -681,13 +682,13 @@ private static void AssertPipingFailureMechanism(PipingFailureMechanism expectedPipingFailureMechanism, PipingFailureMechanism actualPipingFailureMechanism) { - AssertProbabilityAssesmentInput(expectedPipingFailureMechanism.PipingProbabilityAssessmentInput, actualPipingFailureMechanism.PipingProbabilityAssessmentInput); + AssertProbabilityAssessmentInput(expectedPipingFailureMechanism.PipingProbabilityAssessmentInput, actualPipingFailureMechanism.PipingProbabilityAssessmentInput); AssertStochasticSoilModels(expectedPipingFailureMechanism.StochasticSoilModels, actualPipingFailureMechanism.StochasticSoilModels); AssertSurfaceLines(expectedPipingFailureMechanism.SurfaceLines, actualPipingFailureMechanism.SurfaceLines); AssertCalculationGroup(expectedPipingFailureMechanism.CalculationsGroup, actualPipingFailureMechanism.CalculationsGroup); } - private static void AssertProbabilityAssesmentInput(PipingProbabilityAssessmentInput expectedModel, PipingProbabilityAssessmentInput actualModel) + private static void AssertProbabilityAssessmentInput(PipingProbabilityAssessmentInput expectedModel, PipingProbabilityAssessmentInput actualModel) { Assert.AreEqual(expectedModel.A, actualModel.A); } @@ -945,10 +946,10 @@ Assert.AreEqual(expectedOutput.DikeHeight, actualOutput.DikeHeight); Assert.AreEqual(expectedOutput.WaveHeight, actualOutput.WaveHeight); Assert.AreEqual(expectedOutput.IsOvertoppingDominant, actualOutput.IsOvertoppingDominant); - AssertProbabilityAssesmentOutput(expectedOutput.ProbabilityAssessmentOutput, actualOutput.ProbabilityAssessmentOutput); + AssertProbabilityAssessmentOutput(expectedOutput.ProbabilityAssessmentOutput, actualOutput.ProbabilityAssessmentOutput); } - private static void AssertProbabilityAssesmentOutput(ProbabilityAssessmentOutput expectedOutput, ProbabilityAssessmentOutput actualOutput) + private static void AssertProbabilityAssessmentOutput(ProbabilityAssessmentOutput expectedOutput, ProbabilityAssessmentOutput actualOutput) { Assert.AreEqual(expectedOutput.FactorOfSafety, actualOutput.FactorOfSafety); Assert.AreEqual(expectedOutput.Probability, actualOutput.Probability); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/HydraulicLocationEntityReadExtensionsTest.cs =================================================================== diff -u -ra294987551b0b2d8a27b6e1bc6235b0e2351b6f4 -r61ced0f990b10b560e2d5700b5851cdb188585db --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/HydraulicLocationEntityReadExtensionsTest.cs (.../HydraulicLocationEntityReadExtensionsTest.cs) (revision a294987551b0b2d8a27b6e1bc6235b0e2351b6f4) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/HydraulicLocationEntityReadExtensionsTest.cs (.../HydraulicLocationEntityReadExtensionsTest.cs) (revision 61ced0f990b10b560e2d5700b5851cdb188585db) @@ -76,6 +76,8 @@ Assert.AreEqual(testName, location.Name); Assert.AreEqual(x, location.Location.X, 1e-6); Assert.AreEqual(y, location.Location.Y, 1e-6); + Assert.IsNaN(location.DesignWaterLevel); + Assert.IsNaN(location.WaveHeight); } [Test] @@ -104,6 +106,31 @@ } [Test] + [TestCase(null, double.NaN)] + [TestCase(double.MaxValue, double.MaxValue)] + [TestCase(double.MinValue, double.MinValue)] + [TestCase(1.5, 1.5)] + [TestCase(double.NaN, double.NaN)] + public void Read_DifferentWaveHeight_ReturnHydraulicBoundaryLocationWithExpectedWaveHeight(double? waveHeight, double expectedWaveHeight) + { + // Setup + var entity = new HydraulicLocationEntity + { + Name = "someName", + WaveHeight = waveHeight + }; + + var collector = new ReadConversionCollector(); + + // Call + var location = entity.Read(collector); + + // Assert + Assert.IsNotNull(location); + Assert.AreEqual(expectedWaveHeight, location.WaveHeight); + } + + [Test] public void Read_SameHydraulicLocationEntityTwice_ReturnSameHydraulicBoundaryLocation() { // Setup Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/HydraulicBoundaryLocationUpdateExtensionsTest.cs =================================================================== diff -u -ra294987551b0b2d8a27b6e1bc6235b0e2351b6f4 -r61ced0f990b10b560e2d5700b5851cdb188585db --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/HydraulicBoundaryLocationUpdateExtensionsTest.cs (.../HydraulicBoundaryLocationUpdateExtensionsTest.cs) (revision a294987551b0b2d8a27b6e1bc6235b0e2351b6f4) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Update/HydraulicBoundaryLocationUpdateExtensionsTest.cs (.../HydraulicBoundaryLocationUpdateExtensionsTest.cs) (revision 61ced0f990b10b560e2d5700b5851cdb188585db) @@ -20,7 +20,6 @@ // All rights reserved. using System; - using Application.Ringtoets.Storage.Create; using Application.Ringtoets.Storage.DbContext; using Application.Ringtoets.Storage.Exceptions; @@ -36,7 +35,7 @@ public class HydraulicBoundaryLocationUpdateExtensionsTest { [Test] - public void Update_WithoutContext_ArgumentNullException() + public void Update_WithoutContext_ThrowsArgumentNullException() { // Setup var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); @@ -50,7 +49,7 @@ } [Test] - public void Update_WithoutPersistenceRegistry_ArgumentNullException() + public void Update_WithoutPersistenceRegistry_ThrowsArgumentNullException() { // Setup var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); @@ -70,7 +69,7 @@ } [Test] - public void Update_ContextWithNoHydraulicBoundaryLocation_EntityNotFoundException() + public void Update_ContextWithNoHydraulicBoundaryLocation_ThrowsEntityNotFoundException() { // Setup var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation(); @@ -91,7 +90,7 @@ } [Test] - public void Update_ContextWithNoNoHydraulicBoundaryLocationWithId_EntityNotFoundException() + public void Update_ContextWithNoNoHydraulicBoundaryLocationWithId_ThrowsEntityNotFoundException() { // Setup MockRepository mocks = new MockRepository(); @@ -136,17 +135,20 @@ long newId = 2; string newName = "newName"; double newDesignWaterLevel = random.NextDouble() * 10; + double newWaveHeight = random.NextDouble() * 10; var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(newId, newName, newX, newY) { StorageId = 1, - DesignWaterLevel = newDesignWaterLevel + DesignWaterLevel = newDesignWaterLevel, + WaveHeight = newWaveHeight }; var hydraulicLocationEntity = new HydraulicLocationEntity { HydraulicLocationEntityId = 1, DesignWaterLevel = 10, + WaveHeight = 10, LocationId = 2, LocationX = -3.2, LocationY = -3.5 @@ -163,6 +165,7 @@ Assert.AreEqual(newX, hydraulicLocationEntity.LocationX, 1e-6); Assert.AreEqual(newY, hydraulicLocationEntity.LocationY, 1e-6); Assert.AreEqual(newDesignWaterLevel, hydraulicLocationEntity.DesignWaterLevel, 1e-6); + Assert.AreEqual(newWaveHeight, hydraulicLocationEntity.WaveHeight, 1e-6); mocks.VerifyAll(); }