Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/DerivedPipingInputTest.cs =================================================================== diff -u -r2363244674e6b7b97bead9a6855806420d368d80 -r6744bc3cd2ffd54b89e8ee19c2953059ae698e80 --- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/DerivedPipingInputTest.cs (.../DerivedPipingInputTest.cs) (revision 2363244674e6b7b97bead9a6855806420d368d80) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/DerivedPipingInputTest.cs (.../DerivedPipingInputTest.cs) (revision 6744bc3cd2ffd54b89e8ee19c2953059ae698e80) @@ -628,8 +628,57 @@ Assert.IsNaN(result.Shift); Assert.IsNaN(result.StandardDeviation); } + [Test] + public void SaturatedVolumicWeightOfCoverageLayer_NoAquiferLayers_ReturnsNaNForParameters() + { + // Setup + var input = PipingCalculationFactory.CreateInputWithAquiferAndCoverageLayer(); + var derivedInput = new DerivedPipingInput(input); + input.StochasticSoilProfile.SoilProfile = new PipingSoilProfile("", -2.0, new [] + { + new PipingSoilLayer(1.0) + { + IsAquifer = false + } + }, SoilProfileType.SoilProfile1D, 0); + // Call + var result = derivedInput.SaturatedVolumicWeightOfCoverageLayer; + + // Assert + Assert.IsNaN(result.Mean); + Assert.IsNaN(result.Shift); + Assert.IsNaN(result.StandardDeviation); + } + [Test] + public void SaturatedVolumicWeightOfCoverageLayer_NoCoverageLayersAboveTopAquiferLayer_ReturnsNaNForParameters() + { + // Setup + var input = PipingCalculationFactory.CreateInputWithAquiferAndCoverageLayer(); + var derivedInput = new DerivedPipingInput(input); + input.StochasticSoilProfile.SoilProfile = new PipingSoilProfile("", -2.0, new [] + { + new PipingSoilLayer(2.0) + { + IsAquifer = false + }, + new PipingSoilLayer(1.0) + { + IsAquifer = true + } + }, SoilProfileType.SoilProfile1D, 0); + + // Call + var result = derivedInput.SaturatedVolumicWeightOfCoverageLayer; + + // Assert + Assert.IsNaN(result.Mean); + Assert.IsNaN(result.Shift); + Assert.IsNaN(result.StandardDeviation); + } + + [Test] public void SaturatedVolumicWeightOfCoverageLayer_SingleLayer_ReturnsWithParametersFromLayer() { // Setup @@ -647,6 +696,10 @@ BelowPhreaticLevelShift = shift, BelowPhreaticLevelMean = belowPhreaticLevelMean }, + new PipingSoilLayer(0.5) + { + IsAquifer = true + }, }, SoilProfileType.SoilProfile1D, 0); // Call @@ -682,14 +735,18 @@ BelowPhreaticLevelDeviation = deviation, BelowPhreaticLevelShift = shift, BelowPhreaticLevelMean = belowPhreaticLevelMeanB - } + }, + new PipingSoilLayer(-1.5) + { + IsAquifer = true + }, }, SoilProfileType.SoilProfile1D, 0); // Call var result = derivedInput.SaturatedVolumicWeightOfCoverageLayer; // Assert - Assert.AreEqual((belowPhreaticLevelMeanA * 2.5 + belowPhreaticLevelMeanB * 1.5) / 4, result.Mean, result.Mean.GetAccuracy()); + Assert.AreEqual((belowPhreaticLevelMeanA * 2.5 + belowPhreaticLevelMeanB * 1.0) / 3.5, result.Mean, result.Mean.GetAccuracy()); Assert.AreEqual(shift, result.Shift, result.Shift.GetAccuracy()); Assert.AreEqual(deviation, result.StandardDeviation, result.StandardDeviation.GetAccuracy()); }