Index: Riskeer/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensions.cs
===================================================================
diff -u -re1da963f397797ce6d47241e13c112ce24a6104c -rc5c98a50c4c7661fc5055a09c8dd117f5bb5e816
--- Riskeer/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensions.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensions.cs) (revision e1da963f397797ce6d47241e13c112ce24a6104c)
+++ Riskeer/Storage/src/Riskeer.Storage.Core/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensions.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensions.cs) (revision c5c98a50c4c7661fc5055a09c8dd117f5bb5e816)
@@ -103,10 +103,21 @@
if (calculation.HasOutput)
{
var i = 0;
- foreach (WaveConditionsOutput output in calculation.Output.WaveImpactOutput)
+ if (calculation.Output.WaveRunUpOutput != null)
{
- entity.GrassCoverErosionOutwardsWaveConditionsOutputEntities.Add(output.CreateGrassCoverErosionOutwardsWaveConditionsOutputEntity(i++));
+ foreach (WaveConditionsOutput output in calculation.Output.WaveRunUpOutput)
+ {
+ entity.GrassCoverErosionOutwardsWaveConditionsOutputEntities.Add(output.CreateGrassCoverErosionOutwardsWaveConditionsOutputEntity(GrassCoverErosionOutwardsWaveConditionsOutputType.WaveRunUp, i++));
+ }
}
+
+ if (calculation.Output.WaveImpactOutput != null)
+ {
+ foreach (WaveConditionsOutput output in calculation.Output.WaveImpactOutput)
+ {
+ entity.GrassCoverErosionOutwardsWaveConditionsOutputEntities.Add(output.CreateGrassCoverErosionOutwardsWaveConditionsOutputEntity(GrassCoverErosionOutwardsWaveConditionsOutputType.WaveImpact, i++));
+ }
+ }
}
}
}
Index: Riskeer/Storage/src/Riskeer.Storage.Core/Create/WaveConditionsOutputCreateExtensions.cs
===================================================================
diff -u -rd319962bdfbaa0c9323493951ca8ff0b39b6bd8c -rc5c98a50c4c7661fc5055a09c8dd117f5bb5e816
--- Riskeer/Storage/src/Riskeer.Storage.Core/Create/WaveConditionsOutputCreateExtensions.cs (.../WaveConditionsOutputCreateExtensions.cs) (revision d319962bdfbaa0c9323493951ca8ff0b39b6bd8c)
+++ Riskeer/Storage/src/Riskeer.Storage.Core/Create/WaveConditionsOutputCreateExtensions.cs (.../WaveConditionsOutputCreateExtensions.cs) (revision c5c98a50c4c7661fc5055a09c8dd117f5bb5e816)
@@ -37,14 +37,16 @@
///
/// The calculation output for grass cover erosion outwards failure mechanism to
/// create a database entity for.
+ /// The type of .
/// The position of in the list of all outputs.
/// A new .
internal static GrassCoverErosionOutwardsWaveConditionsOutputEntity CreateGrassCoverErosionOutwardsWaveConditionsOutputEntity(
- this WaveConditionsOutput output, int order)
+ this WaveConditionsOutput output, GrassCoverErosionOutwardsWaveConditionsOutputType type, int order)
{
var entity = new GrassCoverErosionOutwardsWaveConditionsOutputEntity
{
Order = order,
+ OutputType = Convert.ToByte(type),
WaterLevel = output.WaterLevel.ToNaNAsNull(),
WaveHeight = output.WaveHeight.ToNaNAsNull(),
WavePeakPeriod = output.WavePeakPeriod.ToNaNAsNull(),
@@ -65,7 +67,7 @@
///
/// The calculation output for stability stone cover failure mechanism to
/// create a database entity for.
- /// The type of the .
+ /// The type of .
/// The position of in the list of all outputs.
/// A new .
internal static StabilityStoneCoverWaveConditionsOutputEntity CreateStabilityStoneCoverWaveConditionsOutputEntity(
Index: Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensionsTest.cs
===================================================================
diff -u -r877f0d6830122b89d78bc3e27aa3c61736617276 -rc5c98a50c4c7661fc5055a09c8dd117f5bb5e816
--- Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensionsTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensionsTest.cs) (revision 877f0d6830122b89d78bc3e27aa3c61736617276)
+++ Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensionsTest.cs (.../GrassCoverErosionOutwardsWaveConditionsCalculationCreateExtensionsTest.cs) (revision c5c98a50c4c7661fc5055a09c8dd117f5bb5e816)
@@ -20,14 +20,15 @@
// All rights reserved.
using System;
+using System.Collections.Generic;
+using System.Linq;
using Core.Common.Base.Data;
using Core.Common.TestUtil;
using NUnit.Framework;
using Riskeer.Common.Data.FailureMechanism;
using Riskeer.Common.Data.Hydraulics;
using Riskeer.Common.Data.TestUtil;
using Riskeer.GrassCoverErosionOutwards.Data;
-using Riskeer.GrassCoverErosionOutwards.Data.TestUtil;
using Riskeer.Revetment.Data;
using Riskeer.Revetment.Data.TestUtil;
using Riskeer.Storage.Core.Create;
@@ -217,13 +218,13 @@
}
[Test]
- public void Create_HasCalculationOutput_EntityHasCalculationOutputEntity()
+ public void Create_HasCalculationOutputWithWaveRunUpAndWaveImpact_EntityHasCalculationOutputEntity()
{
// Setup
var registry = new PersistenceRegistry();
var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation
{
- Output = GrassCoverErosionOutwardsWaveConditionsOutputTestFactory.Create(
+ Output = GrassCoverErosionOutwardsWaveConditionsOutputFactory.CreateOutputWithWaveRunUpAndWaveImpact(
new[]
{
new TestWaveConditionsOutput()
@@ -238,7 +239,76 @@
GrassCoverErosionOutwardsWaveConditionsCalculationEntity entity = calculation.Create(registry, 0);
// Assert
- Assert.AreEqual(1, entity.GrassCoverErosionOutwardsWaveConditionsOutputEntities.Count);
+ ICollection outputEntities = entity.GrassCoverErosionOutwardsWaveConditionsOutputEntities;
+ Assert.AreEqual(2, outputEntities.Count);
+ CollectionAssert.AreEqual(new[]
+ {
+ 0,
+ 1
+ }, outputEntities.Select(oe => oe.Order));
+
+ Assert.AreEqual(Convert.ToByte(GrassCoverErosionOutwardsWaveConditionsOutputType.WaveRunUp), outputEntities.ElementAt(0).OutputType);
+ Assert.AreEqual(Convert.ToByte(GrassCoverErosionOutwardsWaveConditionsOutputType.WaveImpact), outputEntities.ElementAt(1).OutputType);
}
+
+ [Test]
+ public void Create_HasCalculationOutputWithWaveRunUp_EntityHasCalculationOutputEntity()
+ {
+ // Setup
+ var registry = new PersistenceRegistry();
+ var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation
+ {
+ Output = GrassCoverErosionOutwardsWaveConditionsOutputFactory.CreateOutputWithWaveRunUp(
+ new[]
+ {
+ new TestWaveConditionsOutput(),
+ new TestWaveConditionsOutput()
+ })
+ };
+
+ // Call
+ GrassCoverErosionOutwardsWaveConditionsCalculationEntity entity = calculation.Create(registry, 0);
+
+ // Assert
+ ICollection outputEntities = entity.GrassCoverErosionOutwardsWaveConditionsOutputEntities;
+ Assert.AreEqual(2, outputEntities.Count);
+ CollectionAssert.AreEqual(new[]
+ {
+ 0,
+ 1
+ }, outputEntities.Select(oe => oe.Order));
+
+ Assert.IsTrue(outputEntities.All(oe => oe.OutputType == Convert.ToByte(GrassCoverErosionOutwardsWaveConditionsOutputType.WaveRunUp)));
+ }
+
+ [Test]
+ public void Create_HasCalculationOutputWithWaveImpact_EntityHasCalculationOutputEntity()
+ {
+ // Setup
+ var registry = new PersistenceRegistry();
+ var calculation = new GrassCoverErosionOutwardsWaveConditionsCalculation
+ {
+ Output = GrassCoverErosionOutwardsWaveConditionsOutputFactory.CreateOutputWithWaveImpact(
+ new[]
+ {
+ new TestWaveConditionsOutput(),
+ new TestWaveConditionsOutput()
+ })
+ };
+
+ // Call
+ GrassCoverErosionOutwardsWaveConditionsCalculationEntity entity = calculation.Create(registry, 0);
+
+ // Assert
+ ICollection outputEntities = entity.GrassCoverErosionOutwardsWaveConditionsOutputEntities;
+ Assert.AreEqual(2, outputEntities.Count);
+ CollectionAssert.AreEqual(new[]
+ {
+ 0,
+ 1
+ }, outputEntities.Select(oe => oe.Order));
+
+ Assert.IsTrue(outputEntities.All(oe => oe.OutputType == Convert.ToByte(GrassCoverErosionOutwardsWaveConditionsOutputType.WaveImpact)));
+ }
}
}
\ No newline at end of file
Index: Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsOutputCreateExtensionsTest.cs
===================================================================
diff -u -r86594ccd7329d320872573a1d066fe18959d3cea -rc5c98a50c4c7661fc5055a09c8dd117f5bb5e816
--- Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsOutputCreateExtensionsTest.cs (.../GrassCoverErosionOutwardsWaveConditionsOutputCreateExtensionsTest.cs) (revision 86594ccd7329d320872573a1d066fe18959d3cea)
+++ Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/GrassCoverErosionOutwards/GrassCoverErosionOutwardsWaveConditionsOutputCreateExtensionsTest.cs (.../GrassCoverErosionOutwardsWaveConditionsOutputCreateExtensionsTest.cs) (revision c5c98a50c4c7661fc5055a09c8dd117f5bb5e816)
@@ -19,6 +19,8 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
+using System;
+using Core.Common.TestUtil;
using NUnit.Framework;
using Riskeer.Common.Data.Hydraulics;
using Riskeer.Common.Data.TestUtil;
@@ -36,11 +38,14 @@
public void Create_AllOutputValuesSet_ReturnEntity()
{
// Setup
+ var random = new Random(21);
+ int order = random.Next();
+ var outputType = random.NextEnumValue();
+
var output = new TestWaveConditionsOutput();
- const int order = 22;
// Call
- GrassCoverErosionOutwardsWaveConditionsOutputEntity entity = output.CreateGrassCoverErosionOutwardsWaveConditionsOutputEntity(order);
+ GrassCoverErosionOutwardsWaveConditionsOutputEntity entity = output.CreateGrassCoverErosionOutwardsWaveConditionsOutputEntity(outputType, order);
// Assert
Assert.AreEqual(output.WaterLevel, entity.WaterLevel, output.WaterLevel.GetAccuracy());
@@ -53,6 +58,7 @@
Assert.AreEqual(output.CalculatedProbability, entity.CalculatedProbability);
Assert.AreEqual(output.CalculatedReliability, entity.CalculatedReliability, output.CalculatedReliability.GetAccuracy());
Assert.AreEqual(output.CalculationConvergence, (CalculationConvergence) entity.CalculationConvergence);
+ Assert.AreEqual(Convert.ToByte(outputType), entity.OutputType);
Assert.IsNull(entity.GrassCoverErosionOutwardsWaveConditionsCalculationEntity);
}
@@ -65,7 +71,8 @@
double.NaN, double.NaN, double.NaN, CalculationConvergence.NotCalculated);
// Call
- GrassCoverErosionOutwardsWaveConditionsOutputEntity entity = output.CreateGrassCoverErosionOutwardsWaveConditionsOutputEntity(1);
+ GrassCoverErosionOutwardsWaveConditionsOutputEntity entity =
+ output.CreateGrassCoverErosionOutwardsWaveConditionsOutputEntity(GrassCoverErosionOutwardsWaveConditionsOutputType.WaveImpact, 1);
// Assert
Assert.IsNull(entity.WaterLevel);
Index: Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/StabilityStoneCover/StabilityStoneCoverWaveConditionsCalculationCreateExtensionsTest.cs
===================================================================
diff -u -r75b608e20c7888ca79fb75ab9a70831056c4580a -rc5c98a50c4c7661fc5055a09c8dd117f5bb5e816
--- Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/StabilityStoneCover/StabilityStoneCoverWaveConditionsCalculationCreateExtensionsTest.cs (.../StabilityStoneCoverWaveConditionsCalculationCreateExtensionsTest.cs) (revision 75b608e20c7888ca79fb75ab9a70831056c4580a)
+++ Riskeer/Storage/test/Riskeer.Storage.Core.Test/Create/StabilityStoneCover/StabilityStoneCoverWaveConditionsCalculationCreateExtensionsTest.cs (.../StabilityStoneCoverWaveConditionsCalculationCreateExtensionsTest.cs) (revision c5c98a50c4c7661fc5055a09c8dd117f5bb5e816)
@@ -259,7 +259,7 @@
Output = StabilityStoneCoverWaveConditionsOutputFactory.CreateOutputWithBlocks(new[]
{
new TestWaveConditionsOutput(),
- new TestWaveConditionsOutput(),
+ new TestWaveConditionsOutput()
})
};
@@ -288,7 +288,7 @@
Output = StabilityStoneCoverWaveConditionsOutputFactory.CreateOutputWithColumns(new[]
{
new TestWaveConditionsOutput(),
- new TestWaveConditionsOutput(),
+ new TestWaveConditionsOutput()
})
};