Index: DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/WtiPipingSellmeijerRevised/WtiPipingSellmeijerRevisedKernelWrapperTests.cs =================================================================== diff -u -r5416 -r6158 --- DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/WtiPipingSellmeijerRevised/WtiPipingSellmeijerRevisedKernelWrapperTests.cs (.../WtiPipingSellmeijerRevisedKernelWrapperTests.cs) (revision 5416) +++ DamEngine/trunk/src/Deltares.DamEngine.Calculators.Tests/KernelWrappers/WtiPipingSellmeijerRevised/WtiPipingSellmeijerRevisedKernelWrapperTests.cs (.../WtiPipingSellmeijerRevisedKernelWrapperTests.cs) (revision 6158) @@ -47,9 +47,8 @@ // Validate without setting values. Expected error messages. var damPipingInput = new WtiPipingSellmeijerRevisedInput(); var damPipingOutput = new WtiPipingSellmeijerRevisedOutput(); - List messages; - kernelWrapper.Validate(damPipingInput, damPipingOutput, out messages); - Assert.That(messages.Count, Is.GreaterThan(0)); + kernelWrapper.Validate(damPipingInput, damPipingOutput, out List messages); + Assert.That(messages, Is.Not.Empty); // Validate the input when valid input is provided. Expected no messages. damPipingInput = new WtiPipingSellmeijerRevisedInput @@ -67,7 +66,7 @@ }; messages.Clear(); kernelWrapper.Validate(damPipingInput, damPipingOutput, out messages); - Assert.That(messages.Count, Is.EqualTo(0)); + Assert.That(messages, Is.Empty); } [Test] @@ -122,35 +121,37 @@ { LocationName = input.Location.Name }; - List results; - kernelWrapper.PostProcess(input, output, designScenario, "", out results); + kernelWrapper.PostProcess(input, output, designScenario, "", out List results); foreach (DesignResult result in results) { - Assert.That(result.PipingDesignResults.Wti2017BackwardErosionSafetyFactor, Is.EqualTo(output.FoSbe)); - Assert.That(result.PipingDesignResults.Wti2017BackwardErosionHcritical, Is.EqualTo(output.Hcbe)); - Assert.That(result.PipingDesignResults.Wti2017BackwardErosionDeltaPhiC, Is.EqualTo(output.DeltaPhiCbe)); - Assert.That(result.PipingDesignResults.Wti2017BackwardErosionDeltaPhiReduced, Is.EqualTo(output.DeltaPhibe)); - Assert.That(result.PipingDesignResults.Wti2017UpliftSafetyFactor, Is.EqualTo(output.FoSu)); - Assert.That(result.PipingDesignResults.Wti2017UpliftHcritical, Is.EqualTo(output.Hcu)); - Assert.That(result.PipingDesignResults.Wti2017UpliftDeltaPhiC, Is.EqualTo(output.DeltaPhiCu)); - Assert.That(result.PipingDesignResults.Wti2017HeaveSafetyFactor, Is.EqualTo(output.FoSh)); - Assert.That(result.PipingDesignResults.Wti2017HeaveHcritical, Is.EqualTo(output.Hch)); - Assert.That(result.PipingDesignResults.Wti2017Gradient, Is.EqualTo(output.Gradient)); - Assert.That(result.PipingDesignResults.EffectiveStress, Is.EqualTo(output.EffectiveStress)); - // CCreep is calculated by hand. - Assert.That(result.PipingDesignResults.CCreep, Is.EqualTo(23.076923076923077)); + Assert.Multiple(() => + { + Assert.That(result.PipingDesignResults.Wti2017BackwardErosionSafetyFactor, Is.EqualTo(output.FoSbe)); + Assert.That(result.PipingDesignResults.Wti2017BackwardErosionHcritical, Is.EqualTo(output.Hcbe)); + Assert.That(result.PipingDesignResults.Wti2017BackwardErosionDeltaPhiC, Is.EqualTo(output.DeltaPhiCbe)); + Assert.That(result.PipingDesignResults.Wti2017BackwardErosionDeltaPhiReduced, Is.EqualTo(output.DeltaPhibe)); + Assert.That(result.PipingDesignResults.Wti2017UpliftSafetyFactor, Is.EqualTo(output.FoSu)); + Assert.That(result.PipingDesignResults.Wti2017UpliftHcritical, Is.EqualTo(output.Hcu)); + Assert.That(result.PipingDesignResults.Wti2017UpliftDeltaPhiC, Is.EqualTo(output.DeltaPhiCu)); + Assert.That(result.PipingDesignResults.Wti2017HeaveSafetyFactor, Is.EqualTo(output.FoSh)); + Assert.That(result.PipingDesignResults.Wti2017HeaveHcritical, Is.EqualTo(output.Hch)); + Assert.That(result.PipingDesignResults.Wti2017Gradient, Is.EqualTo(output.Gradient)); + Assert.That(result.PipingDesignResults.EffectiveStress, Is.EqualTo(output.EffectiveStress)); + // CCreep is calculated by hand. + Assert.That(result.PipingDesignResults.CCreep, Is.EqualTo(23.076923076923077)); - // Overall results (FoS and Hc) are taken from the case with maximum FoS from Uplift (u), Heave (h) and Backward Erorsion (be) - // Here this is uplift, so the results must be equal to those of Uplift. - Assert.That(result.PipingDesignResults.Wti2017SafetyFactorOverall, Is.EqualTo(output.FoSu)); - Assert.That(result.PipingDesignResults.Wti2017HcriticalOverall, Is.EqualTo(output.Hcu)); + // Overall results (FoS and Hc) are taken from the case with maximum FoS from Uplift (u), Heave (h) and Backward Erorsion (be) + // Here this is uplift, so the results must be equal to those of Uplift. + Assert.That(result.PipingDesignResults.Wti2017SafetyFactorOverall, Is.EqualTo(output.FoSu)); + Assert.That(result.PipingDesignResults.Wti2017HcriticalOverall, Is.EqualTo(output.Hcu)); - Assert.That(result.PipingDesignResults.LocalExitPointX, Is.EqualTo(output.ExitPointX)); - Assert.That(result.PipingDesignResults.UpliftFactor, Is.EqualTo(output.UpliftFactor)); - Assert.That(result.PipingDesignResults.UpliftSituation, Is.EqualTo(output.UpliftSituation)); - Assert.That(result.CalculationResult, Is.EqualTo(output.CalculationResult)); + Assert.That(result.PipingDesignResults.LocalExitPointX, Is.EqualTo(output.ExitPointX)); + Assert.That(result.PipingDesignResults.UpliftFactor, Is.EqualTo(output.UpliftFactor)); + Assert.That(result.PipingDesignResults.UpliftSituation, Is.EqualTo(output.UpliftSituation)); + Assert.That(result.CalculationResult, Is.EqualTo(output.CalculationResult)); - Assert.That(result.PipingDesignResults.RedesignedSurfaceLine, Is.EqualTo(input.Location.SurfaceLine)); + Assert.That(result.PipingDesignResults.RedesignedSurfaceLine, Is.EqualTo(input.Location.SurfaceLine)); + }); } } @@ -197,23 +198,26 @@ const double diff = 0.0001; SurfaceLine2 surfaceLine = FactoryForSurfaceLines.CreateSurfaceLineForWtiPiping(true); PipingSurfaceLine surfaceLinePiping = kernelWrapper.ConvertToPipingSurfaceLine(surfaceLine); - Assert.That(surfaceLinePiping.Points.Count, Is.EqualTo(12)); - // Check some coordinates and types - Assert.That(surfaceLinePiping.Points[2].X, Is.EqualTo(34.5).Within(diff)); - Assert.That(surfaceLinePiping.Points[2].Z, Is.EqualTo(5).Within(diff)); - Assert.That(surfaceLinePiping.Points[2].Type, Is.EqualTo(PipingCharacteristicPointType.None)); + Assert.That(surfaceLinePiping.Points, Has.Count.EqualTo(12)); + Assert.Multiple(() => + { + // Check some coordinates and types + Assert.That(surfaceLinePiping.Points[2].X, Is.EqualTo(34.5).Within(diff)); + Assert.That(surfaceLinePiping.Points[2].Z, Is.EqualTo(5).Within(diff)); + Assert.That(surfaceLinePiping.Points[2].Type, Is.EqualTo(PipingCharacteristicPointType.None)); - Assert.That(surfaceLinePiping.Points[4].X, Is.EqualTo(38.5).Within(diff)); - Assert.That(surfaceLinePiping.Points[4].Z, Is.EqualTo(5).Within(diff)); - Assert.That(surfaceLinePiping.Points[4].Type, Is.EqualTo(PipingCharacteristicPointType.None)); + Assert.That(surfaceLinePiping.Points[4].X, Is.EqualTo(38.5).Within(diff)); + Assert.That(surfaceLinePiping.Points[4].Z, Is.EqualTo(5).Within(diff)); + Assert.That(surfaceLinePiping.Points[4].Type, Is.EqualTo(PipingCharacteristicPointType.None)); - Assert.That(surfaceLinePiping.Points[7].X, Is.EqualTo(58.5).Within(diff)); - Assert.That(surfaceLinePiping.Points[7].Z, Is.EqualTo(0).Within(diff)); - Assert.That(surfaceLinePiping.Points[7].Type, Is.EqualTo(PipingCharacteristicPointType.DitchDikeSide)); + Assert.That(surfaceLinePiping.Points[7].X, Is.EqualTo(58.5).Within(diff)); + Assert.That(surfaceLinePiping.Points[7].Z, Is.EqualTo(0).Within(diff)); + Assert.That(surfaceLinePiping.Points[7].Type, Is.EqualTo(PipingCharacteristicPointType.DitchDikeSide)); - Assert.That(surfaceLinePiping.Points[9].X, Is.EqualTo(61.5).Within(diff)); - Assert.That(surfaceLinePiping.Points[9].Z, Is.EqualTo(-1).Within(diff)); - Assert.That(surfaceLinePiping.Points[9].Type, Is.EqualTo(PipingCharacteristicPointType.BottomDitchPolderSide)); + Assert.That(surfaceLinePiping.Points[9].X, Is.EqualTo(61.5).Within(diff)); + Assert.That(surfaceLinePiping.Points[9].Z, Is.EqualTo(-1).Within(diff)); + Assert.That(surfaceLinePiping.Points[9].Type, Is.EqualTo(PipingCharacteristicPointType.BottomDitchPolderSide)); + }); } [Test] @@ -223,21 +227,24 @@ var kernelWrapper = new WtiPipingSellmeijerRevisedKernelWrapper(); SoilProfile1D profile = FactoryForSoilProfiles.CreatePipingSellmeijerProfileWithOneSandLayer(out _); PipingProfile profilePiping = kernelWrapper.ConvertToPipingProfile(profile); - Assert.That(profilePiping.Layers.Count, Is.EqualTo(2)); + Assert.That(profilePiping.Layers, Has.Count.EqualTo(2)); - Assert.That(profilePiping.Layers[0].TopLevel, Is.EqualTo(10).Within(diff)); - Assert.That(profilePiping.Layers[0].AbovePhreaticLevel, Is.EqualTo(11).Within(diff)); - Assert.That(profilePiping.Layers[0].BelowPhreaticLevel, Is.EqualTo(14).Within(diff)); - Assert.That(profilePiping.Layers[0].IsAquifer, Is.EqualTo(false)); - Assert.That(profilePiping.Layers[0].DryUnitWeight, Is.EqualTo(double.NaN).Within(diff)); + Assert.Multiple(() => + { + Assert.That(profilePiping.Layers[0].TopLevel, Is.EqualTo(10).Within(diff)); + Assert.That(profilePiping.Layers[0].AbovePhreaticLevel, Is.EqualTo(11).Within(diff)); + Assert.That(profilePiping.Layers[0].BelowPhreaticLevel, Is.EqualTo(14).Within(diff)); + Assert.That(profilePiping.Layers[0].IsAquifer, Is.EqualTo(false)); + Assert.That(profilePiping.Layers[0].DryUnitWeight, Is.EqualTo(11).Within(diff)); - Assert.That(profilePiping.Layers[1].TopLevel, Is.EqualTo(-2).Within(diff)); - Assert.That(profilePiping.Layers[1].AbovePhreaticLevel, Is.EqualTo(20).Within(diff)); - Assert.That(profilePiping.Layers[1].BelowPhreaticLevel, Is.EqualTo(22).Within(diff)); - Assert.That(profilePiping.Layers[1].IsAquifer, Is.EqualTo(true)); - Assert.That(profilePiping.Layers[1].DryUnitWeight, Is.EqualTo(double.NaN).Within(diff)); + Assert.That(profilePiping.Layers[1].TopLevel, Is.EqualTo(-2).Within(diff)); + Assert.That(profilePiping.Layers[1].AbovePhreaticLevel, Is.EqualTo(20).Within(diff)); + Assert.That(profilePiping.Layers[1].BelowPhreaticLevel, Is.EqualTo(22).Within(diff)); + Assert.That(profilePiping.Layers[1].IsAquifer, Is.EqualTo(true)); + Assert.That(profilePiping.Layers[1].DryUnitWeight, Is.EqualTo(20).Within(diff)); - Assert.That(profilePiping.BottomLevel, Is.EqualTo(-10).Within(diff)); + Assert.That(profilePiping.BottomLevel, Is.EqualTo(-10).Within(diff)); + }); } [Test] @@ -258,18 +265,21 @@ output.Hcbe = 1; output.DeltaPhiCbe = 1; kernelWrapper.AssignFailedValuesWtiUplift(output); - // Uplift - Assert.That(output.FoSu, Is.EqualTo(0)); - Assert.That(output.Hcu, Is.EqualTo(0)); - Assert.That(output.DeltaPhiCu, Is.EqualTo(0)); - // Heave - Assert.That(output.FoSh, Is.EqualTo(1)); - Assert.That(output.Hch, Is.EqualTo(1)); - Assert.That(output.Gradient, Is.EqualTo(1)); - // Sellmeijer revised - Assert.That(output.FoSbe, Is.EqualTo(1)); - Assert.That(output.Hcbe, Is.EqualTo(1)); - Assert.That(output.DeltaPhiCbe, Is.EqualTo(1)); + Assert.Multiple(() => + { + // Uplift + Assert.That(output.FoSu, Is.EqualTo(0)); + Assert.That(output.Hcu, Is.EqualTo(0)); + Assert.That(output.DeltaPhiCu, Is.EqualTo(0)); + // Heave + Assert.That(output.FoSh, Is.EqualTo(1)); + Assert.That(output.Hch, Is.EqualTo(1)); + Assert.That(output.Gradient, Is.EqualTo(1)); + // Sellmeijer revised + Assert.That(output.FoSbe, Is.EqualTo(1)); + Assert.That(output.Hcbe, Is.EqualTo(1)); + Assert.That(output.DeltaPhiCbe, Is.EqualTo(1)); + }); } [Test] @@ -290,18 +300,21 @@ output.Hcbe = 1; output.DeltaPhiCbe = 1; kernelWrapper.AssignFailedValuesWtiHeave(output); - // Uplift - Assert.That(output.FoSu, Is.EqualTo(1)); - Assert.That(output.Hcu, Is.EqualTo(1)); - Assert.That(output.DeltaPhiCu, Is.EqualTo(1)); - // Heave - Assert.That(output.FoSh, Is.EqualTo(0)); - Assert.That(output.Hch, Is.EqualTo(0)); - Assert.That(output.Gradient, Is.EqualTo(0)); - // Sellmeijer revised - Assert.That(output.FoSbe, Is.EqualTo(1)); - Assert.That(output.Hcbe, Is.EqualTo(1)); - Assert.That(output.DeltaPhiCbe, Is.EqualTo(1)); + Assert.Multiple(() => + { + // Uplift + Assert.That(output.FoSu, Is.EqualTo(1)); + Assert.That(output.Hcu, Is.EqualTo(1)); + Assert.That(output.DeltaPhiCu, Is.EqualTo(1)); + // Heave + Assert.That(output.FoSh, Is.EqualTo(0)); + Assert.That(output.Hch, Is.EqualTo(0)); + Assert.That(output.Gradient, Is.EqualTo(0)); + // Sellmeijer revised + Assert.That(output.FoSbe, Is.EqualTo(1)); + Assert.That(output.Hcbe, Is.EqualTo(1)); + Assert.That(output.DeltaPhiCbe, Is.EqualTo(1)); + }); } [Test] @@ -322,18 +335,21 @@ output.Hcbe = 1; output.DeltaPhiCbe = 1; kernelWrapper.AssignFailedValuesWtiSellmeijerRevised(output); - // Uplift - Assert.That(output.FoSu, Is.EqualTo(1)); - Assert.That(output.Hcu, Is.EqualTo(1)); - Assert.That(output.DeltaPhiCu, Is.EqualTo(1)); - // Heave - Assert.That(output.FoSh, Is.EqualTo(1)); - Assert.That(output.Hch, Is.EqualTo(1)); - Assert.That(output.Gradient, Is.EqualTo(1)); - // Sellmeijer revised - Assert.That(output.FoSbe, Is.EqualTo(0)); - Assert.That(output.Hcbe, Is.EqualTo(0)); - Assert.That(output.DeltaPhiCbe, Is.EqualTo(0)); + Assert.Multiple(() => + { + // Uplift + Assert.That(output.FoSu, Is.EqualTo(1)); + Assert.That(output.Hcu, Is.EqualTo(1)); + Assert.That(output.DeltaPhiCu, Is.EqualTo(1)); + // Heave + Assert.That(output.FoSh, Is.EqualTo(1)); + Assert.That(output.Hch, Is.EqualTo(1)); + Assert.That(output.Gradient, Is.EqualTo(1)); + // Sellmeijer revised + Assert.That(output.FoSbe, Is.EqualTo(0)); + Assert.That(output.Hcbe, Is.EqualTo(0)); + Assert.That(output.DeltaPhiCbe, Is.EqualTo(0)); + }); } [TestCase(0, 49.5, 1860.9050036726026, 1302.9335025708217, 1302.6335025708217, 0.037999943884683543)] @@ -405,53 +421,59 @@ // Validate the input List messages; kernelWrapper.Validate(damPipingInput, kernelDataOutput, out messages); - Assert.That(messages.Count, Is.EqualTo(0)); + Assert.That(messages, Is.Empty); // Run the dll. All expected results are from calculation by hand. kernelWrapper.Execute(damPipingInput, kernelDataOutput, out messages); var damPipingOutput = (WtiPipingSellmeijerRevisedOutput) kernelDataOutput; - Assert.That(messages.Count, Is.EqualTo(0)); - Assert.That(damPipingOutput.FoSbe, Is.EqualTo(expectedFoSbe).Within(diff)); - Assert.That(damPipingOutput.Hcbe, Is.EqualTo(expectedHcbe).Within(diff)); - Assert.That(damPipingOutput.DeltaPhiCbe, Is.EqualTo(expectedDeltaPhiCbe).Within(diff)); - Assert.That(damPipingOutput.FoSu, Is.EqualTo(0.56948691811077123).Within(diff)); - Assert.That(damPipingOutput.Hcu, Is.EqualTo(0.56948691811077123).Within(diff)); - Assert.That(damPipingOutput.DeltaPhiCu, Is.EqualTo(0.4271151885830784).Within(diff)); - Assert.That(damPipingOutput.EffectiveStress, Is.EqualTo(4.19).Within(diff)); - Assert.That(damPipingOutput.SeepageLength, Is.EqualTo(expectedSeepageLength).Within(diff)); + Assert.Multiple(() => + { + Assert.That(messages, Is.Empty); + Assert.That(damPipingOutput.FoSbe, Is.EqualTo(expectedFoSbe).Within(diff)); + Assert.That(damPipingOutput.Hcbe, Is.EqualTo(expectedHcbe).Within(diff)); + Assert.That(damPipingOutput.DeltaPhiCbe, Is.EqualTo(expectedDeltaPhiCbe).Within(diff)); + Assert.That(damPipingOutput.FoSu, Is.EqualTo(0.56948691811077123).Within(diff)); + Assert.That(damPipingOutput.Hcu, Is.EqualTo(0.56948691811077123).Within(diff)); + Assert.That(damPipingOutput.DeltaPhiCu, Is.EqualTo(0.4271151885830784).Within(diff)); + Assert.That(damPipingOutput.EffectiveStress, Is.EqualTo(4.19).Within(diff)); + Assert.That(damPipingOutput.SeepageLength, Is.EqualTo(expectedSeepageLength).Within(diff)); + }); // Fill the design results List results; kernelWrapper.PostProcess(damKernelInput, damPipingOutput, designScenario, "", out results); foreach (DesignResult result in results) { - Assert.That(result.DamFailureMechanismeCalculation.FailureMechanismSystemType, Is.EqualTo(FailureMechanismSystemType.Piping)); - Assert.That(result.DamFailureMechanismeCalculation.PipingModelType, Is.EqualTo(PipingModelType.Wti2017)); - Assert.That(result.LocationName, Is.Not.Null.Or.Empty); - Assert.That(result.ScenarioName, Is.Not.Null.Or.Empty); - Assert.That(result.ProfileName, Is.Not.Null.Or.Empty); - Assert.That(result.PipingDesignResults.Wti2017BackwardErosionSafetyFactor, Is.EqualTo(90).Within(diff)); - Assert.That(result.PipingDesignResults.Wti2017BackwardErosionHcritical, Is.EqualTo(expectedHcbe).Within(diff)); - Assert.That(result.PipingDesignResults.Wti2017BackwardErosionDeltaPhiC, Is.EqualTo(expectedDeltaPhiCbe).Within(diff)); - Assert.That(result.PipingDesignResults.Wti2017BackwardErosionDeltaPhiReduced, Is.EqualTo(0.70).Within(diff)); - Assert.That(result.PipingDesignResults.Wti2017UpliftSafetyFactor, Is.EqualTo(0.56948691811077123).Within(diff)); - Assert.That(result.PipingDesignResults.Wti2017UpliftHcritical, Is.EqualTo(0.56948691811077123).Within(diff)); - Assert.That(result.PipingDesignResults.Wti2017UpliftDeltaPhiC, Is.EqualTo(0.4271151885830784).Within(diff)); - Assert.That(result.PipingDesignResults.Wti2017HeaveSafetyFactor, Is.EqualTo(0.40).Within(diff)); - Assert.That(result.PipingDesignResults.Wti2017HeaveHcritical, Is.EqualTo(0.40).Within(diff)); - Assert.That(result.PipingDesignResults.Wti2017Gradient, Is.EqualTo(0.75).Within(diff)); - Assert.That(result.PipingDesignResults.EffectiveStress, Is.EqualTo(4.19).Within(diff)); - Assert.That(result.PipingDesignResults.CCreep, Is.EqualTo(expectedCcreep).Within(diff)); + Assert.Multiple(() => + { + Assert.That(result.DamFailureMechanismeCalculation.FailureMechanismSystemType, Is.EqualTo(FailureMechanismSystemType.Piping)); + Assert.That(result.DamFailureMechanismeCalculation.PipingModelType, Is.EqualTo(PipingModelType.Wti2017)); + Assert.That(result.LocationName, Is.Not.Null.Or.Empty); + Assert.That(result.ScenarioName, Is.Not.Null.Or.Empty); + Assert.That(result.ProfileName, Is.Not.Null.Or.Empty); + Assert.That(result.PipingDesignResults.Wti2017BackwardErosionSafetyFactor, Is.EqualTo(90).Within(diff)); + Assert.That(result.PipingDesignResults.Wti2017BackwardErosionHcritical, Is.EqualTo(expectedHcbe).Within(diff)); + Assert.That(result.PipingDesignResults.Wti2017BackwardErosionDeltaPhiC, Is.EqualTo(expectedDeltaPhiCbe).Within(diff)); + Assert.That(result.PipingDesignResults.Wti2017BackwardErosionDeltaPhiReduced, Is.EqualTo(0.70).Within(diff)); + Assert.That(result.PipingDesignResults.Wti2017UpliftSafetyFactor, Is.EqualTo(0.56948691811077123).Within(diff)); + Assert.That(result.PipingDesignResults.Wti2017UpliftHcritical, Is.EqualTo(0.56948691811077123).Within(diff)); + Assert.That(result.PipingDesignResults.Wti2017UpliftDeltaPhiC, Is.EqualTo(0.4271151885830784).Within(diff)); + Assert.That(result.PipingDesignResults.Wti2017HeaveSafetyFactor, Is.EqualTo(0.40).Within(diff)); + Assert.That(result.PipingDesignResults.Wti2017HeaveHcritical, Is.EqualTo(0.40).Within(diff)); + Assert.That(result.PipingDesignResults.Wti2017Gradient, Is.EqualTo(0.75).Within(diff)); + Assert.That(result.PipingDesignResults.EffectiveStress, Is.EqualTo(4.19).Within(diff)); + Assert.That(result.PipingDesignResults.CCreep, Is.EqualTo(expectedCcreep).Within(diff)); - Assert.That(result.PipingDesignResults.Wti2017SafetyFactorOverall, Is.EqualTo(90).Within(diff)); - Assert.That(result.PipingDesignResults.Wti2017HcriticalOverall, Is.EqualTo(expectedHcbe).Within(diff)); + Assert.That(result.PipingDesignResults.Wti2017SafetyFactorOverall, Is.EqualTo(90).Within(diff)); + Assert.That(result.PipingDesignResults.Wti2017HcriticalOverall, Is.EqualTo(expectedHcbe).Within(diff)); - Assert.That(result.PipingDesignResults.LocalExitPointX, Is.EqualTo(59.5)); - Assert.That(result.PipingDesignResults.UpliftFactor, Is.EqualTo(0.88258734130293759)); - Assert.That(result.PipingDesignResults.UpliftSituation != null && ((UpliftSituation) result.PipingDesignResults.UpliftSituation).IsUplift, Is.EqualTo(true)); - Assert.That(result.CalculationResult, Is.EqualTo(CalculationResult.Succeeded)); + Assert.That(result.PipingDesignResults.LocalExitPointX, Is.EqualTo(59.5)); + Assert.That(result.PipingDesignResults.UpliftFactor, Is.EqualTo(0.88258734130293759)); + Assert.That(result.PipingDesignResults.UpliftSituation != null && ((UpliftSituation)result.PipingDesignResults.UpliftSituation).IsUplift, Is.EqualTo(true)); + Assert.That(result.CalculationResult, Is.EqualTo(CalculationResult.Succeeded)); - Assert.That(result.PipingDesignResults.RedesignedSurfaceLine, Is.EqualTo(location.SurfaceLine)); + Assert.That(result.PipingDesignResults.RedesignedSurfaceLine, Is.EqualTo(location.SurfaceLine)); + }); } } @@ -503,27 +525,30 @@ kernelWrapper.Prepare(damKernelInput, 0, out kernelDataInput, out kernelDataOutput); var damPipingInput = (WtiPipingSellmeijerRevisedInput) kernelDataInput; var damPipingOutput = (WtiPipingSellmeijerRevisedOutput) kernelDataOutput; - Assert.That(damPipingInput.HRiver, Is.EqualTo(1.0).Within(diff)); - Assert.That(damPipingInput.HExit, Is.EqualTo(0.0).Within(diff)); - Assert.That(damPipingInput.Rc, Is.EqualTo(0.3).Within(diff)); - Assert.That(damPipingInput.DTotal, Is.EqualTo(1.0).Within(diff)); - Assert.That(damPipingInput.DAquifer, Is.EqualTo(8.0).Within(diff)); - Assert.That(damPipingInput.SeepageLength, Is.EqualTo(expectedSeepageLength).Within(diff)); - Assert.That(damPipingInput.D70, Is.EqualTo(0.000200).Within(diff)); - Assert.That(damPipingInput.WhitesDragCoefficient, Is.EqualTo(0.25).Within(diff)); - Assert.That(damPipingInput.BeddingAngle, Is.EqualTo(37.0).Within(diff)); - Assert.That(damPipingInput.KinematicViscosityWater, Is.EqualTo(1.33E-06).Within(diff)); - Assert.That(damPipingInput.DarcyPermeability, Is.EqualTo(0.0001).Within(diff)); - Assert.That(damPipingInput.ModelFactorUplift, Is.EqualTo(1.000).Within(diff)); - Assert.That(damPipingInput.EffectiveStress, Is.EqualTo(4.19).Within(diff)); - Assert.That(damPipingInput.PhiExit, Is.EqualTo(0.75).Within(diff)); - Assert.That(damPipingInput.RExit, Is.EqualTo(0.75).Within(diff)); - Assert.That(damPipingInput.PhiPolder, Is.EqualTo(0.00).Within(diff)); - // All expected results are from calculation by hand. - Assert.That(damPipingOutput.EffectiveStress, Is.EqualTo(4.19).Within(diff)); - Assert.That(damPipingOutput.ExitPointX, Is.EqualTo(59.50).Within(diff)); - Assert.That(damPipingOutput.UpliftFactor, Is.EqualTo(0.88258734130293759).Within(diff)); - Assert.That(damPipingOutput.UpliftSituation.IsUplift, Is.EqualTo(true)); + Assert.Multiple(() => + { + Assert.That(damPipingInput.HRiver, Is.EqualTo(1.0).Within(diff)); + Assert.That(damPipingInput.HExit, Is.EqualTo(0.0).Within(diff)); + Assert.That(damPipingInput.Rc, Is.EqualTo(0.3).Within(diff)); + Assert.That(damPipingInput.DTotal, Is.EqualTo(1.0).Within(diff)); + Assert.That(damPipingInput.DAquifer, Is.EqualTo(8.0).Within(diff)); + Assert.That(damPipingInput.SeepageLength, Is.EqualTo(expectedSeepageLength).Within(diff)); + Assert.That(damPipingInput.D70, Is.EqualTo(0.000200).Within(diff)); + Assert.That(damPipingInput.WhitesDragCoefficient, Is.EqualTo(0.25).Within(diff)); + Assert.That(damPipingInput.BeddingAngle, Is.EqualTo(37.0).Within(diff)); + Assert.That(damPipingInput.KinematicViscosityWater, Is.EqualTo(1.33E-06).Within(diff)); + Assert.That(damPipingInput.DarcyPermeability, Is.EqualTo(0.0001).Within(diff)); + Assert.That(damPipingInput.ModelFactorUplift, Is.EqualTo(1.000).Within(diff)); + Assert.That(damPipingInput.EffectiveStress, Is.EqualTo(4.19).Within(diff)); + Assert.That(damPipingInput.PhiExit, Is.EqualTo(0.75).Within(diff)); + Assert.That(damPipingInput.RExit, Is.EqualTo(0.75).Within(diff)); + Assert.That(damPipingInput.PhiPolder, Is.EqualTo(0.00).Within(diff)); + // All expected results are from calculation by hand. + Assert.That(damPipingOutput.EffectiveStress, Is.EqualTo(4.19).Within(diff)); + Assert.That(damPipingOutput.ExitPointX, Is.EqualTo(59.50).Within(diff)); + Assert.That(damPipingOutput.UpliftFactor, Is.EqualTo(0.88258734130293759).Within(diff)); + Assert.That(damPipingOutput.UpliftSituation.IsUplift, Is.EqualTo(true)); + }); } [TestCase(CharacteristicPointType.BottomDitchPolderSide, PipingCharacteristicPointType.BottomDitchPolderSide)]