Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/Piping/PipingCalculationOutputEntityReadExtensions.cs =================================================================== diff -u -r11f0867b39150ae5fac83dc178a89fee46d27611 -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/Piping/PipingCalculationOutputEntityReadExtensions.cs (.../PipingCalculationOutputEntityReadExtensions.cs) (revision 11f0867b39150ae5fac83dc178a89fee46d27611) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/Piping/PipingCalculationOutputEntityReadExtensions.cs (.../PipingCalculationOutputEntityReadExtensions.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -41,7 +41,7 @@ { return new PipingOutput(entity.UpliftZValue.ToNullAsNaN(), entity.UpliftFactorOfSafety.ToNullAsNaN(), entity.HeaveZValue.ToNullAsNaN(), entity.HeaveFactorOfSafety.ToNullAsNaN(), - entity.SellmeijerZValue.ToNullAsNaN(), entity.SellmeijerFactorOfSafety.ToNullAsNaN()); + entity.SellmeijerZValue.ToNullAsNaN(), entity.SellmeijerFactorOfSafety.ToNullAsNaN(), double.NaN, double.NaN, double.NaN, double.NaN); } } } \ No newline at end of file Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Piping/PipingCalculationScenarioCreateExtensionsTest.cs =================================================================== diff -u -rb4e3629ea2130359117dd403af8db3c8ae0c680b -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Piping/PipingCalculationScenarioCreateExtensionsTest.cs (.../PipingCalculationScenarioCreateExtensionsTest.cs) (revision b4e3629ea2130359117dd403af8db3c8ae0c680b) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Piping/PipingCalculationScenarioCreateExtensionsTest.cs (.../PipingCalculationScenarioCreateExtensionsTest.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -259,7 +259,7 @@ // Setup var registry = new PersistenceRegistry(); - var newOutput = new PipingOutput(1, 2, 3, 4, 5, 6); + var newOutput = new TestPipingOutput(); var calculation = new PipingCalculationScenario(new GeneralPipingInput()) { Output = newOutput Index: Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Piping/PipingOutputCreateExtensionsTest.cs =================================================================== diff -u -r7ae9100ff4e61169edcefaeb01b72d492431742f -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Piping/PipingOutputCreateExtensionsTest.cs (.../PipingOutputCreateExtensionsTest.cs) (revision 7ae9100ff4e61169edcefaeb01b72d492431742f) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.Test/Create/Piping/PipingOutputCreateExtensionsTest.cs (.../PipingOutputCreateExtensionsTest.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -33,7 +33,7 @@ public void Create_AllOutputValuesSet_ReturnEntity() { // Setup - var pipingOutput = new PipingOutput(1.1, 2.2, 3.3, 4.4, 5.5, 6.6); + var pipingOutput = new PipingOutput(1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9, 10.10); // Call PipingCalculationOutputEntity entity = pipingOutput.Create(); @@ -55,7 +55,9 @@ { // Setup var pipingOutput = new PipingOutput(double.NaN, double.NaN, double.NaN, - double.NaN, double.NaN, double.NaN); + double.NaN, double.NaN, double.NaN, + double.NaN, double.NaN, double.NaN, + double.NaN); // Call PipingCalculationOutputEntity entity = pipingOutput.Create(); Index: Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/RingtoetsProjectTestHelper.cs =================================================================== diff -u -r1122c77d39fb41b02f4ea32a269884ca1ea5ad5e -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/RingtoetsProjectTestHelper.cs (.../RingtoetsProjectTestHelper.cs) (revision 1122c77d39fb41b02f4ea32a269884ca1ea5ad5e) +++ Application/Ringtoets/test/Application.Ringtoets.Storage.TestUtil/RingtoetsProjectTestHelper.cs (.../RingtoetsProjectTestHelper.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -664,7 +664,7 @@ StandardDeviation = (RoundedDouble) 11.11 } }, - Output = new PipingOutput(1.1, 2.2, 3.3, 4.4, 5.5, 6.6), + Output = new TestPipingOutput(), SemiProbabilisticOutput = new PipingSemiProbabilisticOutput(7.7, 8.8, 0.9, 10.10, 11.11, 0.12, 13.13, 14.14, 0.15, Index: Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingOutput.cs =================================================================== diff -u -r11f0867b39150ae5fac83dc178a89fee46d27611 -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingOutput.cs (.../PipingOutput.cs) (revision 11f0867b39150ae5fac83dc178a89fee46d27611) +++ Ringtoets/Piping/src/Ringtoets.Piping.Data/PipingOutput.cs (.../PipingOutput.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -38,14 +38,31 @@ /// The factor of safety for the heave sub calculation. /// The calculated z-value for the Sellmeijer sub calculation. /// The factor of safety for the Sellmeijer sub calculation. - public PipingOutput(double upliftZValue, double upliftFactorOfSafety, double heaveZValue, double heaveFactorOfSafety, double sellmeijerZValue, double sellmeijerFactorOfSafety) + /// The gradient calculated for the heave sub calculation. + /// The creep coefficient calculated for the Sellmeijer sub calculation. + /// The critical fall calculated for the Sellmeijer sub calculation. + /// The reduced fall calculated for the Sellmeijer sub calculation. + public PipingOutput(double upliftZValue, + double upliftFactorOfSafety, + double heaveZValue, + double heaveFactorOfSafety, + double sellmeijerZValue, + double sellmeijerFactorOfSafety, + double heaveGradient, + double sellmeijerCreepCoefficient, + double sellmeijerCriticalFall, + double sellmeijerReducedFall) { HeaveFactorOfSafety = heaveFactorOfSafety; HeaveZValue = heaveZValue; UpliftFactorOfSafety = upliftFactorOfSafety; UpliftZValue = upliftZValue; SellmeijerFactorOfSafety = sellmeijerFactorOfSafety; SellmeijerZValue = sellmeijerZValue; + HeaveGradient = heaveGradient; + SellmeijerCreepCoefficient = sellmeijerCreepCoefficient; + SellmeijerCriticalFall = sellmeijerCriticalFall; + SellmeijerReducedFall = sellmeijerReducedFall; } /// @@ -77,5 +94,25 @@ /// The factor of safety for the Sellmeijer sub calculation. /// public double SellmeijerFactorOfSafety { get; private set; } + + /// + /// The gradient that was calculated for the heave sub calculation. + /// + public double HeaveGradient { get; private set; } + + /// + /// The creep coefficient that was calculated for the Sellmeijer sub calculation. + /// + public double SellmeijerCreepCoefficient { get; private set; } + + /// + /// The critical fall that was calculated for the Sellmeijer sub calculation. + /// + public double SellmeijerCriticalFall { get; private set; } + + /// + /// The reduced fall that was calculated for the Sellmeijer sub calculation. + /// + public double SellmeijerReducedFall { get; private set; } } } \ No newline at end of file Index: Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/PipingCalculator.cs =================================================================== diff -u -rad11d25e651c47162ecf08d11a05d40bba0bebca -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/PipingCalculator.cs (.../PipingCalculator.cs) (revision ad11d25e651c47162ecf08d11a05d40bba0bebca) +++ Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/PipingCalculator.cs (.../PipingCalculator.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -79,8 +79,11 @@ heaveResult.Zh, heaveResult.FoSh, sellmeijerResult.Zp, - sellmeijerResult.FoSp - ); + sellmeijerResult.FoSp, + heaveResult.Gradient, + sellmeijerResult.CreepCoefficient, + sellmeijerResult.CriticalFall, + sellmeijerResult.ReducedFall); } /// Index: Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/PipingCalculatorResult.cs =================================================================== diff -u -rc2fe76d04e1517a4e0aaf62184bccd413de0e472 -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/PipingCalculatorResult.cs (.../PipingCalculatorResult.cs) (revision c2fe76d04e1517a4e0aaf62184bccd413de0e472) +++ Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/PipingCalculatorResult.cs (.../PipingCalculatorResult.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -32,6 +32,10 @@ private readonly double heaveFactorOfSafety; private readonly double sellmeijerZValue; private readonly double sellmeijerFactorOfSafety; + private readonly double heaveGradient; + private readonly double sellmeijerCreepCoefficient; + private readonly double sellmeijerCriticalFall; + private readonly double sellmeijerReducedFall; /// /// Constructs a new . The result will hold all the values which were given. @@ -42,14 +46,32 @@ /// The factory of safety of the Heave sub calculation. /// The z-value of the Sellmeijer sub calculation. /// The factory of safety of the Sellmeijer sub calculation. - public PipingCalculatorResult(double upliftZValue, double upliftFactorOfSafety, double heaveZValue, double heaveFactorOfSafety, double sellmeijerZValue, double sellmeijerFactorOfSafety) + /// The gradient calculated for the heave sub calculation. + /// The creep coefficient calculated for the Sellmeijer sub calculation. + /// The critical fall calculated for the Sellmeijer sub calculation. + /// The reduced fall calculated for the Sellmeijer sub calculation. + public PipingCalculatorResult( + double upliftZValue, + double upliftFactorOfSafety, + double heaveZValue, + double heaveFactorOfSafety, + double sellmeijerZValue, + double sellmeijerFactorOfSafety, + double heaveGradient, + double sellmeijerCreepCoefficient, + double sellmeijerCriticalFall, + double sellmeijerReducedFall) { this.upliftZValue = upliftZValue; this.upliftFactorOfSafety = upliftFactorOfSafety; this.heaveZValue = heaveZValue; this.heaveFactorOfSafety = heaveFactorOfSafety; this.sellmeijerZValue = sellmeijerZValue; this.sellmeijerFactorOfSafety = sellmeijerFactorOfSafety; + this.heaveGradient = heaveGradient; + this.sellmeijerCreepCoefficient = sellmeijerCreepCoefficient; + this.sellmeijerCriticalFall = sellmeijerCriticalFall; + this.sellmeijerReducedFall = sellmeijerReducedFall; } #region properties @@ -120,6 +142,50 @@ } } + /// + /// The gradient that was calculated for the heave sub calculation. + /// + public double HeaveGradient + { + get + { + return heaveGradient; + } + } + + /// + /// The creep coefficient that was calculated for the Sellmeijer sub calculation. + /// + public double SellmeijerCreepCoefficient + { + get + { + return sellmeijerCreepCoefficient; + } + } + + /// + /// The critical fall that was calculated for the Sellmeijer sub calculation. + /// + public double SellmeijerCriticalFall + { + get + { + return sellmeijerCriticalFall; + } + } + + /// + /// The reduced fall that was calculated for the Sellmeijer sub calculation. + /// + public double SellmeijerReducedFall + { + get + { + return sellmeijerReducedFall; + } + } + #endregion } } \ No newline at end of file Index: Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/Ringtoets.Piping.KernelWrapper.csproj =================================================================== diff -u -rb1b25abeb595bff11389bbf0e695851995ef5221 -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/Ringtoets.Piping.KernelWrapper.csproj (.../Ringtoets.Piping.KernelWrapper.csproj) (revision b1b25abeb595bff11389bbf0e695851995ef5221) +++ Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/Ringtoets.Piping.KernelWrapper.csproj (.../Ringtoets.Piping.KernelWrapper.csproj) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -66,10 +66,12 @@ + + Index: Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/HeaveCalculator.cs =================================================================== diff -u -r89488cc05b12fd5720cd28a4eeeb001dc9b1456d -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/HeaveCalculator.cs (.../HeaveCalculator.cs) (revision 89488cc05b12fd5720cd28a4eeeb001dc9b1456d) +++ Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/HeaveCalculator.cs (.../HeaveCalculator.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -86,6 +86,22 @@ } } + public double BottomLevelAquitardAboveExitPointZ + { + set + { + wrappedCalculator.BottomLevelAquitardAboveExitPointZ = value; + } + } + + public double Gradient + { + get + { + return wrappedCalculator.Gradient; + } + } + public double Zh { get Index: Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/IHeaveCalculator.cs =================================================================== diff -u -re7e22e69b16b23c89c063f18444c82aa818dc176 -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/IHeaveCalculator.cs (.../IHeaveCalculator.cs) (revision e7e22e69b16b23c89c063f18444c82aa818dc176) +++ Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/IHeaveCalculator.cs (.../IHeaveCalculator.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -59,12 +59,22 @@ double RExit { set; } /// - /// Returns the Zh property of the heave calculation. + /// Sets the BottomLevelAquitardAboveExitPointZ property to use in the heave calculation. /// + double BottomLevelAquitardAboveExitPointZ { set; } + + /// + /// Gets the Gradient property to use in the heave calculation. + /// + double Gradient { get; } + + /// + /// Gets the Zh property of the heave calculation. + /// double Zh { get; } /// - /// Returns the FoSh property of the heave calculation. + /// Gets the FoSh property of the heave calculation. /// double FoSh { get; } Index: Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/IPipingProfilePropertyCalculator.cs =================================================================== diff -u --- Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/IPipingProfilePropertyCalculator.cs (revision 0) +++ Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/IPipingProfilePropertyCalculator.cs (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -0,0 +1,64 @@ +// 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.Collections.Generic; +using Deltares.WTIPiping; + +namespace Ringtoets.Piping.KernelWrapper.SubCalculator +{ + /// + /// Interface with operations for calculating properties for combinations of piping profiles and + /// surface line. + /// + public interface IPipingProfilePropertyCalculator + { + /// + /// Sets the to use in the calculation. + /// + PipingProfile SoilProfile { set; } + + /// + /// Sets the to use in the calculation. + /// + PipingSurfaceLine SurfaceLine { set; } + + /// + /// Sets the x-coordinate of the exit point. + /// + double ExitPointX { set; } + + /// + /// Gets the BottomAquitardLayerAboveExitPointZ property of the piping profile property calculator. + /// + double BottomAquitardLayerAboveExitPointZ { get; } + + /// + /// Performs the piping profile property calculation. + /// + void Calculate(); + + /// + /// Performs the validation of the input properties. + /// + /// A list of validation strings. + List Validate(); + } +} \ No newline at end of file Index: Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/IPipingSubCalculatorFactory.cs =================================================================== diff -u -r89488cc05b12fd5720cd28a4eeeb001dc9b1456d -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/IPipingSubCalculatorFactory.cs (.../IPipingSubCalculatorFactory.cs) (revision 89488cc05b12fd5720cd28a4eeeb001dc9b1456d) +++ Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/IPipingSubCalculatorFactory.cs (.../IPipingSubCalculatorFactory.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -55,5 +55,11 @@ /// /// A new . IPiezoHeadCalculator CreatePiezometricHeadAtExitCalculator(); + + /// + /// Creates the piping profile property calculator. + /// + /// A new . + IPipingProfilePropertyCalculator CreatePipingProfilePropertyCalculator(); } } \ No newline at end of file Index: Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/ISellmeijerCalculator.cs =================================================================== diff -u -r89488cc05b12fd5720cd28a4eeeb001dc9b1456d -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/ISellmeijerCalculator.cs (.../ISellmeijerCalculator.cs) (revision 89488cc05b12fd5720cd28a4eeeb001dc9b1456d) +++ Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/ISellmeijerCalculator.cs (.../ISellmeijerCalculator.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -109,6 +109,26 @@ double WhitesDragCoefficient { set; } /// + /// Sets the BottomLevelAquitardAboveExitPointZ property to use in the Sellmeijer calculation. + /// + double BottomLevelAquitardAboveExitPointZ { set; } + + /// + /// Gets the CreepCoefficient property of the Sellmeijer calculation. + /// + double CreepCoefficient { get; } + + /// + /// Gets the CriticalFall property of the Sellmeijer calculation. + /// + double CriticalFall { get; } + + /// + /// Gets the ReducedFall property of the Sellmeijer calculation. + /// + double ReducedFall { get; } + + /// /// Gets the Zp property of the Sellmeijer calculation. /// double Zp { get; } Index: Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/PipingProfilePropertyCalculator.cs =================================================================== diff -u --- Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/PipingProfilePropertyCalculator.cs (revision 0) +++ Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/PipingProfilePropertyCalculator.cs (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -0,0 +1,84 @@ +// 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.Collections.Generic; +using Deltares.WTIPiping; + +namespace Ringtoets.Piping.KernelWrapper.SubCalculator +{ + /// + /// Class which wraps a . + /// + public class PipingProfilePropertyCalculator : IPipingProfilePropertyCalculator + { + private readonly Deltares.WTIPiping.PipingProfilePropertyCalculator wrappedCalculator; + + /// + /// Creates a new instance of . + /// + public PipingProfilePropertyCalculator() + { + wrappedCalculator = new Deltares.WTIPiping.PipingProfilePropertyCalculator(); + } + + public PipingProfile SoilProfile + { + set + { + wrappedCalculator.SoilProfile = value; + } + } + + public PipingSurfaceLine SurfaceLine + { + set + { + wrappedCalculator.SurfaceLine = value; + } + } + + public double ExitPointX + { + set + { + wrappedCalculator.ExitPointX = value; + } + } + + public double BottomAquitardLayerAboveExitPointZ + { + get + { + return wrappedCalculator.BottomLevelAquitardAboveExitPoint; + } + } + + public void Calculate() + { + wrappedCalculator.Calculate(); + } + + public List Validate() + { + return wrappedCalculator.Validate(); + } + } +} \ No newline at end of file Index: Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/PipingSubCalculatorFactory.cs =================================================================== diff -u -r7ae9100ff4e61169edcefaeb01b72d492431742f -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/PipingSubCalculatorFactory.cs (.../PipingSubCalculatorFactory.cs) (revision 7ae9100ff4e61169edcefaeb01b72d492431742f) +++ Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/PipingSubCalculatorFactory.cs (.../PipingSubCalculatorFactory.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -69,5 +69,10 @@ { return new PiezoHeadCalculator(); } + + public IPipingProfilePropertyCalculator CreatePipingProfilePropertyCalculator() + { + return new PipingProfilePropertyCalculator(); + } } } \ No newline at end of file Index: Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/SellmeijerCalculator.cs =================================================================== diff -u -r89488cc05b12fd5720cd28a4eeeb001dc9b1456d -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/SellmeijerCalculator.cs (.../SellmeijerCalculator.cs) (revision 89488cc05b12fd5720cd28a4eeeb001dc9b1456d) +++ Ringtoets/Piping/src/Ringtoets.Piping.KernelWrapper/SubCalculator/SellmeijerCalculator.cs (.../SellmeijerCalculator.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -167,6 +167,38 @@ } } + public double BottomLevelAquitardAboveExitPointZ + { + set + { + wrappedCalculator.BottomLevelAquitardAboveExitPointZ = value; + } + } + + public double CreepCoefficient + { + get + { + return wrappedCalculator.CCreep; + } + } + + public double CriticalFall + { + get + { + return wrappedCalculator.Hc; + } + } + + public double ReducedFall + { + get + { + return wrappedCalculator.ReducedFall; + } + } + public double Zp { get Index: Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingCalculationService.cs =================================================================== diff -u -r7ee19b11cabfc6cb2ba1ab895462b024a621294b -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingCalculationService.cs (.../PipingCalculationService.cs) (revision 7ee19b11cabfc6cb2ba1ab895462b024a621294b) +++ Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingCalculationService.cs (.../PipingCalculationService.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -84,7 +84,11 @@ pipingResult.HeaveZValue, pipingResult.HeaveFactorOfSafety, pipingResult.SellmeijerZValue, - pipingResult.SellmeijerFactorOfSafety); + pipingResult.SellmeijerFactorOfSafety, + pipingResult.HeaveGradient, + pipingResult.SellmeijerCreepCoefficient, + pipingResult.SellmeijerCriticalFall, + pipingResult.SellmeijerReducedFall); } catch (PipingCalculatorException e) { Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingOutputTest.cs =================================================================== diff -u -r11f0867b39150ae5fac83dc178a89fee46d27611 -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingOutputTest.cs (.../PipingOutputTest.cs) (revision 11f0867b39150ae5fac83dc178a89fee46d27611) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.Test/PipingOutputTest.cs (.../PipingOutputTest.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -39,8 +39,21 @@ var foShValue = random.NextDouble(); var zsValue = random.NextDouble(); var foSsValue = random.NextDouble(); + var heaveGradient = random.NextDouble(); + var sellmeijerCreepCoefficient = random.NextDouble(); + var sellmeijerCriticalFall = random.NextDouble(); + var sellmeijerReducedFall = random.NextDouble(); - var output = new PipingOutput(zuValue, foSuValue, zhValue, foShValue, zsValue, foSsValue); + var output = new PipingOutput(zuValue, + foSuValue, + zhValue, + foShValue, + zsValue, + foSsValue, + heaveGradient, + sellmeijerCreepCoefficient, + sellmeijerCriticalFall, + sellmeijerReducedFall); Assert.IsInstanceOf(output); Assert.IsInstanceOf(output); @@ -51,6 +64,10 @@ Assert.AreEqual(foShValue, output.HeaveFactorOfSafety); Assert.AreEqual(zsValue, output.SellmeijerZValue); Assert.AreEqual(foSsValue, output.SellmeijerFactorOfSafety); + Assert.AreEqual(heaveGradient, output.HeaveGradient); + Assert.AreEqual(sellmeijerCreepCoefficient, output.SellmeijerCreepCoefficient); + Assert.AreEqual(sellmeijerCriticalFall, output.SellmeijerCriticalFall); + Assert.AreEqual(sellmeijerReducedFall, output.SellmeijerReducedFall); } } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/PipingCalculationScenarioFactory.cs =================================================================== diff -u -r7ee19b11cabfc6cb2ba1ab895462b024a621294b -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/PipingCalculationScenarioFactory.cs (.../PipingCalculationScenarioFactory.cs) (revision 7ee19b11cabfc6cb2ba1ab895462b024a621294b) +++ Ringtoets/Piping/test/Ringtoets.Piping.Data.TestUtil/PipingCalculationScenarioFactory.cs (.../PipingCalculationScenarioFactory.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -25,6 +25,7 @@ using Core.Common.Base.Geometry; using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.HydraRing.Data; +using Ringtoets.Piping.KernelWrapper.TestUtil; using Ringtoets.Piping.Primitives; namespace Ringtoets.Piping.Data.TestUtil @@ -61,13 +62,7 @@ random.NextDouble(), random.NextDouble()); - scenario.Output = new PipingOutput( - random.NextDouble(), - random.NextDouble(), - random.NextDouble(), - random.NextDouble(), - random.NextDouble(), - random.NextDouble()); + scenario.Output = new TestPipingOutput(); return scenario; } Index: Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.Test/PipingCalculatorResultTest.cs =================================================================== diff -u -rfea3ed82dfb6dfcad535eef16efcbaa9c01564ed -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.Test/PipingCalculatorResultTest.cs (.../PipingCalculatorResultTest.cs) (revision fea3ed82dfb6dfcad535eef16efcbaa9c01564ed) +++ Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.Test/PipingCalculatorResultTest.cs (.../PipingCalculatorResultTest.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -37,15 +37,33 @@ var foShValue = random.NextDouble(); var zsValue = random.NextDouble(); var foSsValue = random.NextDouble(); + var heaveGradient = random.NextDouble(); + var sellmeijerCreepCoefficient = random.NextDouble(); + var sellmeijerCriticalFall = random.NextDouble(); + var sellmeijerReducedFall = random.NextDouble(); - var actual = new PipingCalculatorResult(zuValue, foSuValue, zhValue, foShValue, zsValue, foSsValue); + var actual = new PipingCalculatorResult( + zuValue, + foSuValue, + zhValue, + foShValue, + zsValue, + foSsValue, + heaveGradient, + sellmeijerCreepCoefficient, + sellmeijerCriticalFall, + sellmeijerReducedFall); - Assert.That(actual.UpliftZValue, Is.EqualTo(zuValue)); - Assert.That(actual.UpliftFactorOfSafety, Is.EqualTo(foSuValue)); - Assert.That(actual.HeaveZValue, Is.EqualTo(zhValue)); - Assert.That(actual.HeaveFactorOfSafety, Is.EqualTo(foShValue)); - Assert.That(actual.SellmeijerZValue, Is.EqualTo(zsValue)); - Assert.That(actual.SellmeijerFactorOfSafety, Is.EqualTo(foSsValue)); + Assert.AreEqual(zuValue, actual.UpliftZValue); + Assert.AreEqual(foSuValue, actual.UpliftFactorOfSafety); + Assert.AreEqual(zhValue, actual.HeaveZValue); + Assert.AreEqual(foShValue, actual.HeaveFactorOfSafety); + Assert.AreEqual(zsValue, actual.SellmeijerZValue); + Assert.AreEqual(foSsValue, actual.SellmeijerFactorOfSafety); + Assert.AreEqual(heaveGradient, actual.HeaveGradient); + Assert.AreEqual(sellmeijerCreepCoefficient, actual.SellmeijerCreepCoefficient); + Assert.AreEqual(sellmeijerCriticalFall, actual.SellmeijerCriticalFall); + Assert.AreEqual(sellmeijerReducedFall, actual.SellmeijerReducedFall); } } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.Test/PipingCalculatorTest.cs =================================================================== diff -u -r375ff37edf7bfb578e804373044eab32700f0e07 -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.Test/PipingCalculatorTest.cs (.../PipingCalculatorTest.cs) (revision 375ff37edf7bfb578e804373044eab32700f0e07) +++ Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.Test/PipingCalculatorTest.cs (.../PipingCalculatorTest.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -108,7 +108,7 @@ // Assert Assert.AreEqual(1, validationMessages.Count); - Assert.AreEqual("Kwelweglengte heeft ongeldige waarde (0 of negatief)", validationMessages[0]); + Assert.AreEqual("Kwelweglengte heeft ongeldige waarde (0 of negatief).", validationMessages[0]); } [Test] @@ -151,7 +151,7 @@ // Assert Assert.AreEqual(1, validationMessages.Count); - Assert.AreEqual("Rolweerstandshoek heeft ongeldige waarde (0 of negatief).", validationMessages[0]); + Assert.AreEqual("Rolweerstandshoek heeft een ongeldige waarde (0 of negatief).", validationMessages[0]); } [Test] @@ -193,29 +193,10 @@ // Assert Assert.AreEqual(1, validationMessages.Count); - Assert.AreEqual("Parameter 'Rexit' (Dempingsfactor bij uittredepunt) mag niet nul zijn.", validationMessages[0]); + Assert.AreEqual("Parameter 'RExit' (Dempingsfactor bij uittredepunt) mag niet nul zijn.", validationMessages[0]); } [Test] - public void Validate_ThicknessCoverageLayerZero_ValidationMessageForDTotal() - { - // Setup - PipingCalculatorInput input = new TestPipingInput - { - ThicknessCoverageLayer = 0 - }.AsRealInput(); - - var calculation = new PipingCalculator(input, PipingSubCalculatorFactory.Instance); - - // Call - List validationMessages = calculation.Validate(); - - // Assert - Assert.AreEqual(1, validationMessages.Count); - Assert.AreEqual("Parameter 'Dtotal' (totale deklaagdikte bij uittredepunt) mag niet nul zijn.", validationMessages[0]); - } - - [Test] public void Validate_ThicknessAquiferLayerZero_ValidationMessageForDAquifer() { // Setup @@ -250,7 +231,7 @@ // Assert Assert.AreEqual(1, validationMessages.Count); - Assert.AreEqual("Volumiek gewicht water heeft ongeldige waarde (=0).", validationMessages[0]); + Assert.AreEqual("Volumiek gewicht water heeft ongeldige waarde (mag niet nul zijn).", validationMessages[0]); } [Test] // Validate_DifferenceAssessmentLevelAndPhreaticLevelExitEqualToSellmeijerReductionFactorTimesThicknessCoverageLayer_ValidationMessageForHRiverHExitRcDTotal Index: Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil.Test/Ringtoets.Piping.KernelWrapper.TestUtil.Test.csproj =================================================================== diff -u -r2d5e2d09b0cb1a7f48e1b0a067d332347c89d4a8 -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil.Test/Ringtoets.Piping.KernelWrapper.TestUtil.Test.csproj (.../Ringtoets.Piping.KernelWrapper.TestUtil.Test.csproj) (revision 2d5e2d09b0cb1a7f48e1b0a067d332347c89d4a8) +++ Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil.Test/Ringtoets.Piping.KernelWrapper.TestUtil.Test.csproj (.../Ringtoets.Piping.KernelWrapper.TestUtil.Test.csproj) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -51,6 +51,7 @@ Properties\GlobalAssembly.cs + Index: Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil.Test/SubCalculator/HeaveCalculatorStubTest.cs =================================================================== diff -u -rfea3ed82dfb6dfcad535eef16efcbaa9c01564ed -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil.Test/SubCalculator/HeaveCalculatorStubTest.cs (.../HeaveCalculatorStubTest.cs) (revision fea3ed82dfb6dfcad535eef16efcbaa9c01564ed) +++ Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil.Test/SubCalculator/HeaveCalculatorStubTest.cs (.../HeaveCalculatorStubTest.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -40,7 +40,9 @@ Assert.AreEqual(0, stub.PhiExit); Assert.AreEqual(0, stub.PhiPolder); Assert.AreEqual(0, stub.RExit); + Assert.AreEqual(0, stub.BottomLevelAquitardAboveExitPointZ); + Assert.AreEqual(0, stub.Gradient); Assert.AreEqual(0, stub.FoSh); Assert.AreEqual(0, stub.Zh); } Index: Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil.Test/SubCalculator/PipingProfilePropertyCalculatorStubTest.cs =================================================================== diff -u --- Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil.Test/SubCalculator/PipingProfilePropertyCalculatorStubTest.cs (revision 0) +++ Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil.Test/SubCalculator/PipingProfilePropertyCalculatorStubTest.cs (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -0,0 +1,70 @@ +// 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 NUnit.Framework; +using Ringtoets.Piping.KernelWrapper.TestUtil.SubCalculator; + +namespace Ringtoets.Piping.KernelWrapper.TestUtil.Test.SubCalculator +{ + [TestFixture] + public class PipingProfilePropertyCalculatorStubTest + { + [Test] + public void DefaultConstructor_PropertiesSet() + { + // Call + var stub = new PipingProfilePropertyCalculatorStub(); + + // Assert + Assert.IsNull(stub.SoilProfile); + Assert.IsNull(stub.SurfaceLine); + Assert.AreEqual(0, stub.ExitPointX); + + Assert.AreEqual(0, stub.BottomAquitardLayerAboveExitPointZ); + } + + [Test] + public void Validate_Always_EmptyList() + { + // Setup + var stub = new PipingProfilePropertyCalculatorStub(); + + // Call + var result = stub.Validate(); + + // Assert + Assert.IsEmpty(result); + } + + [Test] + public void Calculate_Always_DoesNotThrow() + { + // Setup + var stub = new PipingProfilePropertyCalculatorStub(); + + // Call + TestDelegate call = () => stub.Calculate(); + + // Assert + Assert.DoesNotThrow(call); + } + } +} \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil.Test/SubCalculator/SellmeijerCalculatorStubTest.cs =================================================================== diff -u -r889b68c331c4545ddd9a6875d48cafd86f656494 -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil.Test/SubCalculator/SellmeijerCalculatorStubTest.cs (.../SellmeijerCalculatorStubTest.cs) (revision 889b68c331c4545ddd9a6875d48cafd86f656494) +++ Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil.Test/SubCalculator/SellmeijerCalculatorStubTest.cs (.../SellmeijerCalculatorStubTest.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -50,7 +50,11 @@ Assert.AreEqual(0, stub.SeepageLength); Assert.AreEqual(0, stub.VolumetricWeightOfWater); Assert.AreEqual(0, stub.WhitesDragCoefficient); + Assert.AreEqual(0, stub.BottomLevelAquitardAboveExitPointZ); + Assert.AreEqual(0, stub.CreepCoefficient); + Assert.AreEqual(0, stub.CriticalFall); + Assert.AreEqual(0, stub.ReducedFall); Assert.AreEqual(0, stub.FoSp); Assert.AreEqual(0, stub.Zp); } Index: Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil.Test/SubCalculator/TestPipingSubCalculatorFactoryTest.cs =================================================================== diff -u -rfea3ed82dfb6dfcad535eef16efcbaa9c01564ed -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil.Test/SubCalculator/TestPipingSubCalculatorFactoryTest.cs (.../TestPipingSubCalculatorFactoryTest.cs) (revision fea3ed82dfb6dfcad535eef16efcbaa9c01564ed) +++ Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil.Test/SubCalculator/TestPipingSubCalculatorFactoryTest.cs (.../TestPipingSubCalculatorFactoryTest.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -95,7 +95,7 @@ } [Test] - public void CreatePiezometricHeadAtExitCalculator_Always_LastCreatedPiezometricHeadAtExitSetToReturnValue() + public void CreatePiezometricHeadAtExitCalculator_Always_LastCreatedPiezometricHeadAtExitCalculatorSetToReturnValue() { // Setup var factory = new TestPipingSubCalculatorFactory(); @@ -106,5 +106,18 @@ // Assert Assert.AreSame(factory.LastCreatedPiezometricHeadAtExitCalculator, subCalculator); } + + [Test] + public void CreatePipingProfilePropertyCalculator_Always_LastCreatedPipingProfilePropertyCalculatorSetToReturnValue() + { + // Setup + var factory = new TestPipingSubCalculatorFactory(); + + // Call + var subCalculator = factory.CreatePipingProfilePropertyCalculator(); + + // Assert + Assert.AreSame(factory.LastCreatedPipingProfilePropertyCalculator, subCalculator); + } } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil/Ringtoets.Piping.KernelWrapper.TestUtil.csproj =================================================================== diff -u -rb1b25abeb595bff11389bbf0e695851995ef5221 -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil/Ringtoets.Piping.KernelWrapper.TestUtil.csproj (.../Ringtoets.Piping.KernelWrapper.TestUtil.csproj) (revision b1b25abeb595bff11389bbf0e695851995ef5221) +++ Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil/Ringtoets.Piping.KernelWrapper.TestUtil.csproj (.../Ringtoets.Piping.KernelWrapper.TestUtil.csproj) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -51,6 +51,7 @@ Properties\GlobalAssembly.cs + Index: Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil/SubCalculator/HeaveCalculatorStub.cs =================================================================== diff -u -rfea3ed82dfb6dfcad535eef16efcbaa9c01564ed -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil/SubCalculator/HeaveCalculatorStub.cs (.../HeaveCalculatorStub.cs) (revision fea3ed82dfb6dfcad535eef16efcbaa9c01564ed) +++ Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil/SubCalculator/HeaveCalculatorStub.cs (.../HeaveCalculatorStub.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -35,6 +35,8 @@ public double PhiExit { get; set; } public double PhiPolder { get; set; } public double RExit { get; set; } + public double BottomLevelAquitardAboveExitPointZ { get; set; } + public double Gradient { get; private set; } public double Zh { get; private set; } public double FoSh { get; private set; } Index: Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil/SubCalculator/PipingProfilePropertyCalculatorStub.cs =================================================================== diff -u --- Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil/SubCalculator/PipingProfilePropertyCalculatorStub.cs (revision 0) +++ Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil/SubCalculator/PipingProfilePropertyCalculatorStub.cs (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -0,0 +1,45 @@ +// 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.Collections.Generic; +using Deltares.WTIPiping; +using Ringtoets.Piping.KernelWrapper.SubCalculator; + +namespace Ringtoets.Piping.KernelWrapper.TestUtil.SubCalculator +{ + /// + /// Stub for the real piping profile property calculator. + /// + public class PipingProfilePropertyCalculatorStub : IPipingProfilePropertyCalculator + { + public PipingProfile SoilProfile { get; set; } + public PipingSurfaceLine SurfaceLine { get; set; } + public double ExitPointX { get; set; } + public double BottomAquitardLayerAboveExitPointZ { get; private set; } + + public void Calculate() {} + + public List Validate() + { + return new List(); + } + } +} \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil/SubCalculator/SellmeijerCalculatorStub.cs =================================================================== diff -u -rfea3ed82dfb6dfcad535eef16efcbaa9c01564ed -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil/SubCalculator/SellmeijerCalculatorStub.cs (.../SellmeijerCalculatorStub.cs) (revision fea3ed82dfb6dfcad535eef16efcbaa9c01564ed) +++ Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil/SubCalculator/SellmeijerCalculatorStub.cs (.../SellmeijerCalculatorStub.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -45,6 +45,10 @@ public double SeepageLength { get; set; } public double VolumetricWeightOfWater { get; set; } public double WhitesDragCoefficient { get; set; } + public double BottomLevelAquitardAboveExitPointZ { get; set; } + public double CreepCoefficient { get; private set; } + public double CriticalFall { get; private set; } + public double ReducedFall { get; private set; } public double Zp { get; private set; } public double FoSp { get; private set; } Index: Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil/SubCalculator/TestPipingSubCalculatorFactory.cs =================================================================== diff -u -rfea3ed82dfb6dfcad535eef16efcbaa9c01564ed -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil/SubCalculator/TestPipingSubCalculatorFactory.cs (.../TestPipingSubCalculatorFactory.cs) (revision fea3ed82dfb6dfcad535eef16efcbaa9c01564ed) +++ Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil/SubCalculator/TestPipingSubCalculatorFactory.cs (.../TestPipingSubCalculatorFactory.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -34,6 +34,7 @@ public SellmeijerCalculatorStub LastCreatedSellmeijerCalculator { get; private set; } public HeaveCalculatorStub LastCreatedHeaveCalculator { get; private set; } public PiezoHeadCalculatorStub LastCreatedPiezometricHeadAtExitCalculator { get; private set; } + public PipingProfilePropertyCalculatorStub LastCreatedPipingProfilePropertyCalculator { get; private set; } public IUpliftCalculator CreateUpliftCalculator() { @@ -64,5 +65,11 @@ LastCreatedPiezometricHeadAtExitCalculator = new PiezoHeadCalculatorStub(); return LastCreatedPiezometricHeadAtExitCalculator; } + + public IPipingProfilePropertyCalculator CreatePipingProfilePropertyCalculator() + { + LastCreatedPipingProfilePropertyCalculator = new PipingProfilePropertyCalculatorStub(); + return LastCreatedPipingProfilePropertyCalculator; + } } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil/TestPipingOutput.cs =================================================================== diff -u -r72bdda9f23b68227dd942903887c2b24d45fc370 -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil/TestPipingOutput.cs (.../TestPipingOutput.cs) (revision 72bdda9f23b68227dd942903887c2b24d45fc370) +++ Ringtoets/Piping/test/Ringtoets.Piping.KernelWrapper.TestUtil/TestPipingOutput.cs (.../TestPipingOutput.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -32,6 +32,6 @@ /// /// Creates a new instance of the class. /// - public TestPipingOutput() : base(0, 0, 0, 0, 0, 0) {} + public TestPipingOutput() : base(0, 0, 0, 0, 0, 0, 0, 0, 0, 0) {} } } \ No newline at end of file Index: Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingSemiProbabilisticCalculationServiceTest.cs =================================================================== diff -u -r860f5fdc0e43f0693f756b0b79ea2cb7a5b91a3b -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 --- Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingSemiProbabilisticCalculationServiceTest.cs (.../PipingSemiProbabilisticCalculationServiceTest.cs) (revision 860f5fdc0e43f0693f756b0b79ea2cb7a5b91a3b) +++ Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingSemiProbabilisticCalculationServiceTest.cs (.../PipingSemiProbabilisticCalculationServiceTest.cs) (revision 0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857) @@ -39,7 +39,7 @@ public void UpliftProbability_DifferentInputs_ReturnsExpectedValue(int returnPeriod, double factorOfSafety, double expectedResult) { // Setup - var calculatorResult = new PipingOutput(double.NaN, factorOfSafety, double.NaN, double.NaN, double.NaN, double.NaN); + var calculatorResult = new PipingOutput(double.NaN, factorOfSafety, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN); var calculation = AsPipingCalculation(calculatorResult); double norm = 1.0/returnPeriod; @@ -60,7 +60,7 @@ public void HeaveProbability_DifferentInputs_ReturnsExpectedValue(int returnPeriod, double factorOfSafety, double expectedResult) { // Setup - var calculatorResult = new PipingOutput(double.NaN, double.NaN, double.NaN, factorOfSafety, double.NaN, double.NaN); + var calculatorResult = new PipingOutput(double.NaN, double.NaN, double.NaN, factorOfSafety, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN); var calculation = AsPipingCalculation(calculatorResult); double norm = 1.0/returnPeriod; @@ -81,7 +81,7 @@ public void SellmeijerProbability_DifferentInputs_ReturnsExpectedValue(int returnPeriod, double factorOfSafety, double expectedResult) { // Setup - var calculatorResult = new PipingOutput(double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, factorOfSafety); + var calculatorResult = new PipingOutput(double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, factorOfSafety, double.NaN, double.NaN, double.NaN, double.NaN); var calculation = AsPipingCalculation(calculatorResult); double norm = 1.0/returnPeriod; @@ -104,7 +104,7 @@ public void PipingReliability_DifferentInputs_ReturnsExpectedValue(int returnPeriod, double fosUplift, double fosHeave, double fosSellmeijer, double expectedResult) { // Setup - var calculatorResult = new PipingOutput(double.NaN, fosUplift, double.NaN, fosHeave, double.NaN, fosSellmeijer); + var calculatorResult = new PipingOutput(double.NaN, fosUplift, double.NaN, fosHeave, double.NaN, fosSellmeijer, double.NaN, double.NaN, double.NaN, double.NaN); var calculation = AsPipingCalculation(calculatorResult); double norm = 1.0/returnPeriod; @@ -124,7 +124,7 @@ public void RequiredReliability_DifferentInputs_ReturnsExpectedValue(int returnPeriod, double assessmentSectionLength, double contribution, double expectedResult) { // Setup - var calculatorResult = new PipingOutput(double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN); + var calculatorResult = new PipingOutput(double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN, double.NaN); var pipingProbabilityAssessmentInput = new PipingProbabilityAssessmentInput { SectionLength = assessmentSectionLength @@ -153,7 +153,7 @@ const double fosSellmeijer = 0.9; const double expectedResult = 0.907; - var calculatorResult = new PipingOutput(double.NaN, fosUplift, double.NaN, fosHeave, double.NaN, fosSellmeijer); + var calculatorResult = new PipingOutput(double.NaN, fosUplift, double.NaN, fosHeave, double.NaN, fosSellmeijer, double.NaN, double.NaN, double.NaN, double.NaN); var pipingProbabilityAssessmentInput = new PipingProbabilityAssessmentInput { SectionLength = assessmentSectionLength @@ -181,7 +181,7 @@ [Values(0.9, 1.1)] double fosSellmeijer) { // Setup - var calculatorResult = new PipingOutput(double.NaN, fosUplift, double.NaN, fosHeave, double.NaN, fosSellmeijer); + var calculatorResult = new PipingOutput(double.NaN, fosUplift, double.NaN, fosHeave, double.NaN, fosSellmeijer, double.NaN, double.NaN, double.NaN, double.NaN); var pipingProbabilityAssessmentInput = new PipingProbabilityAssessmentInput { SectionLength = assessmentSectionLength Index: lib/Plugins/Wti/WTIPiping.dll =================================================================== diff -u -rd82f7a88bb887fe9acad3a8f876572094422e6d7 -r0dfaf04c32ddd8f2ccfe1e244bdc6efcbb3b6857 Binary files differ