Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Application.Ringtoets.Storage.csproj
===================================================================
diff -u -r56ac4eb28f5fcc5b20117474e9e4030399d6806a -r46caddf3f9694166feba0eb8647821bd15488cc1
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Application.Ringtoets.Storage.csproj (.../Application.Ringtoets.Storage.csproj) (revision 56ac4eb28f5fcc5b20117474e9e4030399d6806a)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Application.Ringtoets.Storage.csproj (.../Application.Ringtoets.Storage.csproj) (revision 46caddf3f9694166feba0eb8647821bd15488cc1)
@@ -68,7 +68,7 @@
-
+
Fisheye: Tag 46caddf3f9694166feba0eb8647821bd15488cc1 refers to a dead (removed) revision in file `Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionInwards/DikeHeightAssessmentOutputCreateExtensions.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionInwards/HydraulicLoadsOutputCreateExtensions.cs
===================================================================
diff -u
--- Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionInwards/HydraulicLoadsOutputCreateExtensions.cs (revision 0)
+++ Application/Ringtoets/src/Application.Ringtoets.Storage/Create/GrassCoverErosionInwards/HydraulicLoadsOutputCreateExtensions.cs (revision 46caddf3f9694166feba0eb8647821bd15488cc1)
@@ -0,0 +1,107 @@
+// 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.GrassCoverErosionInwards.Data;
+
+namespace Application.Ringtoets.Storage.Create.GrassCoverErosionInwards
+{
+ ///
+ /// Extension methods for related to creating a
+ /// or a
+ /// .
+ ///
+ internal static class HydraulicLoadsOutputCreateExtensions
+ {
+ ///
+ /// Creates a
+ /// based on the information of the .
+ ///
+ /// The output to create a database entity for.
+ /// A new .
+ /// Thrown when
+ /// is null.
+ internal static GrassCoverErosionInwardsDikeHeightOutputEntity CreateDikeHeight(this HydraulicLoadsOutput output)
+ {
+ if (output == null)
+ {
+ throw new ArgumentNullException(nameof(output));
+ }
+
+ return new GrassCoverErosionInwardsDikeHeightOutputEntity
+ {
+ DikeHeight = 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
+ };
+ }
+
+ ///
+ /// 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 HydraulicLoadsOutput 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/test/Application.Ringtoets.Storage.Test/Application.Ringtoets.Storage.Test.csproj
===================================================================
diff -u -r56ac4eb28f5fcc5b20117474e9e4030399d6806a -r46caddf3f9694166feba0eb8647821bd15488cc1
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Application.Ringtoets.Storage.Test.csproj (.../Application.Ringtoets.Storage.Test.csproj) (revision 56ac4eb28f5fcc5b20117474e9e4030399d6806a)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Application.Ringtoets.Storage.Test.csproj (.../Application.Ringtoets.Storage.Test.csproj) (revision 46caddf3f9694166feba0eb8647821bd15488cc1)
@@ -85,7 +85,7 @@
-
+
Fisheye: Tag 46caddf3f9694166feba0eb8647821bd15488cc1 refers to a dead (removed) revision in file `Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionInwards/DikeHeightAssessmentOutputCreateExtensionsTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionInwards/HydraulicLoadsOutputCreateExtensionsTest.cs
===================================================================
diff -u
--- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionInwards/HydraulicLoadsOutputCreateExtensionsTest.cs (revision 0)
+++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/GrassCoverErosionInwards/HydraulicLoadsOutputCreateExtensionsTest.cs (revision 46caddf3f9694166feba0eb8647821bd15488cc1)
@@ -0,0 +1,150 @@
+// 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.Create.GrassCoverErosionInwards;
+using Application.Ringtoets.Storage.DbContext;
+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.Create.GrassCoverErosionInwards
+{
+ [TestFixture]
+ public class HydraulicLoadsOutputCreateExtensionsTest
+ {
+ [Test]
+ public void CreateDikeHeight_OutputNull_ThrowArgumentNullException()
+ {
+ // Setup
+ HydraulicLoadsOutput 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 HydraulicLoadsOutput(
+ random.NextDouble(), random.NextDouble(), random.NextDouble(), random.NextDouble(),
+ random.NextDouble(), random.NextEnumValue());
+
+ // Call
+ GrassCoverErosionInwardsDikeHeightOutputEntity entity = output.CreateDikeHeight();
+
+ // Assert
+ Assert.IsNotNull(entity);
+ Assert.AreEqual(output.Result, entity.DikeHeight, 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 CreateDikeHeight_WithNaNParameters_ReturnsGrassCoverErosionInwardsDikeHeightOutputEntityWithOutputNull()
+ {
+ // Setup
+ var random = new Random(21);
+ var output = new HydraulicLoadsOutput(double.NaN, double.NaN, double.NaN,
+ double.NaN, double.NaN, random.NextEnumValue());
+
+ // Call
+ GrassCoverErosionInwardsDikeHeightOutputEntity entity = output.CreateDikeHeight();
+
+ // Assert
+ Assert.IsNotNull(entity);
+ Assert.IsNull(entity.DikeHeight);
+ Assert.IsNull(entity.TargetProbability);
+ Assert.IsNull(entity.TargetReliability);
+ Assert.IsNull(entity.CalculatedProbability);
+ Assert.IsNull(entity.CalculatedReliability);
+ Assert.AreEqual((byte) output.CalculationConvergence, entity.CalculationConvergence);
+ }
+
+ [Test]
+ public void CreateOvertoppingRate_OutputNull_ThrowArgumentNullException()
+ {
+ // Setup
+ HydraulicLoadsOutput 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 HydraulicLoadsOutput(
+ 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 HydraulicLoadsOutput(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