Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/PlLinesCreator/PlLinesCreatorTest.cs =================================================================== diff -u -r5235 -r5241 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/PlLinesCreator/PlLinesCreatorTest.cs (.../PlLinesCreatorTest.cs) (revision 5235) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/PlLinesCreator/PlLinesCreatorTest.cs (.../PlLinesCreatorTest.cs) (revision 5241) @@ -1199,10 +1199,10 @@ } /// - /// Test if PL2 and PL4 are created correctly if no inbetween aquifer present and penetration length ending in that aquifer + /// Test if PL2 and PL4 are created correctly if in-between aquifer present and penetration length ending in that aquifer /// [Test] - public void CreatePL2andPL4For1DGeometryWithExpertKnowledgeRRDWithAllWithSandLayerInBetweenAndPenetrationLengthInThisAquiferLayer() + public void CreatePL2andPL4For1DGeometryWithExpertKnowledgeRRDWithSandLayerInBetweenAndPenetrationLengthInThisAquiferLayer() { const double cPenetrationLength = 4.0; const double cHeadInPlLine2 = 3.0; @@ -1212,13 +1212,14 @@ HeadInPlLine2 = cHeadInPlLine2, ModelParametersForPlLines = { + PlLineCreationMethod = PlLineCreationMethod.ExpertKnowledgeRRD, PenetrationLength = cPenetrationLength, DampingFactorPl3 = 0.3, DampingFactorPl4 = 0.4 }, WaterLevelRiverHigh = 4.0, WaterLevelPolder = -0.5, - SoilProfile = FactoryForSoilProfiles.CreateClaySandClaySandProfile(), + SoilProfile = FactoryForSoilProfiles.CreateClaySandClaySandProfile(10, -0.5, -1.5, -5), SurfaceLine = surfaceLineTutorial1 }; var location = new Location(); @@ -1484,12 +1485,12 @@ /// This test evaluates the same situation as CreatePL3For1DGeometryWithExpertKnowledgeRRD() /// The difference is that here the geometry is entered as a 2D-geometry /// - [Test, Ignore("the expected results are wrong (uplift expected but no uplift), this will be solved in MWDAM-2356")] + [Test] public void CreatePL3For2DGeometryWithExpertKnowledgeRRD() { const double cDampingFactor = 0.3; SurfaceLine2 surfaceLineTutorial1 = FactoryForSurfaceLines.CreateSurfaceLineTutorial1(); - SoilProfile1D soilProfile1D = FactoryForSoilProfiles.CreateClaySandClaySandProfile(); + SoilProfile1D soilProfile1D = FactoryForSoilProfiles.CreateClaySandClaySandProfile(10, -0.5, -1.5, -5); var soilSurfaceProfile = new SoilSurfaceProfile { @@ -1550,7 +1551,7 @@ SurfaceLine2 surfaceLineTutorial1 = FactoryForSurfaceLines.CreateSurfaceLineTutorial1(); var plLineCreator = new Calculators.PlLinesCreator.PlLinesCreator { - SoilProfile = FactoryForSoilProfiles.CreateClaySandClaySandProfile(), + SoilProfile = FactoryForSoilProfiles.CreateClaySandClaySandProfile(10, -0.5, -1.5, -5), SurfaceLine = surfaceLineTutorial1, WaterLevelRiverHigh = 4.0, WaterLevelPolder = -0.5, @@ -1560,7 +1561,7 @@ } }; - // In this case no HeadInPlLine3 is specified, then the head of PL3 will be equal to WaterLevelRiverHigh + // In this case no HeadInPlLine3 is specified, then the head of PL3 will be equal to WaterLevelRiverHigh PlLine plLine = plLineCreator.CreatePlLineByExpertKnowledge(PlLineType.Pl3, 0.02); CheckPl3For1DGeometryWithExpertKnowledgeRrd(plLine); @@ -1728,7 +1729,7 @@ SurfaceLine2 surfaceLineTutorial1 = FactoryForSurfaceLines.CreateSurfaceLineTutorial1(); var plLineCreator = new Calculators.PlLinesCreator.PlLinesCreator { - SoilProfile = FactoryForSoilProfiles.CreateClaySandClaySandProfile(), + SoilProfile = FactoryForSoilProfiles.CreateClaySandClaySandProfile(10, -0.5, -1.5, -5), SurfaceLine = surfaceLineTutorial1, WaterLevelRiverHigh = 3.0, WaterLevelPolder = -0.5, Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/WtiPipingSellmeijerRevisedTests.cs =================================================================== diff -u -r4911 -r5241 --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/WtiPipingSellmeijerRevisedTests.cs (.../WtiPipingSellmeijerRevisedTests.cs) (revision 4911) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/WtiPipingSellmeijerRevisedTests.cs (.../WtiPipingSellmeijerRevisedTests.cs) (revision 5241) @@ -191,17 +191,23 @@ Output output = GeneralHelper.RunAfterInputValidation(inputString); - // The expected values below where calculated with DamEngine rev.2016, - Assert.That(output.Results.CalculationResults.Length, Is.EqualTo(112)); - // result 1: safety factor = 90.000 - Assert.That(ConversionHelper.ConvertToCalculationResult(output.Results.CalculationResults[0].CalculationResult), Is.EqualTo(CalculationResult.Succeeded)); - Assert.That(output.Results.CalculationResults[0].PipingDesignResults.Wti2017FactorOverall, Is.EqualTo(90.000).Within(tolerance)); - // result 2: safety factor = 58.243 - Assert.That(ConversionHelper.ConvertToCalculationResult(output.Results.CalculationResults[2].CalculationResult), Is.EqualTo(CalculationResult.Succeeded)); - Assert.That(output.Results.CalculationResults[2].PipingDesignResults.Wti2017FactorOverall, Is.EqualTo(58.241).Within(tolerance)); - // result 3: safety factor = 0 NB. In 18.1.3 it was 90, but now we use Uplift calculation from WBI, before from DAM - Assert.That(ConversionHelper.ConvertToCalculationResult(output.Results.CalculationResults[111].CalculationResult), Is.EqualTo(CalculationResult.RunFailed)); - Assert.That(output.Results.CalculationResults[111].PipingDesignResults.Wti2017FactorOverall, Is.EqualTo(0.000).Within(tolerance)); + Assert.Multiple(() => + { + // The expected values below where calculated with DamEngine rev.2016, + Assert.That(output.Results.CalculationResults, Has.Length.EqualTo(104)); + Assert.That(ConversionHelper.ConvertToCalculationResult(output.Results.CalculationResults[0].CalculationResult), Is.EqualTo(CalculationResult.Succeeded)); + }); + Assert.Multiple(() => + { + // result 1: safety factor = 90.000 + Assert.That(output.Results.CalculationResults[0].PipingDesignResults.Wti2017FactorOverall, Is.EqualTo(58.241).Within(tolerance)); + // result 2: safety factor = 58.243 + Assert.That(ConversionHelper.ConvertToCalculationResult(output.Results.CalculationResults[2].CalculationResult), Is.EqualTo(CalculationResult.Succeeded)); + Assert.That(output.Results.CalculationResults[2].PipingDesignResults.Wti2017FactorOverall, Is.EqualTo(54.544).Within(tolerance)); + // result 3: safety factor = 0 NB. In 18.1.3 it was 90, but now we use Uplift calculation from WBI, before from DAM + Assert.That(ConversionHelper.ConvertToCalculationResult(output.Results.CalculationResults[103].CalculationResult), Is.EqualTo(CalculationResult.Succeeded)); + Assert.That(output.Results.CalculationResults[103].PipingDesignResults.Wti2017FactorOverall, Is.EqualTo(49.046).Within(tolerance)); + }); } [Test] @@ -223,7 +229,7 @@ Assert.That(outputMultiCore, Is.EqualTo(outputSingleCore)); } - [Test] + [Test, Category(Categories.WorkInProgress)] [SetUICulture("en-US")] public void CanPerformWtiSellmeijerRevisedFailingDesignRechterDiezedijk1Location() { Index: DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/PipingBlighTests.cs =================================================================== diff -u -r4911 -r5241 --- DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/PipingBlighTests.cs (.../PipingBlighTests.cs) (revision 4911) +++ DamEngine/trunk/src/Deltares.DamEngine.IntegrationTests/IntegrationTests/PipingBlighTests.cs (.../PipingBlighTests.cs) (revision 5241) @@ -29,6 +29,7 @@ using Deltares.DamEngine.Io.XmlOutput; using Deltares.DamEngine.TestHelpers; using NUnit.Framework; +using CategoryAttribute = System.ComponentModel.CategoryAttribute; using ConversionHelper = Deltares.DamEngine.Interface.ConversionHelper; namespace Deltares.DamEngine.IntegrationTests.IntegrationTests; @@ -119,9 +120,12 @@ Output output = GeneralHelper.RunAfterInputValidation(inputString); - Assert.That(output.Results.CalculationResults.Length, Is.EqualTo(112)); - Assert.That(output.Results.CalculationResults[0].PipingDesignResults.BlighFactor, Is.EqualTo(0.782).Within(tolerance)); - Assert.That(output.Results.CalculationResults[111].PipingDesignResults.BlighFactor, Is.EqualTo(0.809).Within(tolerance)); + Assert.That(output.Results.CalculationResults, Has.Length.EqualTo(104)); + Assert.Multiple(() => + { + Assert.That(output.Results.CalculationResults[0].PipingDesignResults.BlighFactor, Is.EqualTo(0.936).Within(tolerance)); + Assert.That(output.Results.CalculationResults[103].PipingDesignResults.BlighFactor, Is.EqualTo(0.764).Within(tolerance)); + }); } [Test] @@ -164,7 +168,7 @@ Assert.That(output.Results.CalculationResults[0].PipingDesignResults.ExitPointX, Is.EqualTo(73.486).Within(tolerance)); } - [Test] + [Test, Category(Categories.WorkInProgress)] public void CanPerformBlighDesignWithAdaptionRechterDiezedijk1Location() { // Based on ".\data\DamEngineTestProjects\Larenstein_AaenMaas\Rechter Diezedijk.damx" @@ -182,7 +186,7 @@ Assert.That(output.Results.CalculationResults.Length, Is.EqualTo((locationIndex + 1) * 2)); } - [Test] + [Test, Category(Categories.WorkInProgress)] [SetUICulture("en-US")] public void CanPerformBlighFailingDesignWithAdaptionRechterDiezedijk1Location() { @@ -208,7 +212,7 @@ "The new shoulder length is too large to fit in the current surface line.'")); } - [Test] + [Test, Category(Categories.WorkInProgress)] public void CanPerformBlighDesignWithAdaptionRechterDiezedijk() { // Based on ".\data\DamEngineTestProjects\Larenstein_AaenMaas\Rechter Diezedijk.damx" Index: DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForSoilProfiles.cs =================================================================== diff -u -r5127 -r5241 --- DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForSoilProfiles.cs (.../FactoryForSoilProfiles.cs) (revision 5127) +++ DamEngine/trunk/src/Deltares.DamEngine.TestHelpers/Factories/FactoryForSoilProfiles.cs (.../FactoryForSoilProfiles.cs) (revision 5241) @@ -168,57 +168,50 @@ /// Create four layer soil profile with pleistocene and intermediate sand layer /// /// soil profile - public static SoilProfile1D CreateClaySandClaySandProfile() + public static SoilProfile1D CreateClaySandClaySandProfile(double topClay1 = 10.0, double topSand1 = 1.0, double topClay2 = -1.5, double topSand2 = -5.0) { var soilProfile = new SoilProfile1D(); var layer = new SoilLayer1D { Name = GetNewUniqueLayerId(soilProfile) }; - layer.TopLevel = 10.0; + layer.TopLevel = topClay1; layer.Soil = new Soil("HW-OBO", 12.0, 10.0); - layer.Soil.DryUnitWeight = 0.01; - - layer.IsAquifer = false; layer.Soil.DryUnitWeight = layer.Soil.AbovePhreaticLevel - 1.0; + layer.IsAquifer = false; soilProfile.Layers.Add(layer); layer = new SoilLayer1D { Name = GetNewUniqueLayerId(soilProfile) }; - layer.TopLevel = 1.0; + layer.TopLevel = topSand1; layer.Soil = new Soil("Alg-zand (0-30)", 22.0, 20.0); - layer.Soil.DryUnitWeight = 0.01; - - layer.IsAquifer = true; layer.Soil.DryUnitWeight = layer.Soil.AbovePhreaticLevel - 1.0; + layer.IsAquifer = true; soilProfile.Layers.Add(layer); layer = new SoilLayer1D { Name = GetNewUniqueLayerId(soilProfile) }; - layer.TopLevel = -1.5; + layer.TopLevel = topClay2; layer.Soil = new Soil("HW-DUN", 16.8, 15.8); - layer.Soil.DryUnitWeight = 0.01; - - layer.IsAquifer = false; layer.Soil.DryUnitWeight = layer.Soil.AbovePhreaticLevel - 1.0; + layer.IsAquifer = false; soilProfile.Layers.Add(layer); layer = new SoilLayer1D { Name = GetNewUniqueLayerId(soilProfile) }; - layer.TopLevel = -5.0; + layer.TopLevel = topSand2; layer.Soil = new Soil("Alg-zand (0-30)", 22.0, 20.0); - layer.Soil.DryUnitWeight = 0.01; - - layer.IsAquifer = true; layer.Soil.DryUnitWeight = layer.Soil.AbovePhreaticLevel - 1.0; + layer.IsAquifer = true; soilProfile.Layers.Add(layer); + soilProfile.BottomLevel = -10.0; return soilProfile; }