Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Application.Ringtoets.Storage.csproj
===================================================================
diff -u -rfe88135b797eda12b8e4d9b829036d2d7a52b10f -reec680fe322aea5d1ecf8fdf1f14a273afdf6c53
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Application.Ringtoets.Storage.csproj (.../Application.Ringtoets.Storage.csproj) (revision fe88135b797eda12b8e4d9b829036d2d7a52b10f)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Application.Ringtoets.Storage.csproj (.../Application.Ringtoets.Storage.csproj) (revision eec680fe322aea5d1ecf8fdf1f14a273afdf6c53)
@@ -314,6 +314,7 @@
+
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionInwards/DikeHeightAssessmentOutputCreateExtensions.cs
===================================================================
diff -u -r8cb270db5fbcb82f19d6f3a390f083e9e0516d8c -reec680fe322aea5d1ecf8fdf1f14a273afdf6c53
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionInwards/DikeHeightAssessmentOutputCreateExtensions.cs (.../DikeHeightAssessmentOutputCreateExtensions.cs) (revision 8cb270db5fbcb82f19d6f3a390f083e9e0516d8c)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionInwards/DikeHeightAssessmentOutputCreateExtensions.cs (.../DikeHeightAssessmentOutputCreateExtensions.cs) (revision eec680fe322aea5d1ecf8fdf1f14a273afdf6c53)
@@ -19,23 +19,34 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
+using System;
using Application.Ringtoets.Storage.DbContext;
using Ringtoets.GrassCoverErosionInwards.Data;
namespace Application.Ringtoets.Storage.Create.GrassCoverErosionInwards
{
///
- /// Extension methods for related to creating a .
+ /// Extension methods for
+ /// related to creating a
+ /// or a .
///
internal static class DikeHeightAssessmentOutputCreateExtensions
{
///
- /// Creates a based on the information of the .
+ /// Creates a
+ /// based on the information of the .
///
/// The output to create a database entity for.
/// A new .
- internal static GrassCoverErosionInwardsDikeHeightOutputEntity Create(this SubCalculationAssessmentOutput output)
+ /// Thrown when
+ /// is null.
+ internal static GrassCoverErosionInwardsDikeHeightOutputEntity CreateDikeHeight(this SubCalculationAssessmentOutput output)
{
+ if (output == null)
+ {
+ throw new ArgumentNullException(nameof(output));
+ }
+
return new GrassCoverErosionInwardsDikeHeightOutputEntity
{
DikeHeight = double.IsNaN(output.Result)
@@ -56,5 +67,41 @@
CalculationConvergence = (byte) output.CalculationConvergence
};
}
+
+ ///
+ /// Creates a
+ /// based on the information of the .
+ ///
+ /// The output to create a database entity for.
+ /// A new .
+ /// Thrown when
+ /// is null.
+ internal static GrassCoverErosionInwardsOvertoppingRateOutputEntity CreateOvertoppingRate(this SubCalculationAssessmentOutput output)
+ {
+ if (output == null)
+ {
+ throw new ArgumentNullException(nameof(output));
+ }
+
+ return new GrassCoverErosionInwardsOvertoppingRateOutputEntity
+ {
+ OvertoppingRate = 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
+ };
+ }
}
}
\ No newline at end of file
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsOutputCreateExtensions.cs
===================================================================
diff -u -r8cb270db5fbcb82f19d6f3a390f083e9e0516d8c -reec680fe322aea5d1ecf8fdf1f14a273afdf6c53
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsOutputCreateExtensions.cs (.../GrassCoverErosionInwardsOutputCreateExtensions.cs) (revision 8cb270db5fbcb82f19d6f3a390f083e9e0516d8c)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsOutputCreateExtensions.cs (.../GrassCoverErosionInwardsOutputCreateExtensions.cs) (revision eec680fe322aea5d1ecf8fdf1f14a273afdf6c53)
@@ -52,17 +52,27 @@
};
AddEntityForDikeHeightAssessmentOutput(entity, output.DikeHeightAssessmentOutput);
+ AddEntityForOvertoppingRateAssessmentOutput(entity, output.OvertoppingRateAssessmentOutput);
return entity;
}
- private static void AddEntityForDikeHeightAssessmentOutput(GrassCoverErosionInwardsOutputEntity entity, SubCalculationAssessmentOutput output)
+ private static void AddEntityForDikeHeightAssessmentOutput(GrassCoverErosionInwardsOutputEntity entity,
+ SubCalculationAssessmentOutput output)
{
- if (output == null)
+ if (output != null)
{
- return;
+ entity.GrassCoverErosionInwardsDikeHeightOutputEntities.Add(output.CreateDikeHeight());
}
- entity.GrassCoverErosionInwardsDikeHeightOutputEntities.Add(output.Create());
}
+
+ private static void AddEntityForOvertoppingRateAssessmentOutput(GrassCoverErosionInwardsOutputEntity entity,
+ SubCalculationAssessmentOutput output)
+ {
+ if (output != null)
+ {
+ entity.GrassCoverErosionInwardsOvertoppingRateOutputEntities.Add(output.CreateOvertoppingRate());
+ }
+ }
}
}
\ No newline at end of file
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsDikeHeightOutputEntityReadExtensions.cs
===================================================================
diff -u -r8cb270db5fbcb82f19d6f3a390f083e9e0516d8c -reec680fe322aea5d1ecf8fdf1f14a273afdf6c53
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsDikeHeightOutputEntityReadExtensions.cs (.../GrassCoverErosionInwardsDikeHeightOutputEntityReadExtensions.cs) (revision 8cb270db5fbcb82f19d6f3a390f083e9e0516d8c)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsDikeHeightOutputEntityReadExtensions.cs (.../GrassCoverErosionInwardsDikeHeightOutputEntityReadExtensions.cs) (revision eec680fe322aea5d1ecf8fdf1f14a273afdf6c53)
@@ -19,25 +19,35 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
+using System;
using Application.Ringtoets.Storage.DbContext;
using Ringtoets.Common.Data.Hydraulics;
using Ringtoets.GrassCoverErosionInwards.Data;
namespace Application.Ringtoets.Storage.Read.GrassCoverErosionInwards
{
///
- /// Extension methods for related to creating
- /// a .
+ /// Extension methods for
+ /// related to creating a .
///
internal static class GrassCoverErosionInwardsDikeHeightOutputEntityReadExtensions
{
///
- /// Reads the and use the information to construct a .
+ /// Reads the and use
+ /// the information to construct a .
///
- /// The to create for.
+ /// The
+ /// to create for.
/// A new .
+ /// Thrown when
+ /// is null.
internal static SubCalculationAssessmentOutput Read(this GrassCoverErosionInwardsDikeHeightOutputEntity entity)
{
+ if (entity == null)
+ {
+ throw new ArgumentNullException(nameof(entity));
+ }
+
return new SubCalculationAssessmentOutput(entity.DikeHeight.ToNullAsNaN(),
entity.TargetProbability.ToNullAsNaN(),
entity.TargetReliability.ToNullAsNaN(),
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsOutputEntityReadExtensions.cs
===================================================================
diff -u -r8cb270db5fbcb82f19d6f3a390f083e9e0516d8c -reec680fe322aea5d1ecf8fdf1f14a273afdf6c53
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsOutputEntityReadExtensions.cs (.../GrassCoverErosionInwardsOutputEntityReadExtensions.cs) (revision 8cb270db5fbcb82f19d6f3a390f083e9e0516d8c)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsOutputEntityReadExtensions.cs (.../GrassCoverErosionInwardsOutputEntityReadExtensions.cs) (revision eec680fe322aea5d1ecf8fdf1f14a273afdf6c53)
@@ -46,7 +46,7 @@
Convert.ToBoolean(entity.IsOvertoppingDominant),
ReadProbabilityAssessmentOutput(entity),
GetDikeHeightAssessmentOutput(entity),
- null);
+ GetOvertoppingRateAssessmentOutput(entity));
}
private static ProbabilityAssessmentOutput ReadProbabilityAssessmentOutput(GrassCoverErosionInwardsOutputEntity entity)
@@ -61,7 +61,13 @@
private static SubCalculationAssessmentOutput GetDikeHeightAssessmentOutput(GrassCoverErosionInwardsOutputEntity entity)
{
GrassCoverErosionInwardsDikeHeightOutputEntity dikeHeightOutputEntity = entity.GrassCoverErosionInwardsDikeHeightOutputEntities.FirstOrDefault();
- return dikeHeightOutputEntity != null ? dikeHeightOutputEntity.Read() : null;
+ return dikeHeightOutputEntity?.Read();
}
+
+ private static SubCalculationAssessmentOutput GetOvertoppingRateAssessmentOutput(GrassCoverErosionInwardsOutputEntity entity)
+ {
+ GrassCoverErosionInwardsOvertoppingRateOutputEntity overtoppingRateOutputEntity = entity.GrassCoverErosionInwardsOvertoppingRateOutputEntities.FirstOrDefault();
+ return overtoppingRateOutputEntity?.Read();
+ }
}
}
\ No newline at end of file
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsOvertoppingRateOutputEntityReadExtensions.cs
===================================================================
diff -u
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsOvertoppingRateOutputEntityReadExtensions.cs (revision 0)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsOvertoppingRateOutputEntityReadExtensions.cs (revision eec680fe322aea5d1ecf8fdf1f14a273afdf6c53)
@@ -0,0 +1,59 @@
+// Copyright (C) Stichting Deltares 2016. 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 System;
+using Application.Ringtoets.Storage.DbContext;
+using Ringtoets.Common.Data.Hydraulics;
+using Ringtoets.GrassCoverErosionInwards.Data;
+
+namespace Application.Ringtoets.Storage.Read.GrassCoverErosionInwards
+{
+ ///
+ /// Extension methods for
+ /// related to creating a .
+ ///
+ internal static class GrassCoverErosionInwardsOvertoppingRateOutputEntityReadExtensions
+ {
+ ///
+ /// Reads the and use
+ /// the information to construct a .
+ ///
+ /// The
+ /// to create for.
+ /// A new .
+ /// Thrown when
+ /// is null.
+ internal static SubCalculationAssessmentOutput Read(this GrassCoverErosionInwardsOvertoppingRateOutputEntity entity)
+ {
+ if (entity == null)
+ {
+ throw new ArgumentNullException(nameof(entity));
+ }
+
+ return new SubCalculationAssessmentOutput(entity.OvertoppingRate.ToNullAsNaN(),
+ entity.TargetProbability.ToNullAsNaN(),
+ entity.TargetReliability.ToNullAsNaN(),
+ entity.CalculatedProbability.ToNullAsNaN(),
+ entity.CalculatedReliability.ToNullAsNaN(),
+ (CalculationConvergence) entity.CalculationConvergence);
+ }
+ }
+}
\ No newline at end of file
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Application.Ringtoets.Storage.Test.csproj
===================================================================
diff -u -r5c1a60942a2effc207d546054d4832f4aabe8ba5 -reec680fe322aea5d1ecf8fdf1f14a273afdf6c53
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Application.Ringtoets.Storage.Test.csproj (.../Application.Ringtoets.Storage.Test.csproj) (revision 5c1a60942a2effc207d546054d4832f4aabe8ba5)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Application.Ringtoets.Storage.Test.csproj (.../Application.Ringtoets.Storage.Test.csproj) (revision eec680fe322aea5d1ecf8fdf1f14a273afdf6c53)
@@ -112,6 +112,7 @@
+
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionInwards/DikeHeightAssessmentOutputCreateExtensionsTest.cs
===================================================================
diff -u -r8cb270db5fbcb82f19d6f3a390f083e9e0516d8c -reec680fe322aea5d1ecf8fdf1f14a273afdf6c53
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionInwards/DikeHeightAssessmentOutputCreateExtensionsTest.cs (.../DikeHeightAssessmentOutputCreateExtensionsTest.cs) (revision 8cb270db5fbcb82f19d6f3a390f083e9e0516d8c)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionInwards/DikeHeightAssessmentOutputCreateExtensionsTest.cs (.../DikeHeightAssessmentOutputCreateExtensionsTest.cs) (revision eec680fe322aea5d1ecf8fdf1f14a273afdf6c53)
@@ -34,16 +34,30 @@
public class DikeHeightAssessmentOutputCreateExtensionsTest
{
[Test]
- public void Create_WithValidParameters_ReturnsGrassCoverErosionInwardsDikeHeightOutputEntityWithOutputSet()
+ public void CreateDikeHeight_OutputNull_ThrowArgumentNullException()
{
// Setup
+ SubCalculationAssessmentOutput output = null;
+
+ // Call
+ TestDelegate test = () => output.CreateDikeHeight();
+
+ // Assert
+ var exception = Assert.Throws(test);
+ Assert.AreEqual("output", exception.ParamName);
+ }
+
+ [Test]
+ public void CreateDikeHeight_WithValidParameters_ReturnsGrassCoverErosionInwardsDikeHeightOutputEntityWithOutputSet()
+ {
+ // Setup
var random = new Random(21);
var output = new SubCalculationAssessmentOutput(
random.NextDouble(), random.NextDouble(), random.NextDouble(), random.NextDouble(),
random.NextDouble(), random.NextEnumValue());
// Call
- GrassCoverErosionInwardsDikeHeightOutputEntity entity = output.Create();
+ GrassCoverErosionInwardsDikeHeightOutputEntity entity = output.CreateDikeHeight();
// Assert
Assert.IsNotNull(entity);
@@ -56,15 +70,15 @@
}
[Test]
- public void Create_WithNaNParameters_ReturnsGrassCoverErosionInwardsDikeHeightOutputEntityWithOutputNull()
+ public void CreateDikeHeight_WithNaNParameters_ReturnsGrassCoverErosionInwardsDikeHeightOutputEntityWithOutputNull()
{
// Setup
var random = new Random(21);
var output = new SubCalculationAssessmentOutput(double.NaN, double.NaN, double.NaN,
- double.NaN, double.NaN, random.NextEnumValue());
+ double.NaN, double.NaN, random.NextEnumValue());
// Call
- GrassCoverErosionInwardsDikeHeightOutputEntity entity = output.Create();
+ GrassCoverErosionInwardsDikeHeightOutputEntity entity = output.CreateDikeHeight();
// Assert
Assert.IsNotNull(entity);
@@ -75,5 +89,62 @@
Assert.IsNull(entity.CalculatedReliability);
Assert.AreEqual((byte) output.CalculationConvergence, entity.CalculationConvergence);
}
+
+ [Test]
+ public void CreateOvertoppingRate_OutputNull_ThrowArgumentNullException()
+ {
+ // Setup
+ SubCalculationAssessmentOutput output = null;
+
+ // Call
+ TestDelegate test = () => output.CreateOvertoppingRate();
+
+ // Assert
+ var exception = Assert.Throws(test);
+ Assert.AreEqual("output", exception.ParamName);
+ }
+
+ [Test]
+ public void CreateOvertoppingRate_WithValidParameters_ReturnsGrassCoverErosionInwardsOvertoppingRateOutputEntityWithOutputSet()
+ {
+ // Setup
+ var random = new Random(21);
+ var output = new SubCalculationAssessmentOutput(
+ random.NextDouble(), random.NextDouble(), random.NextDouble(), random.NextDouble(),
+ random.NextDouble(), random.NextEnumValue());
+
+ // Call
+ GrassCoverErosionInwardsOvertoppingRateOutputEntity entity = output.CreateOvertoppingRate();
+
+ // Assert
+ Assert.IsNotNull(entity);
+ Assert.AreEqual(output.Result, entity.OvertoppingRate, output.Result.GetAccuracy());
+ Assert.AreEqual(output.TargetProbability, entity.TargetProbability);
+ Assert.AreEqual(output.TargetReliability, entity.TargetReliability, output.TargetReliability.GetAccuracy());
+ Assert.AreEqual(output.CalculatedProbability, entity.CalculatedProbability);
+ Assert.AreEqual(output.CalculatedReliability, entity.CalculatedReliability, output.CalculatedReliability.GetAccuracy());
+ Assert.AreEqual((byte) output.CalculationConvergence, entity.CalculationConvergence);
+ }
+
+ [Test]
+ public void CreateOvertoppingRate_WithNaNParameters_ReturnsGrassCoverErosionInwardsOvertoppingRateOutputEntityWithOutputNull()
+ {
+ // Setup
+ var random = new Random(21);
+ var output = new SubCalculationAssessmentOutput(double.NaN, double.NaN, double.NaN,
+ double.NaN, double.NaN, random.NextEnumValue());
+
+ // Call
+ GrassCoverErosionInwardsOvertoppingRateOutputEntity entity = output.CreateOvertoppingRate();
+
+ // Assert
+ Assert.IsNotNull(entity);
+ Assert.IsNull(entity.OvertoppingRate);
+ Assert.IsNull(entity.TargetProbability);
+ Assert.IsNull(entity.TargetReliability);
+ Assert.IsNull(entity.CalculatedProbability);
+ Assert.IsNull(entity.CalculatedReliability);
+ Assert.AreEqual((byte) output.CalculationConvergence, entity.CalculationConvergence);
+ }
}
}
\ No newline at end of file
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsOutputCreateExtensionsTest.cs
===================================================================
diff -u -r8cb270db5fbcb82f19d6f3a390f083e9e0516d8c -reec680fe322aea5d1ecf8fdf1f14a273afdf6c53
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsOutputCreateExtensionsTest.cs (.../GrassCoverErosionInwardsOutputCreateExtensionsTest.cs) (revision 8cb270db5fbcb82f19d6f3a390f083e9e0516d8c)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionInwards/GrassCoverErosionInwardsOutputCreateExtensionsTest.cs (.../GrassCoverErosionInwardsOutputCreateExtensionsTest.cs) (revision eec680fe322aea5d1ecf8fdf1f14a273afdf6c53)
@@ -23,6 +23,7 @@
using System.Linq;
using Application.Ringtoets.Storage.Create.GrassCoverErosionInwards;
using Application.Ringtoets.Storage.DbContext;
+using Core.Common.TestUtil;
using NUnit.Framework;
using Ringtoets.Common.Data.Hydraulics;
using Ringtoets.Common.Data.Probability;
@@ -43,11 +44,16 @@
var probabilityAssessmentOutput = new ProbabilityAssessmentOutput(random.NextDouble(), random.NextDouble(),
random.NextDouble(), random.NextDouble(),
random.NextDouble());
- var dikeHeightConvergence = (CalculationConvergence) random.Next(1, Enum.GetValues(typeof(CalculationConvergence)).Length + 1);
+ var dikeHeightConvergence = random.NextEnumValue();
+ var overtoppingRateConvergence = random.NextEnumValue();
var dikeHeightAssessmentOutput = new SubCalculationAssessmentOutput(random.NextDouble(), random.NextDouble(),
- random.NextDouble(), random.NextDouble(),
- random.NextDouble(), dikeHeightConvergence);
- var output = new GrassCoverErosionInwardsOutput(random.NextDouble(), false, probabilityAssessmentOutput, dikeHeightAssessmentOutput, null);
+ random.NextDouble(), random.NextDouble(),
+ random.NextDouble(), dikeHeightConvergence);
+ var overtoppingRateAssessmentOutput = new SubCalculationAssessmentOutput(random.NextDouble(), random.NextDouble(),
+ random.NextDouble(), random.NextDouble(),
+ random.NextDouble(), overtoppingRateConvergence);
+ var output = new GrassCoverErosionInwardsOutput(random.NextDouble(), false, probabilityAssessmentOutput,
+ dikeHeightAssessmentOutput, overtoppingRateAssessmentOutput);
// Call
GrassCoverErosionInwardsOutputEntity entity = output.Create();
@@ -62,13 +68,21 @@
Assert.AreEqual(probabilityAssessmentOutput.RequiredProbability, entity.RequiredProbability);
Assert.AreEqual(probabilityAssessmentOutput.RequiredReliability.Value, entity.RequiredReliability);
- var dikeHeightEntity = entity.GrassCoverErosionInwardsDikeHeightOutputEntities.First();
+ GrassCoverErosionInwardsDikeHeightOutputEntity dikeHeightEntity = entity.GrassCoverErosionInwardsDikeHeightOutputEntities.First();
Assert.AreEqual(dikeHeightAssessmentOutput.Result, dikeHeightEntity.DikeHeight, dikeHeightAssessmentOutput.Result.GetAccuracy());
Assert.AreEqual(dikeHeightAssessmentOutput.TargetProbability, dikeHeightEntity.TargetProbability);
Assert.AreEqual(dikeHeightAssessmentOutput.TargetReliability, dikeHeightEntity.TargetReliability, dikeHeightAssessmentOutput.TargetReliability.GetAccuracy());
Assert.AreEqual(dikeHeightAssessmentOutput.CalculatedProbability, dikeHeightEntity.CalculatedProbability);
Assert.AreEqual(dikeHeightAssessmentOutput.CalculatedReliability, dikeHeightEntity.CalculatedReliability, dikeHeightAssessmentOutput.CalculatedReliability.GetAccuracy());
Assert.AreEqual((byte) dikeHeightAssessmentOutput.CalculationConvergence, dikeHeightEntity.CalculationConvergence);
+
+ GrassCoverErosionInwardsOvertoppingRateOutputEntity overtoppingRateEntity = entity.GrassCoverErosionInwardsOvertoppingRateOutputEntities.First();
+ Assert.AreEqual(overtoppingRateAssessmentOutput.Result, overtoppingRateEntity.OvertoppingRate, overtoppingRateAssessmentOutput.Result.GetAccuracy());
+ Assert.AreEqual(overtoppingRateAssessmentOutput.TargetProbability, overtoppingRateEntity.TargetProbability);
+ Assert.AreEqual(overtoppingRateAssessmentOutput.TargetReliability, overtoppingRateEntity.TargetReliability, overtoppingRateAssessmentOutput.TargetReliability.GetAccuracy());
+ Assert.AreEqual(overtoppingRateAssessmentOutput.CalculatedProbability, overtoppingRateEntity.CalculatedProbability);
+ Assert.AreEqual(overtoppingRateAssessmentOutput.CalculatedReliability, overtoppingRateEntity.CalculatedReliability, overtoppingRateAssessmentOutput.CalculatedReliability.GetAccuracy());
+ Assert.AreEqual((byte) overtoppingRateAssessmentOutput.CalculationConvergence, overtoppingRateEntity.CalculationConvergence);
}
[Test]
@@ -92,13 +106,21 @@
Assert.IsNull(entity.RequiredProbability);
Assert.IsNull(entity.RequiredReliability);
- var dikeHeightEntity = entity.GrassCoverErosionInwardsDikeHeightOutputEntities.First();
+ GrassCoverErosionInwardsDikeHeightOutputEntity dikeHeightEntity = entity.GrassCoverErosionInwardsDikeHeightOutputEntities.First();
Assert.IsNull(dikeHeightEntity.DikeHeight);
Assert.IsNull(dikeHeightEntity.TargetProbability);
Assert.IsNull(dikeHeightEntity.TargetReliability);
Assert.IsNull(dikeHeightEntity.CalculatedProbability);
Assert.IsNull(dikeHeightEntity.CalculatedReliability);
Assert.AreEqual((byte) dikeHeightAssessmentOutput.CalculationConvergence, dikeHeightEntity.CalculationConvergence);
+
+ GrassCoverErosionInwardsOvertoppingRateOutputEntity overtoppingRateEntity = entity.GrassCoverErosionInwardsOvertoppingRateOutputEntities.First();
+ Assert.IsNull(overtoppingRateEntity.OvertoppingRate);
+ Assert.IsNull(overtoppingRateEntity.TargetProbability);
+ Assert.IsNull(overtoppingRateEntity.TargetReliability);
+ Assert.IsNull(overtoppingRateEntity.CalculatedProbability);
+ Assert.IsNull(overtoppingRateEntity.CalculatedReliability);
+ Assert.AreEqual((byte) overtoppingRateAssessmentOutput.CalculationConvergence, overtoppingRateEntity.CalculationConvergence);
}
[Test]
@@ -114,5 +136,19 @@
// Assert
Assert.IsFalse(entity.GrassCoverErosionInwardsDikeHeightOutputEntities.Any());
}
+
+ [Test]
+ public void Create_OvertoppingRateAssessmentOutputIsNull_NoOvertoppingRateOutputEntityCreated()
+ {
+ // Setup
+ var probabilityAssessmentOutput = new ProbabilityAssessmentOutput(1, 1, 1, 1, 1);
+ var output = new GrassCoverErosionInwardsOutput(1, true, probabilityAssessmentOutput, null, null);
+
+ // Call
+ GrassCoverErosionInwardsOutputEntity entity = output.Create();
+
+ // Assert
+ Assert.IsFalse(entity.GrassCoverErosionInwardsOvertoppingRateOutputEntities.Any());
+ }
}
}
\ No newline at end of file
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsDikeHeightOutputEntityReadExtensionsTest.cs
===================================================================
diff -u -r8cb270db5fbcb82f19d6f3a390f083e9e0516d8c -reec680fe322aea5d1ecf8fdf1f14a273afdf6c53
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsDikeHeightOutputEntityReadExtensionsTest.cs (.../GrassCoverErosionInwardsDikeHeightOutputEntityReadExtensionsTest.cs) (revision 8cb270db5fbcb82f19d6f3a390f083e9e0516d8c)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsDikeHeightOutputEntityReadExtensionsTest.cs (.../GrassCoverErosionInwardsDikeHeightOutputEntityReadExtensionsTest.cs) (revision eec680fe322aea5d1ecf8fdf1f14a273afdf6c53)
@@ -34,6 +34,20 @@
public class GrassCoverErosionInwardsDikeHeightOutputEntityReadExtensionsTest
{
[Test]
+ public void Read_EntityNull_ThrowArgumentNullException()
+ {
+ // Setup
+ GrassCoverErosionInwardsDikeHeightOutputEntity entity = null;
+
+ // Call
+ TestDelegate test = () => entity.Read();
+
+ // Assert
+ var exception = Assert.Throws(test);
+ Assert.AreEqual("entity", exception.ParamName);
+ }
+
+ [Test]
public void Read_ValidParameters_ReturnsDikeHeightAssessmentOutput()
{
// Setup
@@ -43,7 +57,7 @@
double targetReliability = random.NextDouble();
double calculatedProbability = random.NextDouble();
double calculatedReliability = random.NextDouble();
- CalculationConvergence convergence = random.NextEnumValue();
+ var convergence = random.NextEnumValue();
var entity = new GrassCoverErosionInwardsDikeHeightOutputEntity
{
DikeHeight = dikeHeight,
@@ -71,7 +85,7 @@
{
// Setup
var random = new Random(22);
- CalculationConvergence convergence = random.NextEnumValue();
+ var convergence = random.NextEnumValue();
var entity = new GrassCoverErosionInwardsDikeHeightOutputEntity
{
CalculationConvergence = (byte) convergence
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsOvertoppingRateOutputEntityReadExtensionsTest.cs
===================================================================
diff -u
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsOvertoppingRateOutputEntityReadExtensionsTest.cs (revision 0)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Read/GrassCoverErosionInwards/GrassCoverErosionInwardsOvertoppingRateOutputEntityReadExtensionsTest.cs (revision eec680fe322aea5d1ecf8fdf1f14a273afdf6c53)
@@ -0,0 +1,106 @@
+// Copyright (C) Stichting Deltares 2016. 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 System;
+using Application.Ringtoets.Storage.DbContext;
+using Application.Ringtoets.Storage.Read.GrassCoverErosionInwards;
+using Core.Common.TestUtil;
+using NUnit.Framework;
+using Ringtoets.Common.Data.Hydraulics;
+using Ringtoets.Common.Data.TestUtil;
+using Ringtoets.GrassCoverErosionInwards.Data;
+
+namespace Application.Ringtoets.Storage.Test.Read.GrassCoverErosionInwards
+{
+ [TestFixture]
+ public class GrassCoverErosionInwardsOvertoppingRateOutputEntityReadExtensionsTest
+ {
+ [Test]
+ public void Read_EntityNull_ThrowArgumentNullException()
+ {
+ // Setup
+ GrassCoverErosionInwardsOvertoppingRateOutputEntity entity = null;
+
+ // Call
+ TestDelegate test = () => entity.Read();
+
+ // Assert
+ var exception = Assert.Throws(test);
+ Assert.AreEqual("entity", exception.ParamName);
+ }
+
+ [Test]
+ public void Read_ValidParameters_ReturnsOvertoppingRateAssessmentOutput()
+ {
+ // Setup
+ var random = new Random(22);
+ double overtoppingRate = random.NextDouble();
+ double targetProbability = random.NextDouble();
+ double targetReliability = random.NextDouble();
+ double calculatedProbability = random.NextDouble();
+ double calculatedReliability = random.NextDouble();
+ var convergence = random.NextEnumValue();
+ var entity = new GrassCoverErosionInwardsOvertoppingRateOutputEntity
+ {
+ OvertoppingRate = overtoppingRate,
+ TargetProbability = targetProbability,
+ TargetReliability = targetReliability,
+ CalculatedProbability = calculatedProbability,
+ CalculatedReliability = calculatedReliability,
+ CalculationConvergence = (byte) convergence
+ };
+
+ // Call
+ SubCalculationAssessmentOutput output = entity.Read();
+
+ // Assert
+ Assert.AreEqual(overtoppingRate, output.Result, output.Result.GetAccuracy());
+ Assert.AreEqual(targetProbability, output.TargetProbability);
+ Assert.AreEqual(targetReliability, output.TargetReliability, output.TargetReliability.GetAccuracy());
+ Assert.AreEqual(calculatedProbability, output.CalculatedProbability);
+ Assert.AreEqual(calculatedReliability, output.CalculatedReliability, output.CalculatedReliability.GetAccuracy());
+ Assert.AreEqual(convergence, output.CalculationConvergence);
+ }
+
+ [Test]
+ public void Read_NullParameters_ReturnsOvertoppingRateAssessmentOutputWithNaN()
+ {
+ // Setup
+ var random = new Random(22);
+ var convergence = random.NextEnumValue();
+ var entity = new GrassCoverErosionInwardsOvertoppingRateOutputEntity
+ {
+ CalculationConvergence = (byte) convergence
+ };
+
+ // Call
+ SubCalculationAssessmentOutput output = entity.Read();
+
+ // Assert
+ Assert.IsNaN(output.Result);
+ Assert.IsNaN(output.TargetProbability);
+ Assert.IsNaN(output.TargetReliability);
+ Assert.IsNaN(output.CalculatedProbability);
+ Assert.IsNaN(output.CalculatedReliability);
+ Assert.AreEqual(convergence, output.CalculationConvergence);
+ }
+ }
+}
\ No newline at end of file