Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/DerivedPipingInput.cs
===================================================================
diff -u -r686466dda6406ee2c7fb1f33faa60494878b1fc8 -r15565f69a7b2997da904f005a25d582502cef7e1
--- Ringtoets/Piping/src/Ringtoets.Piping.Data/DerivedPipingInput.cs (.../DerivedPipingInput.cs) (revision 686466dda6406ee2c7fb1f33faa60494878b1fc8)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Data/DerivedPipingInput.cs (.../DerivedPipingInput.cs) (revision 15565f69a7b2997da904f005a25d582502cef7e1)
@@ -43,14 +43,15 @@
///
/// Creates a new instance of .
///
- /// The input to calculate the derived piping input.
+ /// The input to calculate the derived piping input for.
/// Thrown when is null.
public DerivedPipingInput(PipingInput input)
{
if (input == null)
{
- throw new ArgumentNullException(nameof(input), @"Cannot create DerivedPipingInput without PipingInput.");
+ throw new ArgumentNullException(nameof(input));
}
+
this.input = input;
}
@@ -426,11 +427,12 @@
if (surfaceLine != null && soilProfile != null && !double.IsNaN(exitPointL))
{
PipingSoilLayer[] consecutiveAquitardLayersBelowLevel = soilProfile
- .GetConsecutiveCoverageLayersBelowLevel(surfaceLine.GetZAtL(exitPointL))
- .ToArray();
+ .GetConsecutiveCoverageLayersBelowLevel(surfaceLine.GetZAtL(exitPointL))
+ .ToArray();
return consecutiveAquitardLayersBelowLevel;
}
+
return new PipingSoilLayer[0];
}
@@ -447,6 +449,7 @@
{
return double.NaN;
}
+
throw;
}
}
@@ -464,6 +467,7 @@
{
return double.NaN;
}
+
throw;
}
}
Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/DerivedPipingInputTest.cs
===================================================================
diff -u -r8a442db31848f5668714dbf441b393213178c775 -r15565f69a7b2997da904f005a25d582502cef7e1
--- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/DerivedPipingInputTest.cs (.../DerivedPipingInputTest.cs) (revision 8a442db31848f5668714dbf441b393213178c775)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/DerivedPipingInputTest.cs (.../DerivedPipingInputTest.cs) (revision 15565f69a7b2997da904f005a25d582502cef7e1)
@@ -43,24 +43,11 @@
TestDelegate call = () => new DerivedPipingInput(null);
// Assert
- const string expectedMessage = "Cannot create DerivedPipingInput without PipingInput.";
- TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, expectedMessage);
+ string paramName = Assert.Throws(call).ParamName;
+ Assert.AreEqual("input", paramName);
}
[Test]
- public void Constructor_WithPipingInput_DoesNotThrow()
- {
- // Setup
- PipingInput input = PipingInputFactory.CreateInputWithAquiferAndCoverageLayer(1.0, 1.1);
-
- // Call
- TestDelegate call = () => new DerivedPipingInput(input);
-
- // Assert
- Assert.DoesNotThrow(call);
- }
-
- [Test]
public void PiezometricHeadExit_ValidInput_SetsParametersForCalculatorAndReturnsPiezometricHead()
{
// Setup
@@ -79,7 +66,8 @@
var factory = (TestPipingSubCalculatorFactory) PipingSubCalculatorFactory.Instance;
PiezoHeadCalculatorStub piezometricHeadAtExitCalculator = factory.LastCreatedPiezometricHeadAtExitCalculator;
- Assert.AreEqual(piezometricHeadAtExitCalculator.HRiver, input.AssessmentLevel, input.AssessmentLevel.GetAccuracy());
+ Assert.AreEqual(input.AssessmentLevel, piezometricHeadAtExitCalculator.HRiver,
+ input.AssessmentLevel.GetAccuracy());
Assert.AreEqual(PipingSemiProbabilisticDesignVariableFactory.GetPhreaticLevelExit(input).GetDesignValue(), piezometricHeadAtExitCalculator.PhiPolder,
input.PhreaticLevelExit.GetAccuracy());
Assert.AreEqual(PipingSemiProbabilisticDesignVariableFactory.GetDampingFactorExit(input).GetDesignValue(), piezometricHeadAtExitCalculator.RExit,
@@ -116,29 +104,26 @@
}
[Test]
- public void EffectiveThicknessCoverageLayer_InputWithoutSurfaceLine_MeansSetToNaN()
+ public void EffectiveThicknessCoverageLayer_InputWithoutSoilProfile_MeansSetToNaN()
{
// Setup
PipingInput input = PipingInputFactory.CreateInputWithAquiferAndCoverageLayer();
- input.SurfaceLine = null;
+ input.StochasticSoilProfile = null;
var derivedInput = new DerivedPipingInput(input);
// Call
- LogNormalDistribution effectiveThicknessCoverageLayer = null;
- Action call = () => effectiveThicknessCoverageLayer = derivedInput.EffectiveThicknessCoverageLayer;
+ LogNormalDistribution effectiveThicknessCoverageLayer = derivedInput.EffectiveThicknessCoverageLayer;
// Assert
- TestHelper.AssertLogMessagesCount(call, 0);
Assert.IsNaN(effectiveThicknessCoverageLayer.Mean);
}
[Test]
- [TestCase(1e-6)]
- [TestCase(1)]
- public void EffectiveThicknessCoverageLayer_SoilProfileSingleAquiferAboveSurfaceLine_ThicknessCoverageLayerNaN(double deltaAboveSurfaceLine)
+ public void EffectiveThicknessCoverageLayer_InputWithoutSurfaceLine_MeansSetToNaN()
{
// Setup
- PipingInput input = PipingInputFactory.CreateInputWithSingleAquiferLayerAboveSurfaceLine(deltaAboveSurfaceLine);
+ PipingInput input = PipingInputFactory.CreateInputWithAquiferAndCoverageLayer();
+ input.SurfaceLine = null;
var derivedInput = new DerivedPipingInput(input);
// Call
@@ -149,20 +134,18 @@
}
[Test]
- public void EffectiveThicknessCoverageLayer_SoilProfileSetToNull_ThicknessCoverageLayerNaN()
+ [TestCase(1e-6)]
+ [TestCase(1)]
+ public void EffectiveThicknessCoverageLayer_SoilProfileSingleAquiferAboveSurfaceLine_ThicknessCoverageLayerNaN(double deltaAboveSurfaceLine)
{
// Setup
- PipingInput input = PipingInputFactory.CreateInputWithAquiferAndCoverageLayer();
+ PipingInput input = PipingInputFactory.CreateInputWithSingleAquiferLayerAboveSurfaceLine(deltaAboveSurfaceLine);
var derivedInput = new DerivedPipingInput(input);
- input.StochasticSoilProfile = null;
-
// Call
- LogNormalDistribution effectiveThicknessCoverageLayer = null;
- Action call = () => effectiveThicknessCoverageLayer = derivedInput.EffectiveThicknessCoverageLayer;
+ LogNormalDistribution effectiveThicknessCoverageLayer = derivedInput.EffectiveThicknessCoverageLayer;
// Assert
- TestHelper.AssertLogMessagesCount(call, 0);
Assert.IsNaN(effectiveThicknessCoverageLayer.Mean);
}
@@ -217,21 +200,6 @@
}
[Test]
- public void EffectiveThicknessCoverageLayer_InputWithoutSoilProfile_MeansSetToNaN()
- {
- // Setup
- PipingInput input = PipingInputFactory.CreateInputWithAquiferAndCoverageLayer();
- input.StochasticSoilProfile = null;
- var derivedInput = new DerivedPipingInput(input);
-
- // Call
- LogNormalDistribution effectiveThicknessCoverageLayer = derivedInput.EffectiveThicknessCoverageLayer;
-
- // Assert
- Assert.IsNaN(effectiveThicknessCoverageLayer.Mean);
- }
-
- [Test]
public void ThicknessCoverageLayer_SoilProfileSingleAquiferAndCoverageUnderSurfaceLine_ReturnsThicknessCoverageLayer()
{
// Setup
Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingInputTest.cs
===================================================================
diff -u -rc0532d07766ecad2566f7cfa4a97a9aeb6e8540c -r15565f69a7b2997da904f005a25d582502cef7e1
--- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingInputTest.cs (.../PipingInputTest.cs) (revision c0532d07766ecad2566f7cfa4a97a9aeb6e8540c)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingInputTest.cs (.../PipingInputTest.cs) (revision 15565f69a7b2997da904f005a25d582502cef7e1)
@@ -87,12 +87,6 @@
StandardDeviation = (RoundedDouble) 0.5
};
- var effectiveThicknessCoverageLayer = new LogNormalDistribution(2)
- {
- Mean = RoundedDouble.NaN,
- StandardDeviation = (RoundedDouble) 0.5
- };
-
var saturatedVolumicWeightOfCoverageLayer = new LogNormalDistribution(2)
{
Mean = RoundedDouble.NaN,
@@ -144,7 +138,6 @@
Assert.AreEqual(generalInputParameters.MeanDiameter70, inputParameters.MeanDiameter70);
DistributionAssert.AreEqual(thicknessCoverageLayer, inputParameters.ThicknessCoverageLayer);
- DistributionAssert.AreEqual(effectiveThicknessCoverageLayer, inputParameters.EffectiveThicknessCoverageLayer);
DistributionAssert.AreEqual(saturatedVolumicWeightOfCoverageLayer, inputParameters.SaturatedVolumicWeightOfCoverageLayer);
Assert.AreEqual(2, inputParameters.SaturatedVolumicWeightOfCoverageLayer.Shift.NumberOfDecimalPlaces);
@@ -157,8 +150,6 @@
Assert.AreEqual(2, inputParameters.ExitPointL.NumberOfDecimalPlaces);
Assert.IsNaN(inputParameters.EntryPointL);
Assert.AreEqual(2, inputParameters.EntryPointL.NumberOfDecimalPlaces);
- Assert.IsNaN(inputParameters.PiezometricHeadExit);
- Assert.AreEqual(2, inputParameters.PiezometricHeadExit.NumberOfDecimalPlaces);
Assert.IsInstanceOf(inputParameters.AssessmentLevel);
Assert.IsNaN(inputParameters.AssessmentLevel);
@@ -770,45 +761,6 @@
}
[Test]
- public void PiezometricHeadExit_ValidInput_SetsParametersForCalculatorAndReturnsPiezometricHead()
- {
- // Setup
- var input = new PipingInput(new GeneralPipingInput());
-
- using (new PipingSubCalculatorFactoryConfig())
- {
- // Call
- RoundedDouble piezometricHead = input.PiezometricHeadExit;
-
- // Assert
- Assert.AreEqual(2, piezometricHead.NumberOfDecimalPlaces);
- Assert.IsFalse(double.IsNaN(piezometricHead));
-
- var factory = (TestPipingSubCalculatorFactory) PipingSubCalculatorFactory.Instance;
- PiezoHeadCalculatorStub piezometricHeadAtExitCalculator = factory.LastCreatedPiezometricHeadAtExitCalculator;
-
- Assert.AreEqual(piezometricHeadAtExitCalculator.HRiver, input.AssessmentLevel, input.AssessmentLevel.GetAccuracy());
- Assert.AreEqual(PipingSemiProbabilisticDesignVariableFactory.GetPhreaticLevelExit(input).GetDesignValue(), piezometricHeadAtExitCalculator.PhiPolder,
- input.PhreaticLevelExit.GetAccuracy());
- Assert.AreEqual(PipingSemiProbabilisticDesignVariableFactory.GetDampingFactorExit(input).GetDesignValue(), piezometricHeadAtExitCalculator.RExit,
- input.DampingFactorExit.GetAccuracy());
- }
- }
-
- [Test]
- public void PiezometricHeadExit_InputWithAssessmentLevelMissing_PiezometricHeadSetToNaN()
- {
- // Setup
- PipingInput input = PipingInputFactory.CreateInputWithAquiferAndCoverageLayer(1.0, 1.0);
-
- // Call
- RoundedDouble piezometricHead = input.PiezometricHeadExit;
-
- // Assert
- Assert.IsNaN(piezometricHead);
- }
-
- [Test]
public void ThicknessAquiferLayer_SoilProfileSingleAquiferAndCoverageUnderSurfaceLine_ReturnsThicknessAquiferLayer()
{
// Setup
@@ -1116,113 +1068,6 @@
}
[Test]
- public void EffectiveThicknessCoverageLayer_InputWithoutSoilProfile_MeansSetToNaN()
- {
- // Setup
- PipingInput input = PipingInputFactory.CreateInputWithAquiferAndCoverageLayer();
- input.StochasticSoilProfile = null;
-
- // Call
- LogNormalDistribution effectiveThicknessCoverageLayer = input.EffectiveThicknessCoverageLayer;
-
- // Assert
- Assert.IsNaN(effectiveThicknessCoverageLayer.Mean);
- }
-
- [Test]
- public void EffectiveThicknessCoverageLayer_InputWithoutSurfaceLine_MeansSetToNaN()
- {
- // Setup
- PipingInput input = PipingInputFactory.CreateInputWithAquiferAndCoverageLayer();
- input.SurfaceLine = null;
-
- // Call
- LogNormalDistribution effectiveThicknessCoverageLayer = input.EffectiveThicknessCoverageLayer;
-
- // Assert
- Assert.IsNaN(effectiveThicknessCoverageLayer.Mean);
- }
-
- [Test]
- [TestCase(1e-6)]
- [TestCase(1)]
- public void EffectiveThicknessCoverageLayer_SoilProfileSingleAquiferAboveSurfaceLine_EffectiveThicknessCoverageLayerNaN(double deltaAboveSurfaceLine)
- {
- // Setup
- PipingInput input = PipingInputFactory.CreateInputWithSingleAquiferLayerAboveSurfaceLine(deltaAboveSurfaceLine);
-
- // Call
- LogNormalDistribution effectiveThicknessCoverageLayer = input.EffectiveThicknessCoverageLayer;
-
- // Assert
- Assert.IsNaN(effectiveThicknessCoverageLayer.Mean);
- }
-
- [Test]
- public void EffectiveThicknessCoverageLayer_MeanSetSoilProfileSetToNull_EffectiveThicknessCoverageLayerNaN()
- {
- // Setup
- PipingInput input = PipingInputFactory.CreateInputWithAquiferAndCoverageLayer();
- input.EffectiveThicknessCoverageLayer.Mean = new RoundedDouble(2, new Random(21).NextDouble() + 1);
-
- input.StochasticSoilProfile = null;
-
- // Call
- LogNormalDistribution effectiveThicknessCoverageLayer = input.EffectiveThicknessCoverageLayer;
-
- // Assert
- Assert.IsNaN(effectiveThicknessCoverageLayer.Mean);
- }
-
- [Test]
- public void EffectiveThicknessCoverageLayer_ProfileWithoutAquiferLayer_EffectiveThicknessCoverageLayerNaN()
- {
- // Setup
- PipingInput input = PipingInputFactory.CreateInputWithAquiferAndCoverageLayer();
- input.StochasticSoilProfile = new PipingStochasticSoilProfile(
- 0.0, new PipingSoilProfile(string.Empty, 0, new[]
- {
- new PipingSoilLayer(2.0)
- {
- IsAquifer = false
- }
- }, SoilProfileType.SoilProfile1D)
- );
-
- // Call
- LogNormalDistribution effectiveThicknessCoverageLayer = input.EffectiveThicknessCoverageLayer;
-
- // Assert
- Assert.IsNaN(effectiveThicknessCoverageLayer.Mean);
- }
-
- [Test]
- public void EffectiveThicknessCoverageLayer_InputResultsInZeroCoverageThickness_EffectiveThicknessCoverageLayerNaN()
- {
- // Setup
- PipingInput input = PipingInputFactory.CreateInputWithAquiferAndCoverageLayer();
- input.StochasticSoilProfile = new PipingStochasticSoilProfile(
- 0.0, new PipingSoilProfile(string.Empty, 0, new[]
- {
- new PipingSoilLayer(2.0)
- {
- IsAquifer = false
- },
- new PipingSoilLayer(2.0)
- {
- IsAquifer = true
- }
- }, SoilProfileType.SoilProfile1D)
- );
-
- // Call
- LogNormalDistribution effectiveThicknessCoverageLayer = input.EffectiveThicknessCoverageLayer;
-
- // Assert
- Assert.IsNaN(effectiveThicknessCoverageLayer.Mean);
- }
-
- [Test]
public void SeepageLength_ValidData_ReturnsSeepageLength()
{
// Setup