Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/HydraulicBoundaryLocationOutputCreateExtensions.cs
===================================================================
diff -u -rb3c727f0765a7658ebdef636b20fcc78abc11ed1 -r41644e20d80f5793adb5e9da8d8e1a359887eb00
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/HydraulicBoundaryLocationOutputCreateExtensions.cs (.../HydraulicBoundaryLocationOutputCreateExtensions.cs) (revision b3c727f0765a7658ebdef636b20fcc78abc11ed1)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/HydraulicBoundaryLocationOutputCreateExtensions.cs (.../HydraulicBoundaryLocationOutputCreateExtensions.cs) (revision 41644e20d80f5793adb5e9da8d8e1a359887eb00)
@@ -32,11 +32,47 @@
internal static class HydraulicBoundaryLocationOutputCreateExtensions
{
///
+ /// Creates a based on the information of the .
+ ///
+ /// The output to create a database entity for.
+ /// A new .
+ /// Thrown when is null.
+ internal static HydraulicLocationOutputEntity CreateHydraulicLocationOutputEntity(this HydraulicBoundaryLocationOutput output)
+ {
+ if (output == null)
+ {
+ throw new ArgumentNullException(nameof(output));
+ }
+
+ return new HydraulicLocationOutputEntity
+ {
+ Result = double.IsNaN(output.Result)
+ ? (double?)null
+ : output.Result,
+ TargetProbability = double.IsNaN(output.TargetProbability)
+ ? (double?)null
+ : output.TargetProbability,
+ TargetReliability = double.IsNaN(output.TargetReliability)
+ ? (double?)null
+ : output.TargetReliability,
+ CalculatedProbability = double.IsNaN(output.CalculatedProbability)
+ ? (double?)null
+ : output.CalculatedProbability,
+ CalculatedReliability = double.IsNaN(output.CalculatedReliability)
+ ? (double?)null
+ : output.CalculatedReliability,
+ CalculationConvergence = (byte)output.CalculationConvergence,
+ GeneralResultSubMechanismIllustrationPointEntity = output.GeneralResult?.CreateGeneralResultSubMechanismIllustrationPointEntity()
+ };
+ }
+
+ ///
/// Creates a based on the information of the .
///
/// The output to create a database entity for.
/// The calculation output type.
/// A new .
+ /// /// Thrown when is null.
internal static GrassCoverErosionOutwardsHydraulicLocationOutputEntity CreateGrassCoverErosionOutwardsHydraulicBoundaryLocationOutputEntity(this HydraulicBoundaryLocationOutput output,
HydraulicLocationOutputType outputType)
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/HydraulicBoundaryLocationOutputCreateExtensionsTest.cs
===================================================================
diff -u -rb3c727f0765a7658ebdef636b20fcc78abc11ed1 -r41644e20d80f5793adb5e9da8d8e1a359887eb00
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/HydraulicBoundaryLocationOutputCreateExtensionsTest.cs (.../HydraulicBoundaryLocationOutputCreateExtensionsTest.cs) (revision b3c727f0765a7658ebdef636b20fcc78abc11ed1)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/HydraulicBoundaryLocationOutputCreateExtensionsTest.cs (.../HydraulicBoundaryLocationOutputCreateExtensionsTest.cs) (revision 41644e20d80f5793adb5e9da8d8e1a359887eb00)
@@ -36,6 +36,17 @@
public class HydraulicBoundaryLocationOutputCreateExtensionsTest
{
[Test]
+ public void CreateHydraulicLocationOutputEntity_HydraulicLocationOutputNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate call = () => ((HydraulicBoundaryLocationOutput) null).CreateHydraulicLocationOutputEntity();
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("output", exception.ParamName);
+ }
+
+ [Test]
public void CreateHydraulicLocationOutputEntity_WithValidParameters_ReturnsHydraulicLocationEntityWithOutputSet()
{
// Setup
@@ -44,14 +55,11 @@
random.NextDouble(), random.NextDouble(), random.NextDouble(), random.NextDouble(),
random.NextDouble(), random.NextEnumValue(), null);
- var outputType = random.NextEnumValue();
-
// Call
- GrassCoverErosionOutwardsHydraulicLocationOutputEntity entity = HydraulicBoundaryLocationOutputCreateExtensions.CreateGrassCoverErosionOutwardsHydraulicBoundaryLocationOutputEntity(outputType);
+ HydraulicLocationOutputEntity entity = output.CreateHydraulicLocationOutputEntity();
// Assert
Assert.IsNotNull(entity);
- Assert.AreEqual((byte) outputType, entity.HydraulicLocationOutputType);
Assert.AreEqual(output.Result, entity.Result, output.Result.GetAccuracy());
Assert.AreEqual(output.TargetProbability, entity.TargetProbability);
Assert.AreEqual(output.TargetReliability, entity.TargetReliability, output.TargetReliability.GetAccuracy());
@@ -70,14 +78,11 @@
var output = new HydraulicBoundaryLocationOutput(double.NaN, double.NaN, double.NaN,
double.NaN, double.NaN, random.NextEnumValue(), null);
- var outputType = random.NextEnumValue();
-
// Call
- GrassCoverErosionOutwardsHydraulicLocationOutputEntity entity = HydraulicBoundaryLocationOutputCreateExtensions.CreateGrassCoverErosionOutwardsHydraulicBoundaryLocationOutputEntity(outputType);
+ HydraulicLocationOutputEntity entity = output.CreateHydraulicLocationOutputEntity();
// Assert
Assert.IsNotNull(entity);
- Assert.AreEqual((byte) outputType, entity.HydraulicLocationOutputType);
Assert.IsNull(entity.Result);
Assert.IsNull(entity.TargetProbability);
Assert.IsNull(entity.TargetReliability);
@@ -97,16 +102,29 @@
double.NaN, double.NaN, random.NextEnumValue(),
GetGeneralResult());
- var outputType = random.NextEnumValue();
-
// Call
- GrassCoverErosionOutwardsHydraulicLocationOutputEntity entity = output.CreateGrassCoverErosionOutwardsHydraulicBoundaryLocationOutputEntity(outputType);
+ HydraulicLocationOutputEntity entity = output.CreateHydraulicLocationOutputEntity();
// Assert
AssertGeneralResult(output.GeneralResult, entity.GeneralResultSubMechanismIllustrationPointEntity);
}
[Test]
+ public void CreateGrassCoverErosionOutwardsHydraulicLocationOutputEntity_HydraulicBoundaryLocationOutputNull_ThrowsArgumentNullException()
+ {
+ // Setup
+ var random = new Random(21);
+
+ // Call
+ TestDelegate call = () =>
+ ((HydraulicBoundaryLocationOutput) null).CreateGrassCoverErosionOutwardsHydraulicBoundaryLocationOutputEntity(random.NextEnumValue());
+
+ // Assert
+ var exception = Assert.Throws(call);
+ Assert.AreEqual("output", exception.ParamName);
+ }
+
+ [Test]
public void CreateGrassCoverErosionOutwardsHydraulicLocationOutputEntity_WithValidParameters_ReturnsHydraulicLocationEntityWithOutputSet()
{
// Setup
@@ -134,21 +152,6 @@
}
[Test]
- public void CreateGrassCoverErosionOutwardsHydraulicLocationOutputEntity_HydraulicBoundaryLocationOutputNull_ThrowsArgumentNullException()
- {
- // Setup
- var random = new Random(21);
-
- // Call
- TestDelegate call = () =>
- ((HydraulicBoundaryLocationOutput) null).CreateGrassCoverErosionOutwardsHydraulicBoundaryLocationOutputEntity(random.NextEnumValue());
-
- // Assert
- var exception = Assert.Throws(call);
- Assert.AreEqual("output", exception.ParamName);
- }
-
- [Test]
public void CreateGrassCoverErosionOutwardsHydraulicLocationOutputEntity_WithNaNParameters_ReturnsHydraulicLocationEntityWithOutputNaN()
{
// Setup
@@ -159,7 +162,7 @@
var outputType = random.NextEnumValue();
// Call
- GrassCoverErosionOutwardsHydraulicLocationOutputEntity entity =
+ GrassCoverErosionOutwardsHydraulicLocationOutputEntity entity =
output.CreateGrassCoverErosionOutwardsHydraulicBoundaryLocationOutputEntity(outputType);
// Assert
@@ -188,7 +191,7 @@
var outputType = random.NextEnumValue();
// Call
- GrassCoverErosionOutwardsHydraulicLocationOutputEntity entity =
+ GrassCoverErosionOutwardsHydraulicLocationOutputEntity entity =
output.CreateGrassCoverErosionOutwardsHydraulicBoundaryLocationOutputEntity(outputType);
// Assert