Index: Demo/Ringtoets/src/Demo.Ringtoets/Commands/AddNewDemoAssessmentSectionCommand.cs
===================================================================
diff -u -r74b0bdbaaaf07d590ea85486e34bc639d14fe4e4 -ra053684de9667dfb70aa8cf669e22843c2bd39ed
--- Demo/Ringtoets/src/Demo.Ringtoets/Commands/AddNewDemoAssessmentSectionCommand.cs (.../AddNewDemoAssessmentSectionCommand.cs) (revision 74b0bdbaaaf07d590ea85486e34bc639d14fe4e4)
+++ Demo/Ringtoets/src/Demo.Ringtoets/Commands/AddNewDemoAssessmentSectionCommand.cs (.../AddNewDemoAssessmentSectionCommand.cs) (revision a053684de9667dfb70aa8cf669e22843c2bd39ed)
@@ -68,8 +68,6 @@
return demoAssessmentSection;
}
-
-
private void InitializeDemoReferenceLine(AssessmentSection demoAssessmentSection)
{
using (var embeddedResourceFileWriter = new EmbeddedResourceFileWriter(GetType().Assembly, true, "traject_6-3.shp", "traject_6-3.dbf", "traject_6-3.prj", "traject_6-3.shx"))
@@ -148,7 +146,7 @@
{
GrassCoverErosionInwardsFailureMechanism failureMechanism = demoAssessmentSection.GrassCoverErosionInwards;
- var calculation = new GrassCoverErosionInwardsCalculation(failureMechanism.GeneralInput);
+ var calculation = new GrassCoverErosionInwardsCalculation(failureMechanism.GeneralInput, failureMechanism.NormProbabilityInput);
failureMechanism.CalculationsGroup.Children.Add(calculation);
calculation.InputParameters.HydraulicBoundaryLocation = demoAssessmentSection.HydraulicBoundaryDatabase.Locations.First(hl => hl.Id == 1300001);
calculation.InputParameters.NotifyObservers();
Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsCalculation.cs
===================================================================
diff -u -r7f45f1f08a4e6849984063d43bfecfd949b3c3fb -ra053684de9667dfb70aa8cf669e22843c2bd39ed
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsCalculation.cs (.../GrassCoverErosionInwardsCalculation.cs) (revision 7f45f1f08a4e6849984063d43bfecfd949b3c3fb)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Data/GrassCoverErosionInwardsCalculation.cs (.../GrassCoverErosionInwardsCalculation.cs) (revision a053684de9667dfb70aa8cf669e22843c2bd39ed)
@@ -37,16 +37,28 @@
///
/// Creates a new instance of .
///
- /// General grass cover erosion inwards calculation input parameters that apply to each calculation.
- /// When is null.
- public GrassCoverErosionInwardsCalculation(GeneralGrassCoverErosionInwardsInput generalInputParameters)
+ /// General grass cover erosion inwards calculation input parameters
+ /// that apply to each calculation.
+ /// General norm probabilistic parameters that apply to each
+ /// calculation.
+ /// Thrown when
+ /// - is null.
+ /// - is null.
+ ///
+ public GrassCoverErosionInwardsCalculation(GeneralGrassCoverErosionInwardsInput generalInputParameters,
+ NormProbabilityGrassCoverErosionInwardsInput normProbabilityInput)
{
if (generalInputParameters == null)
{
throw new ArgumentNullException("generalInputParameters");
}
+ if (normProbabilityInput == null)
+ {
+ throw new ArgumentNullException("normProbabilityInput");
+ }
Name = Resources.GrassCoverErosionInwardsCalculation_DefaultName;
InputParameters = new GrassCoverErosionInwardsInput(generalInputParameters);
+ NormProbabilityInput = normProbabilityInput;
AddDemoInput();
}
@@ -56,6 +68,11 @@
public GrassCoverErosionInwardsInput InputParameters { get; private set; }
///
+ /// Gets the length-effect parameters.
+ ///
+ public NormProbabilityGrassCoverErosionInwardsInput NormProbabilityInput { get; private set; }
+
+ ///
/// Gets or sets , which contains the results of a grass cover erosion inwards calculation.
///
public GrassCoverErosionInwardsOutput Output { get; set; }
@@ -105,8 +122,8 @@
// CriticalFlowRate
InputParameters.CriticalFlowRate = new LognormalDistribution(4)
{
- Mean = new RoundedDouble(4,0.004),
- StandardDeviation = new RoundedDouble(4,0.0006)
+ Mean = new RoundedDouble(4, 0.004),
+ StandardDeviation = new RoundedDouble(4, 0.0006)
};
// Dike and Foreshore
Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs
===================================================================
diff -u -ra84ad0dc60c583bc68f6c95c57f3499e16a5f3d1 -ra053684de9667dfb70aa8cf669e22843c2bd39ed
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs (.../GrassCoverErosionInwardsGuiPlugin.cs) (revision a84ad0dc60c583bc68f6c95c57f3499e16a5f3d1)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs (.../GrassCoverErosionInwardsGuiPlugin.cs) (revision a053684de9667dfb70aa8cf669e22843c2bd39ed)
@@ -26,7 +26,6 @@
using System.IO;
using System.Linq;
using System.Windows.Forms;
-using Core.Common.Base.Data;
using Core.Common.Controls.TreeView;
using Core.Common.Gui.Forms.ProgressDialog;
using Core.Common.Gui.Plugin;
@@ -42,6 +41,7 @@
using Ringtoets.GrassCoverErosionInwards.Forms.PropertyClasses;
using Ringtoets.GrassCoverErosionInwards.Forms.Views;
using Ringtoets.GrassCoverErosionInwards.Plugin.Properties;
+using Ringtoets.GrassCoverErosionInwards.Service;
using Ringtoets.HydraRing.Calculation.Activities;
using Ringtoets.HydraRing.Calculation.Data;
using Ringtoets.HydraRing.Calculation.Data.Input.Overtopping;
@@ -70,10 +70,10 @@
public override IEnumerable GetViewInfos()
{
yield return new ViewInfo<
- FailureMechanismSectionResultContext,
- IEnumerable,
+ FailureMechanismSectionResultContext,
+ IEnumerable,
GrassCoverErosionInwardsFailureMechanismResultView
- >
+ >
{
GetViewName = (v, o) => RingtoetsCommonDataResources.FailureMechanism_AssessmentResult_DisplayName,
Image = RingtoetsCommonFormsResources.FailureMechanismSectionResultIcon,
@@ -138,7 +138,8 @@
private static ExceedanceProbabilityCalculationActivity CreateHydraRingTargetProbabilityCalculationActivity(FailureMechanismSection failureMechanismSection,
string hlcdDirectory,
- GrassCoverErosionInwardsCalculation calculation)
+ GrassCoverErosionInwardsCalculation calculation,
+ double norm)
{
var hydraulicBoundaryLocationId = (int) calculation.InputParameters.HydraulicBoundaryLocation.Id;
var sectionLength = failureMechanismSection.GetSectionLength();
@@ -165,7 +166,7 @@
ParseBreakWater(inwardsInput)
),
calculation.ClearOutput,
- output => { ParseHydraRingOutput(calculation, output); });
+ output => { ParseHydraRingOutput(calculation, norm, output); });
}
private static HydraRingBreakWater ParseBreakWater(GrassCoverErosionInwardsInput input)
@@ -206,26 +207,27 @@
}
}
- private static void ParseHydraRingOutput(GrassCoverErosionInwardsCalculation calculation, ExceedanceProbabilityCalculationOutput output)
+ private static void ParseHydraRingOutput(GrassCoverErosionInwardsCalculation calculation, double contribution, ExceedanceProbabilityCalculationOutput output)
{
if (output != null)
{
- calculation.Output = new GrassCoverErosionInwardsOutput(double.NaN, double.NaN, (RoundedDouble) output.Beta, double.NaN, double.NaN);
+ GrassCoverErosionInwardsOutputCalculationService.Calculate(calculation, contribution, output.Beta);
}
else
{
throw new InvalidOperationException(Resources.GrassCoverErosionInwardsGuiPlugin_Error_during_overtopping_calculation);
}
}
- private void CalculateAll(IFailureMechanism failureMechanism, IEnumerable calculations, IAssessmentSection assessmentSection)
+ private void CalculateAll(GrassCoverErosionInwardsFailureMechanism failureMechanism, IEnumerable calculations, IAssessmentSection assessmentSection)
{
// TODO: Remove "Where" filter when validation is implemented
ActivityProgressDialogRunner.Run(Gui.MainWindow, calculations.Where(calc => calc.InputParameters.HydraulicBoundaryLocation != null)
.Select(calc => CreateHydraRingTargetProbabilityCalculationActivity(
failureMechanism.Sections.First(), // TODO: Pass dike section based on cross section of calculation with reference line
Path.GetDirectoryName(assessmentSection.HydraulicBoundaryDatabase.FilePath),
- calc)).ToList());
+ calc,
+ assessmentSection.FailureMechanismContribution.Norm)).ToList());
}
private static string AllDataAvailable(IAssessmentSection assessmentSection, GrassCoverErosionInwardsFailureMechanism failureMechanism)
@@ -251,6 +253,29 @@
return null;
}
+ #region GrassCoverErosionInwardsFailureMechanismResultView ViewInfo
+
+ private static bool CloseFailureMechanismResultViewForData(GrassCoverErosionInwardsFailureMechanismResultView view, object o)
+ {
+ var assessmentSection = o as IAssessmentSection;
+ var failureMechanism = o as IFailureMechanism;
+ var failureMechanismContext = o as IFailureMechanismContext;
+ if (assessmentSection != null)
+ {
+ return assessmentSection
+ .GetFailureMechanisms()
+ .OfType()
+ .Any(fm => ReferenceEquals(view.Data, fm.SectionResults));
+ }
+ if (failureMechanismContext != null)
+ {
+ failureMechanism = failureMechanismContext.WrappedData;
+ }
+ return failureMechanism != null && ReferenceEquals(view.Data, ((FailureMechanismBase) failureMechanism).SectionResults);
+ }
+
+ #endregion
+
#region GrassCoverErosionInwards TreeNodeInfo
private object[] FailureMechanismEnabledChildNodeObjects(GrassCoverErosionInwardsFailureMechanismContext grassCoverErosionInwardsFailureMechanismContext)
@@ -333,7 +358,7 @@
private static void AddCalculation(GrassCoverErosionInwardsCalculationGroupContext context)
{
- var calculation = new GrassCoverErosionInwardsCalculation(context.FailureMechanism.GeneralInput)
+ var calculation = new GrassCoverErosionInwardsCalculation(context.FailureMechanism.GeneralInput, context.FailureMechanism.NormProbabilityInput)
{
Name = NamingHelper.GetUniqueName(context.WrappedData.Children, GrassCoverErosionInwardsDataResources.GrassCoverErosionInwardsCalculation_DefaultName, c => c.Name)
};
@@ -348,29 +373,6 @@
#endregion
- #region GrassCoverErosionInwardsFailureMechanismResultView ViewInfo
-
- private static bool CloseFailureMechanismResultViewForData(GrassCoverErosionInwardsFailureMechanismResultView view, object o)
- {
- var assessmentSection = o as IAssessmentSection;
- var failureMechanism = o as IFailureMechanism;
- var failureMechanismContext = o as IFailureMechanismContext;
- if (assessmentSection != null)
- {
- return assessmentSection
- .GetFailureMechanisms()
- .OfType()
- .Any(fm => ReferenceEquals(view.Data, fm.SectionResults));
- }
- if (failureMechanismContext != null)
- {
- failureMechanism = failureMechanismContext.WrappedData;
- }
- return failureMechanism != null && ReferenceEquals(view.Data, ((FailureMechanismBase)failureMechanism).SectionResults);
- }
-
- #endregion
-
#region CalculationGroupContext TreeNodeInfo
private static object[] CalculationGroupContextChildNodeObjects(GrassCoverErosionInwardsCalculationGroupContext nodeData)
@@ -517,7 +519,8 @@
var activity = CreateHydraRingTargetProbabilityCalculationActivity(
context.FailureMechanism.Sections.First(), // TODO: Pass dike section based on cross section of calculation with reference line
Path.GetDirectoryName(context.AssessmentSection.HydraulicBoundaryDatabase.FilePath),
- calculation);
+ calculation,
+ context.AssessmentSection.FailureMechanismContribution.Norm);
ActivityProgressDialogRunner.Run(Gui.MainWindow, activity);
}
Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/Ringtoets.GrassCoverErosionInwards.Plugin.csproj
===================================================================
diff -u -rb5dda9752bc1d895c6c88427ef75c1771b671808 -ra053684de9667dfb70aa8cf669e22843c2bd39ed
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/Ringtoets.GrassCoverErosionInwards.Plugin.csproj (.../Ringtoets.GrassCoverErosionInwards.Plugin.csproj) (revision b5dda9752bc1d895c6c88427ef75c1771b671808)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/Ringtoets.GrassCoverErosionInwards.Plugin.csproj (.../Ringtoets.GrassCoverErosionInwards.Plugin.csproj) (revision a053684de9667dfb70aa8cf669e22843c2bd39ed)
@@ -119,6 +119,11 @@
Ringtoets.GrassCoverErosionInwards.Forms
False
+
+ {2852E99B-AADB-4CBA-B6D2-6882D6113AA3}
+ Ringtoets.GrassCoverErosionInwards.Service
+ False
+
Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsOutputCalculationService.cs
===================================================================
diff -u
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsOutputCalculationService.cs (revision 0)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/GrassCoverErosionInwardsOutputCalculationService.cs (revision a053684de9667dfb70aa8cf669e22843c2bd39ed)
@@ -0,0 +1,127 @@
+// 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 MathNet.Numerics.Distributions;
+using Ringtoets.GrassCoverErosionInwards.Data;
+
+namespace Ringtoets.GrassCoverErosionInwards.Service
+{
+ ///
+ /// This class is responsible for calculating the parameters required for .
+ ///
+ public class GrassCoverErosionInwardsOutputCalculationService
+ {
+ // Inputs
+ private readonly double norm;
+ private readonly int lengthEffectN;
+ private readonly double probability;
+
+ // Results
+ private double betaTrajectNorm;
+ private double pTCrossAllowed;
+ private double pTCrossGEKB;
+ private double requiredReliability;
+ private double reliability;
+ private double factorOfSafety;
+
+ private GrassCoverErosionInwardsOutputCalculationService(double norm, int lengthEffectN, double probability)
+ {
+ this.norm = norm;
+ this.lengthEffectN = lengthEffectN;
+ this.probability = probability;
+ }
+
+ ///
+ /// Calculates
+ ///
+ ///
+ ///
+ ///
+ public static void Calculate(GrassCoverErosionInwardsCalculation calculation, double norm, double probability)
+ {
+ var calculator = new GrassCoverErosionInwardsOutputCalculationService(norm, calculation.NormProbabilityInput.N, probability);
+
+ calculator.Calculate();
+
+ calculation.Output = new GrassCoverErosionInwardsOutput(calculator.betaTrajectNorm,
+ calculator.requiredReliability,
+ calculator.probability,
+ calculator.reliability,
+ calculator.factorOfSafety);
+ }
+
+ private void Calculate()
+ {
+ CalculateReliability();
+
+ CalculateRequiredReliability();
+
+ factorOfSafety = FactorOfSafety(reliability, requiredReliability);
+ }
+
+ private void CalculateReliability()
+ {
+ betaTrajectNorm = BetaTrajectNorm(norm);
+ pTCrossAllowed = PTCrossAllowed(probability, norm, lengthEffectN);
+ pTCrossGEKB = PTCrossGEKB();
+ }
+
+ private void CalculateRequiredReliability()
+ {
+ requiredReliability = BetaCrossAllowed(pTCrossAllowed);
+ reliability = BetaCrossGEKB(pTCrossGEKB);
+ }
+
+ #region Sub calculations
+
+ private static double BetaTrajectNorm(double contribution)
+ {
+ return new Normal().InverseCumulativeDistribution(1 - 1.0/contribution);
+ }
+
+ private static double PTCrossAllowed(double probability, double contribution, double n)
+ {
+ return probability*(1.0/contribution)/n;
+ }
+
+ private static double PTCrossGEKB()
+ {
+ return 1.0/50000;
+ }
+
+ private static double BetaCrossAllowed(double pTCrossAllowed)
+ {
+ return new Normal().InverseCumulativeDistribution(1 - pTCrossAllowed);
+ }
+
+ private static double BetaCrossGEKB(double pTCrossGEKB)
+ {
+ return new Normal().InverseCumulativeDistribution(1 - pTCrossGEKB);
+ }
+
+ private static double FactorOfSafety(double betaCrossGekb, double betaCrossAllowed)
+ {
+ return betaCrossGekb/betaCrossAllowed;
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/Ringtoets.GrassCoverErosionInwards.Service.csproj
===================================================================
diff -u -r1a6060cc0ba5e1ff43abf596b4b956942e76a978 -ra053684de9667dfb70aa8cf669e22843c2bd39ed
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/Ringtoets.GrassCoverErosionInwards.Service.csproj (.../Ringtoets.GrassCoverErosionInwards.Service.csproj) (revision 1a6060cc0ba5e1ff43abf596b4b956942e76a978)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Service/Ringtoets.GrassCoverErosionInwards.Service.csproj (.../Ringtoets.GrassCoverErosionInwards.Service.csproj) (revision a053684de9667dfb70aa8cf669e22843c2bd39ed)
@@ -32,8 +32,13 @@
AllRules.ruleset
+
+ ..\..\..\..\packages\MathNet.Numerics.3.8.0\lib\net40\MathNet.Numerics.dll
+ True
+
+
@@ -44,18 +49,35 @@
Properties\GlobalAssembly.cs
+
Copying.licenseheader
+
+
+ {3bbfd65b-b277-4e50-ae6d-bd24c3434609}
+ Core.Common.Base
+ False
+
{c90b77da-e421-43cc-b82e-529651bc21ac}
Core.Common.Version
+
+ {d4200f43-3f72-4f42-af0a-8ced416a38ec}
+ Ringtoets.Common.Data
+ False
+
+
+ {90DE728E-48EF-4665-AB38-3D88E41D9F4D}
+ Ringtoets.GrassCoverErosionInwards.Data
+ False
+
+
+
+
\ No newline at end of file
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsCalculationTest.cs
===================================================================
diff -u -r4539b4546747c257739b1695b9ebc9c29e393ffe -ra053684de9667dfb70aa8cf669e22843c2bd39ed
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsCalculationTest.cs (.../GrassCoverErosionInwardsCalculationTest.cs) (revision 4539b4546747c257739b1695b9ebc9c29e393ffe)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.Test/GrassCoverErosionInwardsCalculationTest.cs (.../GrassCoverErosionInwardsCalculationTest.cs) (revision a053684de9667dfb70aa8cf669e22843c2bd39ed)
@@ -35,21 +35,40 @@
[Test]
public void Constructor_NullGeneralInput_ThrowsArgumentNullException()
{
- // Setup & Call
- TestDelegate test = () => new GrassCoverErosionInwardsCalculation(null);
+ // Setup
+ var normProbabilityInput = new NormProbabilityGrassCoverErosionInwardsInput();
+ // Call
+ TestDelegate test = () => new GrassCoverErosionInwardsCalculation(null, normProbabilityInput);
+
// Assert
- Assert.Throws(test);
+ var exception = Assert.Throws(test);
+ Assert.AreEqual("generalInputParameters", exception.ParamName);
}
[Test]
+ public void Constructor_NullNormProbabilityGrassCoverErosionInwardsInput_ThrowsArgumentNullException()
+ {
+ // Setup
+ var generalInput = new GeneralGrassCoverErosionInwardsInput();
+
+ // Call
+ TestDelegate test = () => new GrassCoverErosionInwardsCalculation(generalInput, null);
+
+ // Assert
+ var exception = Assert.Throws(test);
+ Assert.AreEqual("normProbabilityInput", exception.ParamName);
+ }
+
+ [Test]
public void Constructor_DefaultPropertyValuesAreSet()
{
// Setup
var generalInput = new GeneralGrassCoverErosionInwardsInput();
+ var normProbabilityInput = new NormProbabilityGrassCoverErosionInwardsInput();
// Call
- var calculation = new GrassCoverErosionInwardsCalculation(generalInput);
+ var calculation = new GrassCoverErosionInwardsCalculation(generalInput, normProbabilityInput);
// Assert
Assert.IsInstanceOf(calculation);
@@ -60,6 +79,7 @@
Assert.IsNull(calculation.Comments);
Assert.IsNull(calculation.Output);
Assert.IsInstanceOf(calculation);
+ Assert.AreEqual(normProbabilityInput, calculation.NormProbabilityInput);
AssertDemoInput(calculation.InputParameters);
}
@@ -71,7 +91,8 @@
{
// Setup
var generalInput = new GeneralGrassCoverErosionInwardsInput();
- var calculation = new GrassCoverErosionInwardsCalculation(generalInput);
+ var normProbabilityInput = new NormProbabilityGrassCoverErosionInwardsInput();
+ var calculation = new GrassCoverErosionInwardsCalculation(generalInput, normProbabilityInput);
// Call
calculation.Name = name;
@@ -88,7 +109,8 @@
{
// Setup
var generalInput = new GeneralGrassCoverErosionInwardsInput();
- var calculation = new GrassCoverErosionInwardsCalculation(generalInput);
+ var normProbabilityInput = new NormProbabilityGrassCoverErosionInwardsInput();
+ var calculation = new GrassCoverErosionInwardsCalculation(generalInput, normProbabilityInput);
// Call
calculation.Comments = comments;
@@ -102,7 +124,8 @@
{
// Setup
var generalInput = new GeneralGrassCoverErosionInwardsInput();
- var calculation = new GrassCoverErosionInwardsCalculation(generalInput)
+ var normProbabilityInput = new NormProbabilityGrassCoverErosionInwardsInput();
+ var calculation = new GrassCoverErosionInwardsCalculation(generalInput, normProbabilityInput)
{
Output = new TestGrassCoverErosionInwardsOutput()
};
@@ -119,7 +142,8 @@
{
// Setup
var generalInput = new GeneralGrassCoverErosionInwardsInput();
- var calculation = new GrassCoverErosionInwardsCalculation(generalInput)
+ var normProbabilityInput = new NormProbabilityGrassCoverErosionInwardsInput();
+ var calculation = new GrassCoverErosionInwardsCalculation(generalInput, normProbabilityInput)
{
Output = null
};
@@ -133,7 +157,8 @@
{
// Setup
var generalInput = new GeneralGrassCoverErosionInwardsInput();
- var calculation = new GrassCoverErosionInwardsCalculation(generalInput)
+ var normProbabilityInput = new NormProbabilityGrassCoverErosionInwardsInput();
+ var calculation = new GrassCoverErosionInwardsCalculation(generalInput, normProbabilityInput)
{
Output = new TestGrassCoverErosionInwardsOutput()
};
@@ -147,7 +172,8 @@
{
// Setup
var generalInput = new GeneralGrassCoverErosionInwardsInput();
- var calculation = new GrassCoverErosionInwardsCalculation(generalInput);
+ var normProbabilityInput = new NormProbabilityGrassCoverErosionInwardsInput();
+ var calculation = new GrassCoverErosionInwardsCalculation(generalInput, normProbabilityInput);
var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "test", 1.0, 2.0);
calculation.InputParameters.HydraulicBoundaryLocation = hydraulicBoundaryLocation;
@@ -166,7 +192,8 @@
{
// Setup
var generalInput = new GeneralGrassCoverErosionInwardsInput();
- var calculation = new GrassCoverErosionInwardsCalculation(generalInput);
+ var normProbabilityInput = new NormProbabilityGrassCoverErosionInwardsInput();
+ var calculation = new GrassCoverErosionInwardsCalculation(generalInput, normProbabilityInput);
var inputParameters = calculation.InputParameters;
// Call
@@ -181,7 +208,9 @@
{
// Setup
var output = new GrassCoverErosionInwardsOutput(2.0, 3.0, 1.4, 50.3, 16.3);
- var calculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput())
+ var generalInput = new GeneralGrassCoverErosionInwardsInput();
+ var normProbabilityInput = new NormProbabilityGrassCoverErosionInwardsInput();
+ var calculation = new GrassCoverErosionInwardsCalculation(generalInput, normProbabilityInput)
{
Output = output
};
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.TestUtil.Test/GrassCoverErosionInwardsCalculationFactoryTest.cs
===================================================================
diff -u -r4539b4546747c257739b1695b9ebc9c29e393ffe -ra053684de9667dfb70aa8cf669e22843c2bd39ed
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.TestUtil.Test/GrassCoverErosionInwardsCalculationFactoryTest.cs (.../GrassCoverErosionInwardsCalculationFactoryTest.cs) (revision 4539b4546747c257739b1695b9ebc9c29e393ffe)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.TestUtil.Test/GrassCoverErosionInwardsCalculationFactoryTest.cs (.../GrassCoverErosionInwardsCalculationFactoryTest.cs) (revision a053684de9667dfb70aa8cf669e22843c2bd39ed)
@@ -38,7 +38,8 @@
var calculation = GrassCoverErosionInwardsCalculationFactory.CreateCalculationWithInvalidData();
// Assert
- var emptyCalculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput());
+ var emptyCalculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(),
+ new NormProbabilityGrassCoverErosionInwardsInput());
AssertGrassCoverErosionInwardsCalculationAreEqual(emptyCalculation, calculation);
}
@@ -54,7 +55,8 @@
DesignWaterLevel = (RoundedDouble) 1.0
};
- var validCalculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput())
+ var validCalculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(),
+ new NormProbabilityGrassCoverErosionInwardsInput())
{
InputParameters =
{
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.TestUtil/GrassCoverErosionInwardsCalculationFactory.cs
===================================================================
diff -u -r4435a35be229b12da5859395985ad38c9c5d4729 -ra053684de9667dfb70aa8cf669e22843c2bd39ed
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.TestUtil/GrassCoverErosionInwardsCalculationFactory.cs (.../GrassCoverErosionInwardsCalculationFactory.cs) (revision 4435a35be229b12da5859395985ad38c9c5d4729)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Data.TestUtil/GrassCoverErosionInwardsCalculationFactory.cs (.../GrassCoverErosionInwardsCalculationFactory.cs) (revision a053684de9667dfb70aa8cf669e22843c2bd39ed)
@@ -36,7 +36,8 @@
/// A new instance of without data.
public static GrassCoverErosionInwardsCalculation CreateCalculationWithInvalidData()
{
- return new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput());
+ return new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(),
+ new NormProbabilityGrassCoverErosionInwardsInput());
}
///
@@ -50,7 +51,8 @@
DesignWaterLevel = (RoundedDouble) 1.0
};
- return new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput())
+ return new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(),
+ new NormProbabilityGrassCoverErosionInwardsInput())
{
InputParameters =
{
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/GrassCoverErosionInwardsCalculationContextPropertiesTest.cs
===================================================================
diff -u -reaa8b3e276e1a0a6a4d0a2f96016879d8d12d394 -ra053684de9667dfb70aa8cf669e22843c2bd39ed
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/GrassCoverErosionInwardsCalculationContextPropertiesTest.cs (.../GrassCoverErosionInwardsCalculationContextPropertiesTest.cs) (revision eaa8b3e276e1a0a6a4d0a2f96016879d8d12d394)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/PropertyClasses/GrassCoverErosionInwardsCalculationContextPropertiesTest.cs (.../GrassCoverErosionInwardsCalculationContextPropertiesTest.cs) (revision a053684de9667dfb70aa8cf669e22843c2bd39ed)
@@ -81,9 +81,10 @@
var assessmentSectionMock = mockRepository.StrictMock();
var failureMechanismMock = mockRepository.StrictMock();
var generalInput = new GeneralGrassCoverErosionInwardsInput();
+ var normProbabilityInput = new NormProbabilityGrassCoverErosionInwardsInput();
mockRepository.ReplayAll();
- var calculation = new GrassCoverErosionInwardsCalculation(generalInput);
+ var calculation = new GrassCoverErosionInwardsCalculation(generalInput, normProbabilityInput);
calculation.Attach(observerMock);
var properties = new GrassCoverErosionInwardsCalculationContextProperties
{
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsCalculationContextTreeNodeInfoTest.cs
===================================================================
diff -u -rde6ffafc792b3f154436127cca3ccd922776df09 -ra053684de9667dfb70aa8cf669e22843c2bd39ed
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsCalculationContextTreeNodeInfoTest.cs (.../GrassCoverErosionInwardsCalculationContextTreeNodeInfoTest.cs) (revision de6ffafc792b3f154436127cca3ccd922776df09)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsCalculationContextTreeNodeInfoTest.cs (.../GrassCoverErosionInwardsCalculationContextTreeNodeInfoTest.cs) (revision a053684de9667dfb70aa8cf669e22843c2bd39ed)
@@ -96,7 +96,7 @@
var assessmentSectionMock = mocks.StrictMock();
mocks.ReplayAll();
- var calculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput());
+ var calculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(), new NormProbabilityGrassCoverErosionInwardsInput());
var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
var calculationContext = new GrassCoverErosionInwardsCalculationContext(calculation, failureMechanism, assessmentSectionMock);
@@ -142,7 +142,8 @@
var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
var assessmentSectionMock = mocks.StrictMock();
- var calculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput());
+ var calculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(),
+ new NormProbabilityGrassCoverErosionInwardsInput());
var nodeData = new GrassCoverErosionInwardsCalculationContext(calculation, failureMechanism, assessmentSectionMock);
@@ -166,7 +167,8 @@
var treeViewControlMock = mocks.StrictMock();
var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
var assessmentSectionMock = mocks.StrictMock();
- var calculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput());
+ var calculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(),
+ new NormProbabilityGrassCoverErosionInwardsInput());
var nodeData = new GrassCoverErosionInwardsCalculationContext(calculation, failureMechanism, assessmentSectionMock);
var gui = mocks.StrictMock();
@@ -205,7 +207,8 @@
var assessmentSectionMock = mocks.StrictMock();
assessmentSectionMock.Expect(asm => asm.HydraulicBoundaryDatabase).Return(null);
- var calculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput());
+ var calculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(),
+ new NormProbabilityGrassCoverErosionInwardsInput());
var nodeData = new GrassCoverErosionInwardsCalculationContext(calculation, failureMechanism, assessmentSectionMock);
@@ -244,7 +247,8 @@
var assessmentSectionMock = mocks.StrictMock();
assessmentSectionMock.Stub(asm => asm.HydraulicBoundaryDatabase).Return(new HydraulicBoundaryDatabase());
- var calculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput());
+ var calculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(),
+ new NormProbabilityGrassCoverErosionInwardsInput());
var nodeData = new GrassCoverErosionInwardsCalculationContext(calculation, failureMechanism, assessmentSectionMock);
@@ -292,7 +296,8 @@
var assessmentSectionMock = mocks.StrictMock();
assessmentSectionMock.Stub(asm => asm.HydraulicBoundaryDatabase).Return(hydraulicBoundaryDatabase);
- var calculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput());
+ var calculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(),
+ new NormProbabilityGrassCoverErosionInwardsInput());
var nodeData = new GrassCoverErosionInwardsCalculationContext(calculation, failureMechanism, assessmentSectionMock);
@@ -345,7 +350,8 @@
var assessmentSectionMock = mocks.StrictMock();
assessmentSectionMock.Stub(asm => asm.HydraulicBoundaryDatabase).Return(hydraulicBoundaryDatabase);
- var calculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput())
+ var calculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(),
+ new NormProbabilityGrassCoverErosionInwardsInput())
{
Output = new GrassCoverErosionInwardsOutput(double.NaN, double.NaN, double.NaN, double.NaN, double.NaN),
InputParameters =
@@ -397,11 +403,13 @@
var observer = mocks.StrictMock();
observer.Expect(o => o.UpdateObserver());
- var elementToBeRemoved = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput());
+ var elementToBeRemoved = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(),
+ new NormProbabilityGrassCoverErosionInwardsInput());
var group = new CalculationGroup("", groupNameEditable);
group.Children.Add(elementToBeRemoved);
- group.Children.Add(new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput()));
+ group.Children.Add(new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(),
+ new NormProbabilityGrassCoverErosionInwardsInput()));
group.Attach(observer);
var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsCalculationGroupContextTreeNodeInfoTest.cs
===================================================================
diff -u -rba695b5898e5496e3641f5e676a7717993b04358 -ra053684de9667dfb70aa8cf669e22843c2bd39ed
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsCalculationGroupContextTreeNodeInfoTest.cs (.../GrassCoverErosionInwardsCalculationGroupContextTreeNodeInfoTest.cs) (revision ba695b5898e5496e3641f5e676a7717993b04358)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsCalculationGroupContextTreeNodeInfoTest.cs (.../GrassCoverErosionInwardsCalculationGroupContextTreeNodeInfoTest.cs) (revision a053684de9667dfb70aa8cf669e22843c2bd39ed)
@@ -112,7 +112,7 @@
var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
var group = new CalculationGroup();
var childGroup = new CalculationGroup();
- var childCalculation = new GrassCoverErosionInwardsCalculation(failureMechanism.GeneralInput);
+ var childCalculation = new GrassCoverErosionInwardsCalculation(failureMechanism.GeneralInput, failureMechanism.NormProbabilityInput);
group.Children.Add(childGroup);
group.Children.Add(calculationItem);
@@ -253,7 +253,7 @@
{
Children =
{
- new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput())
+ new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(), new NormProbabilityGrassCoverErosionInwardsInput())
}
};
@@ -294,7 +294,7 @@
{
Children =
{
- new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput())
+ new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(), new NormProbabilityGrassCoverErosionInwardsInput())
}
};
@@ -304,7 +304,7 @@
new Point2D(0, 0)
}));
failureMechanism.CalculationsGroup.Children.Add(
- new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput()));
+ new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(), new NormProbabilityGrassCoverErosionInwardsInput()));
var assessmentSectionMock = mocks.StrictMock();
assessmentSectionMock.Stub(asm => asm.HydraulicBoundaryDatabase).Return(null);
@@ -347,7 +347,7 @@
{
Children =
{
- new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput())
+ new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(), new NormProbabilityGrassCoverErosionInwardsInput())
}
};
@@ -357,7 +357,7 @@
new Point2D(0, 0)
}));
failureMechanism.CalculationsGroup.Children.Add(
- new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput()));
+ new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(), new NormProbabilityGrassCoverErosionInwardsInput()));
var assessmentSectionMock = mocks.StrictMock();
assessmentSectionMock.Stub(asm => asm.HydraulicBoundaryDatabase).Return(new HydraulicBoundaryDatabase());
@@ -401,7 +401,7 @@
{
Children =
{
- new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput())
+ new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(), new NormProbabilityGrassCoverErosionInwardsInput())
}
};
@@ -419,7 +419,7 @@
new Point2D(0, 0)
}));
failureMechanism.CalculationsGroup.Children.Add(
- new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput()));
+ new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(), new NormProbabilityGrassCoverErosionInwardsInput()));
var assessmentSectionMock = mocks.StrictMock();
assessmentSectionMock.Stub(asm => asm.HydraulicBoundaryDatabase).Return(hydraulicBoundaryDatabase);
@@ -673,7 +673,7 @@
failureMechanism,
assessmentSectionMock);
- var calculationItem = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput())
+ var calculationItem = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(), new NormProbabilityGrassCoverErosionInwardsInput())
{
Name = "Nieuwe berekening"
};
@@ -751,7 +751,7 @@
var group = new CalculationGroup();
var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
- var calculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput());
+ var calculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(), new NormProbabilityGrassCoverErosionInwardsInput());
group.Children.Add(calculation);
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsFailureMechanismContextTreeNodeInfoTest.cs
===================================================================
diff -u -rde6ffafc792b3f154436127cca3ccd922776df09 -ra053684de9667dfb70aa8cf669e22843c2bd39ed
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsFailureMechanismContextTreeNodeInfoTest.cs (.../GrassCoverErosionInwardsFailureMechanismContextTreeNodeInfoTest.cs) (revision de6ffafc792b3f154436127cca3ccd922776df09)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Forms.Test/TreeNodeInfos/GrassCoverErosionInwardsFailureMechanismContextTreeNodeInfoTest.cs (.../GrassCoverErosionInwardsFailureMechanismContextTreeNodeInfoTest.cs) (revision a053684de9667dfb70aa8cf669e22843c2bd39ed)
@@ -427,7 +427,8 @@
// Setup
var gui = mocksRepository.StrictMock();
var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
- failureMechanism.CalculationsGroup.Children.Add(new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput()));
+ failureMechanism.CalculationsGroup.Children.Add(new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(),
+ new NormProbabilityGrassCoverErosionInwardsInput()));
var assessmentSectionMock = mocksRepository.StrictMock();
var nodeData = new GrassCoverErosionInwardsFailureMechanismContext(failureMechanism, assessmentSectionMock);
@@ -465,7 +466,8 @@
var gui = mocksRepository.StrictMock();
var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
failureMechanism.AddSection(new FailureMechanismSection("test", new[] { new Point2D(0, 0) }));
- failureMechanism.CalculationsGroup.Children.Add(new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput()));
+ failureMechanism.CalculationsGroup.Children.Add(new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(),
+ new NormProbabilityGrassCoverErosionInwardsInput()));
var assessmentSectionMock = mocksRepository.StrictMock();
assessmentSectionMock.Expect(asm => asm.HydraulicBoundaryDatabase).Return(null);
@@ -506,7 +508,8 @@
var gui = mocksRepository.StrictMock();
var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
failureMechanism.AddSection(new FailureMechanismSection("test", new[] { new Point2D(0, 0) }));
- failureMechanism.CalculationsGroup.Children.Add(new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput()));
+ failureMechanism.CalculationsGroup.Children.Add(new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(),
+ new NormProbabilityGrassCoverErosionInwardsInput()));
var assessmentSectionMock = mocksRepository.StrictMock();
assessmentSectionMock.Stub(asm => asm.HydraulicBoundaryDatabase).Return(new HydraulicBoundaryDatabase());
@@ -548,7 +551,8 @@
var gui = mocksRepository.StrictMock();
var failureMechanism = new GrassCoverErosionInwardsFailureMechanism();
failureMechanism.AddSection(new FailureMechanismSection("test", new[] { new Point2D(0, 0) }));
- failureMechanism.CalculationsGroup.Children.Add(new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput()));
+ failureMechanism.CalculationsGroup.Children.Add(new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(),
+ new NormProbabilityGrassCoverErosionInwardsInput()));
string validFilePath = Path.Combine(testDataPath, "complete.sqlite");
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Service.Test/GrassCoverErosionInwardsOutputCalculationServiceTest.cs
===================================================================
diff -u
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Service.Test/GrassCoverErosionInwardsOutputCalculationServiceTest.cs (revision 0)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Service.Test/GrassCoverErosionInwardsOutputCalculationServiceTest.cs (revision a053684de9667dfb70aa8cf669e22843c2bd39ed)
@@ -0,0 +1,48 @@
+// 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 Core.Common.Base.Data;
+using NUnit.Framework;
+using Ringtoets.GrassCoverErosionInwards.Data;
+
+namespace Ringtoets.GrassCoverErosionInwards.Service.Test
+{
+ [TestFixture]
+ public class GrassCoverErosionInwardsOutputCalculationServiceTest
+ {
+ [Test]
+ public void Calculate_CompleteInput_ReturnsGrassCoverErosionInwardsOutputWithValues()
+ {
+ // Setup
+ var norm = 30000;
+ var probability = 0.24;
+ var calculation = new GrassCoverErosionInwardsCalculation(new GeneralGrassCoverErosionInwardsInput(),
+ new NormProbabilityGrassCoverErosionInwardsInput());
+
+ // Call
+ GrassCoverErosionInwardsOutputCalculationService.Calculate(calculation, norm, probability);
+
+ // Assert
+ RoundedDouble result = calculation.Output.FactorOfSafety;
+ Assert.AreEqual(0.919890363, result, 1e-2);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Service.Test/Ringtoets.GrassCoverErosionInwards.Service.Test.csproj
===================================================================
diff -u -r07efb7c80815d1747386437cf8dcd6db25b9160a -ra053684de9667dfb70aa8cf669e22843c2bd39ed
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Service.Test/Ringtoets.GrassCoverErosionInwards.Service.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Service.Test.csproj) (revision 07efb7c80815d1747386437cf8dcd6db25b9160a)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.Service.Test/Ringtoets.GrassCoverErosionInwards.Service.Test.csproj (.../Ringtoets.GrassCoverErosionInwards.Service.Test.csproj) (revision a053684de9667dfb70aa8cf669e22843c2bd39ed)
@@ -54,6 +54,7 @@
+
@@ -62,6 +63,24 @@
+
+
+ {3bbfd65b-b277-4e50-ae6d-bd24c3434609}
+ Core.Common.Base
+
+
+ {d4200f43-3f72-4f42-af0a-8ced416a38ec}
+ Ringtoets.Common.Data
+
+
+ {90DE728E-48EF-4665-AB38-3D88E41D9F4D}
+ Ringtoets.GrassCoverErosionInwards.Data
+
+
+ {2852E99B-AADB-4CBA-B6D2-6882D6113AA3}
+ Ringtoets.GrassCoverErosionInwards.Service
+
+