Index: Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Service.Test/GrassCoverErosionInwardsCalculationServiceTest.cs =================================================================== diff -u -r413b17f335a516a8f1fd51413c1a7b1322811244 -r4150cda18f753844e5d0950e20223fb3553b101b --- Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Service.Test/GrassCoverErosionInwardsCalculationServiceTest.cs (.../GrassCoverErosionInwardsCalculationServiceTest.cs) (revision 413b17f335a516a8f1fd51413c1a7b1322811244) +++ Riskeer/GrassCoverErosionInwards/test/Riskeer.GrassCoverErosionInwards.Service.Test/GrassCoverErosionInwardsCalculationServiceTest.cs (.../GrassCoverErosionInwardsCalculationServiceTest.cs) (revision 4150cda18f753844e5d0950e20223fb3553b101b) @@ -51,7 +51,7 @@ private static readonly string validFilePath = Path.Combine(testDataPath, "HRD dutch coast south.sqlite"); [Test] - public void Validate_NoHydraulicBoundaryLocation_LogsMessageAndReturnFalse() + public void Validate_NoHydraulicBoundaryLocation_LogsMessageAndReturnsFalse() { // Setup var grassCoverErosionInwardsFailureMechanism = new GrassCoverErosionInwardsFailureMechanism(); @@ -91,7 +91,7 @@ } [Test] - public void Validate_InvalidHydraulicBoundaryDatabase_LogsMessageAndReturnFalse() + public void Validate_InvalidHydraulicBoundaryDatabase_LogsMessageAndReturnsFalse() { // Setup var grassCoverErosionInwardsFailureMechanism = new GrassCoverErosionInwardsFailureMechanism(); @@ -134,7 +134,7 @@ } [Test] - public void Validate_InvalidPreprocessorDirectory_LogsMessageAndReturnFalse() + public void Validate_InvalidPreprocessorDirectory_LogsMessageAndReturnsFalse() { // Setup var grassCoverErosionInwardsFailureMechanism = new GrassCoverErosionInwardsFailureMechanism(); @@ -180,7 +180,7 @@ } [Test] - public void Validate_ValidHydraulicBoundaryDatabaseWithoutSettings_LogsMessageAndReturnFalse() + public void Validate_ValidHydraulicBoundaryDatabaseWithoutSettings_LogsMessageAndReturnsFalse() { // Setup var grassCoverErosionInwardsFailureMechanism = new GrassCoverErosionInwardsFailureMechanism(); @@ -223,7 +223,7 @@ } [Test] - public void Validate_WithoutImportedHydraulicBoundaryDatabase_LogsMessageAndReturnFalse() + public void Validate_WithoutImportedHydraulicBoundaryDatabase_LogsMessageAndReturnsFalse() { // Setup var grassCoverErosionInwardsFailureMechanism = new GrassCoverErosionInwardsFailureMechanism(); @@ -263,7 +263,7 @@ } [Test] - public void Validate_NoDikeProfile_LogsMessageAndReturnFalse() + public void Validate_NoDikeProfile_LogsMessageAndReturnsFalse() { // Setup var grassCoverErosionInwardsFailureMechanism = new GrassCoverErosionInwardsFailureMechanism(); @@ -307,7 +307,7 @@ [TestCase(double.NaN)] [TestCase(double.NegativeInfinity)] [TestCase(double.PositiveInfinity)] - public void Validate_ValidInputAndInvalidBreakWaterHeight_LogsMessageAndReturnFalse(double breakWaterHeight) + public void Validate_ValidInputAndInvalidBreakWaterHeight_LogsMessageAndReturnsFalse(double breakWaterHeight) { // Setup var grassCoverErosionInwardsFailureMechanism = new GrassCoverErosionInwardsFailureMechanism(); @@ -342,7 +342,7 @@ } [Test] - public void Validate_ValidInputAndInvalidOrientation_LogsMessageAndReturnFalse() + public void Validate_ValidInputAndInvalidOrientation_LogsMessageAndReturnsFalse() { // Setup var grassCoverErosionInwardsFailureMechanism = new GrassCoverErosionInwardsFailureMechanism(); @@ -391,7 +391,7 @@ [TestCase(double.NaN)] [TestCase(double.PositiveInfinity)] [TestCase(double.NegativeInfinity)] - public void Validate_ValidInputAndInvalidDikeHeight_LogsMessageAndReturnFalse(double dikeHeight) + public void Validate_ValidInputAndInvalidDikeHeight_LogsMessageAndReturnsFalse(double dikeHeight) { // Setup var grassCoverErosionInwardsFailureMechanism = new GrassCoverErosionInwardsFailureMechanism(); Index: Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Service.Test/MacroStabilityInwardsCalculationServiceTest.cs =================================================================== diff -u -rff797b04759f79563ba3e4fdaf36110dd632669f -r4150cda18f753844e5d0950e20223fb3553b101b --- Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Service.Test/MacroStabilityInwardsCalculationServiceTest.cs (.../MacroStabilityInwardsCalculationServiceTest.cs) (revision ff797b04759f79563ba3e4fdaf36110dd632669f) +++ Riskeer/MacroStabilityInwards/test/Riskeer.MacroStabilityInwards.Service.Test/MacroStabilityInwardsCalculationServiceTest.cs (.../MacroStabilityInwardsCalculationServiceTest.cs) (revision 4150cda18f753844e5d0950e20223fb3553b101b) @@ -64,7 +64,7 @@ } [Test] - public void Validate_Always_LogStartAndEndOfValidation() + public void Validate_Always_LogsStartAndEndOfValidation() { // Setup using (new MacroStabilityInwardsCalculatorFactoryConfig()) @@ -336,7 +336,7 @@ } [Test] - public void Calculate_ValidCalculation_LogStartAndEndOfValidationAndCalculation() + public void Calculate_ValidCalculation_LogsStartAndEndOfValidationAndCalculation() { // Setup RoundedDouble normativeAssessmentLevel = AssessmentSectionTestHelper.GetTestAssessmentLevel(); Index: Riskeer/Piping/test/Riskeer.Piping.Service.Test/Probabilistic/ProbabilisticPipingCalculationServiceTest.cs =================================================================== diff -u -rff797b04759f79563ba3e4fdaf36110dd632669f -r4150cda18f753844e5d0950e20223fb3553b101b --- Riskeer/Piping/test/Riskeer.Piping.Service.Test/Probabilistic/ProbabilisticPipingCalculationServiceTest.cs (.../ProbabilisticPipingCalculationServiceTest.cs) (revision ff797b04759f79563ba3e4fdaf36110dd632669f) +++ Riskeer/Piping/test/Riskeer.Piping.Service.Test/Probabilistic/ProbabilisticPipingCalculationServiceTest.cs (.../ProbabilisticPipingCalculationServiceTest.cs) (revision 4150cda18f753844e5d0950e20223fb3553b101b) @@ -119,7 +119,7 @@ } [Test] - public void Validate_Always_LogStartAndEndOfValidation() + public void Validate_Always_LogsStartAndEndOfValidation() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -143,7 +143,7 @@ } [Test] - public void Validate_NoHydraulicBoundaryLocation_LogsMessageAndReturnFalse() + public void Validate_NoHydraulicBoundaryLocation_LogsMessageAndReturnsFalse() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -173,7 +173,7 @@ } [Test] - public void Validate_InvalidHydraulicBoundaryDatabase_LogsMessageAndReturnFalse() + public void Validate_InvalidHydraulicBoundaryDatabase_LogsMessageAndReturnsFalse() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -205,7 +205,7 @@ } [Test] - public void Validate_InvalidPreprocessorDirectory_LogsMessageAndReturnFalse() + public void Validate_InvalidPreprocessorDirectory_LogsMessageAndReturnsFalse() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -238,7 +238,7 @@ } [Test] - public void Validate_ValidHydraulicBoundaryDatabaseWithoutSettings_LogsMessageAndReturnFalse() + public void Validate_ValidHydraulicBoundaryDatabaseWithoutSettings_LogsMessageAndReturnsFalse() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -270,7 +270,7 @@ } [Test] - public void Validate_WithoutImportedHydraulicBoundaryDatabase_LogsMessageAndReturnFalse() + public void Validate_WithoutImportedHydraulicBoundaryDatabase_LogsMessageAndReturnsFalse() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -300,7 +300,7 @@ } [Test] - public void Validate_InvalidCalculationInput_LogsErrorAndReturnsFalse() + public void Validate_InvalidCalculationInput_LogsMessagesAndReturnsFalse() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -333,7 +333,7 @@ } [Test] - public void Validate_WithoutAquiferLayer_LogsErrorAndReturnsFalse() + public void Validate_WithoutAquiferLayer_LogsMessagesAndReturnsFalse() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -378,7 +378,7 @@ } [Test] - public void Validate_WithoutAquitardLayer_LogsWarningsAndReturnsTrue() + public void Validate_WithoutAquitardLayer_LogsMessagesAndReturnsTrue() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -431,7 +431,7 @@ } [Test] - public void Validate_WithoutCoverageLayer_LogsWarningsAndReturnsTrue() + public void Validate_WithoutCoverageLayer_LogsMessagesAndReturnsTrue() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -489,7 +489,7 @@ } [Test] - public void Validate_MultipleCoverageLayer_LogsWarningAndReturnsTrue() + public void Validate_MultipleCoverageLayer_LogsMessageAndReturnsTrue() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -572,7 +572,7 @@ [TestCase(false, false)] [TestCase(false, true)] [TestCase(true, false)] - public void Validate_IncompleteDiameterD70Definition_LogsErrorAndReturnsFalse(bool meanSet, bool coefficientOfVariationSet) + public void Validate_IncompleteDiameterD70Definition_LogsMessageAndReturnsFalse(bool meanSet, bool coefficientOfVariationSet) { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -644,7 +644,7 @@ [Test] [TestCase(6.2e-5)] [TestCase(5.1e-3)] - public void Validate_InvalidDiameterD70Value_LogsWarningAndReturnsTrue(double diameter70Value) + public void Validate_InvalidDiameterD70Value_LogsMessageAndReturnsTrue(double diameter70Value) { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -711,7 +711,7 @@ [TestCase(false, false)] [TestCase(false, true)] [TestCase(true, false)] - public void Validate_IncompletePermeabilityDefinition_LogsErrorAndReturnsFalse(bool meanSet, bool coefficientOfVariationSet) + public void Validate_IncompletePermeabilityDefinition_LogsMessageAndReturnsFalse(bool meanSet, bool coefficientOfVariationSet) { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -785,7 +785,7 @@ [TestCase(false, true, true)] [TestCase(true, false, true)] [TestCase(true, true, false)] - public void Validate_IncompleteSaturatedVolumicWeightDefinition_LogsErrorAndReturnsFalse(bool meanSet, bool deviationSet, bool shiftSet) + public void Validate_IncompleteSaturatedVolumicWeightDefinition_LogsMessageAndReturnsFalse(bool meanSet, bool deviationSet, bool shiftSet) { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -857,7 +857,7 @@ } [Test] - public void Validate_SaturatedCoverageLayerVolumicWeightLessThanWaterVolumicWeight_LogsErrorAndReturnsFalse() + public void Validate_SaturatedCoverageLayerVolumicWeightLessThanWaterVolumicWeight_LogsMessageAndReturnsFalse() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -923,7 +923,7 @@ } [Test] - public void Validate_SaturatedCoverageLayerLessThanWaterLayerAndMissingSaturatedParameter_LogsErrorOnlyForIncompleteDefinition() + public void Validate_SaturatedCoverageLayerLessThanWaterLayerAndMissingSaturatedParameter_LogsMessageOnlyForIncompleteDefinition() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -1083,7 +1083,7 @@ } [Test] - public void Calculate_Always_LogStartAndEndOfCalculation() + public void Calculate_Always_LogsStartAndEndOfCalculation() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -1176,7 +1176,7 @@ } [Test] - public void Calculate_ProfileSpecificCalculationFailedWithExceptionAndNoLastErrorPresent_LogErrorAndThrowException() + public void Calculate_ProfileSpecificCalculationFailedWithExceptionAndNoLastErrorPresent_LogsMessagesAndThrowsException() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -1240,7 +1240,7 @@ } [Test] - public void Calculate_ProfileSpecificCalculationFailedWithExceptionAndLastErrorPresent_LogErrorAndThrowException() + public void Calculate_ProfileSpecificCalculationFailedWithExceptionAndLastErrorPresent_LogsMessagesAndThrowsException() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -1306,7 +1306,7 @@ } [Test] - public void Calculate_SectionSpecificCalculationFailedWithExceptionAndNoLastErrorPresent_LogErrorAndThrowException() + public void Calculate_SectionSpecificCalculationFailedWithExceptionAndNoLastErrorPresent_LogsMessagesAndThrowsException() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -1373,7 +1373,7 @@ } [Test] - public void Calculate_SectionSpecificCalculationFailedWithExceptionAndLastErrorPresent_LogErrorAndThrowException() + public void Calculate_SectionSpecificCalculationFailedWithExceptionAndLastErrorPresent_LogsMessagesAndThrowsException() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -1442,7 +1442,7 @@ } [Test] - public void Calculate_ValidInputButProfileSpecificGeneralResultNull_IllustrationPointsNotSetAndLogs() + public void Calculate_ValidInputButProfileSpecificGeneralResultNull_IllustrationPointsNotSetAndLogsMessages() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -1561,7 +1561,7 @@ } [Test] - public void Calculate_ValidInputButSectionSpecificGeneralResultNull_IllustrationPointsNotSetAndLogs() + public void Calculate_ValidInputButSectionSpecificGeneralResultNull_IllustrationPointsNotSetAndLogsMessages() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -1680,7 +1680,7 @@ } [Test] - public void Calculate_ValidInputButProfileSpecificIllustrationPointResultsOfIncorrectType_IllustrationPointsNotSetAndLogsWarning() + public void Calculate_ValidInputButProfileSpecificIllustrationPointResultsOfIncorrectType_IllustrationPointsNotSetAndLogsMessage() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -1744,7 +1744,7 @@ } [Test] - public void Calculate_ProfileSpecificCalculationRanErrorInSettingIllustrationPoints_IllustrationPointsNotSetAndLogsWarning() + public void Calculate_ProfileSpecificCalculationRanErrorInSettingIllustrationPoints_IllustrationPointsNotSetAndLogsMessage() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -1807,7 +1807,7 @@ } [Test] - public void Calculate_ValidInputButSectionSpecificIllustrationPointResultsOfIncorrectType_IllustrationPointsNotSetAndLogsWarning() + public void Calculate_ValidInputButSectionSpecificIllustrationPointResultsOfIncorrectType_IllustrationPointsNotSetAndLogsMessage() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -1871,7 +1871,7 @@ } [Test] - public void Calculate_SectionSpecificCalculationRanErrorInSettingIllustrationPoints_IllustrationPointsNotSetAndLogsWarning() + public void Calculate_SectionSpecificCalculationRanErrorInSettingIllustrationPoints_IllustrationPointsNotSetAndLogsMessage() { // Setup var failureMechanism = new PipingFailureMechanism(); Index: Riskeer/Piping/test/Riskeer.Piping.Service.Test/SemiProbabilistic/SemiProbabilisticPipingCalculationServiceTest.cs =================================================================== diff -u -rff797b04759f79563ba3e4fdaf36110dd632669f -r4150cda18f753844e5d0950e20223fb3553b101b --- Riskeer/Piping/test/Riskeer.Piping.Service.Test/SemiProbabilistic/SemiProbabilisticPipingCalculationServiceTest.cs (.../SemiProbabilisticPipingCalculationServiceTest.cs) (revision ff797b04759f79563ba3e4fdaf36110dd632669f) +++ Riskeer/Piping/test/Riskeer.Piping.Service.Test/SemiProbabilistic/SemiProbabilisticPipingCalculationServiceTest.cs (.../SemiProbabilisticPipingCalculationServiceTest.cs) (revision 4150cda18f753844e5d0950e20223fb3553b101b) @@ -56,6 +56,68 @@ testSurfaceLineTopLevel = testCalculation.InputParameters.SurfaceLine.Points.Max(p => p.Z); } + private static void AssertSubCalculatorInputs(PipingInput input, GeneralPipingInput generalPipingInput, RoundedDouble expectedAssessmentLevel) + { + var testFactory = (TestPipingSubCalculatorFactory) PipingSubCalculatorFactory.Instance; + HeaveCalculatorStub heaveCalculator = testFactory.LastCreatedHeaveCalculator; + UpliftCalculatorStub upliftCalculator = testFactory.LastCreatedUpliftCalculator; + SellmeijerCalculatorStub sellmeijerCalculator = testFactory.LastCreatedSellmeijerCalculator; + + RoundedDouble expectedThicknessCoverageLayerDesignValue = PipingDesignVariableFactory.GetThicknessCoverageLayer(input).GetDesignValue(); + double thicknessCoverageLayerAccuracy = DerivedPipingInput.GetThicknessCoverageLayer(input).GetAccuracy(); + RoundedDouble expectedPhreaticLevelExitDesignValue = PipingDesignVariableFactory.GetPhreaticLevelExit(input).GetDesignValue(); + double phreaticLevelExitDesignAccuracy = input.PhreaticLevelExit.GetAccuracy(); + double expectedPiezometricHeadExit = DerivedSemiProbabilisticPipingInput.GetPiezometricHeadExit(input, expectedAssessmentLevel).Value; + RoundedDouble expectedDampingFactorExitDesignValue = PipingDesignVariableFactory.GetDampingFactorExit(input).GetDesignValue(); + double dampingFactorExitAccuracy = input.DampingFactorExit.GetAccuracy(); + + Assert.AreEqual(expectedThicknessCoverageLayerDesignValue, heaveCalculator.DTotal, thicknessCoverageLayerAccuracy); + Assert.AreEqual(expectedPhreaticLevelExitDesignValue, heaveCalculator.HExit, phreaticLevelExitDesignAccuracy); + Assert.AreEqual(PipingDesignVariableFactory.GetCriticalHeaveGradientDesignVariable(generalPipingInput).GetDesignValue(), heaveCalculator.Ich); + Assert.AreEqual(expectedPhreaticLevelExitDesignValue, heaveCalculator.PhiPolder, phreaticLevelExitDesignAccuracy); + Assert.AreEqual(expectedPiezometricHeadExit, heaveCalculator.PhiExit); + Assert.AreEqual(expectedDampingFactorExitDesignValue, heaveCalculator.RExit, dampingFactorExitAccuracy); + Assert.AreEqual(expectedPhreaticLevelExitDesignValue, upliftCalculator.HExit, phreaticLevelExitDesignAccuracy); + Assert.AreEqual(expectedAssessmentLevel, upliftCalculator.HRiver); + Assert.AreEqual(PipingDesignVariableFactory.GetUpliftModelFactorDesignVariable(generalPipingInput).GetDesignValue(), upliftCalculator.ModelFactorUplift); + Assert.AreEqual(expectedPiezometricHeadExit, upliftCalculator.PhiExit); + Assert.AreEqual(expectedPhreaticLevelExitDesignValue, upliftCalculator.PhiPolder, phreaticLevelExitDesignAccuracy); + Assert.AreEqual(expectedDampingFactorExitDesignValue, upliftCalculator.RExit, dampingFactorExitAccuracy); + Assert.AreEqual(generalPipingInput.WaterVolumetricWeight, upliftCalculator.VolumetricWeightOfWater); + + RoundedDouble effectiveThickness = PipingDesignVariableFactory.GetEffectiveThicknessCoverageLayer(input, generalPipingInput).GetDesignValue(); + RoundedDouble saturatedVolumicWeight = PipingDesignVariableFactory.GetSaturatedVolumicWeightOfCoverageLayer(input).GetDesignValue(); + RoundedDouble expectedEffectiveStress = effectiveThickness * (saturatedVolumicWeight - generalPipingInput.WaterVolumetricWeight); + Assert.AreEqual(expectedEffectiveStress, upliftCalculator.EffectiveStress, expectedEffectiveStress.GetAccuracy()); + + Assert.AreEqual(PipingDesignVariableFactory.GetSeepageLength(input).GetDesignValue(), + sellmeijerCalculator.SeepageLength, + DerivedPipingInput.GetSeepageLength(input).GetAccuracy()); + Assert.AreEqual(expectedPhreaticLevelExitDesignValue, sellmeijerCalculator.HExit, phreaticLevelExitDesignAccuracy); + Assert.AreEqual(expectedAssessmentLevel, sellmeijerCalculator.HRiver); + Assert.AreEqual(generalPipingInput.WaterKinematicViscosity, sellmeijerCalculator.KinematicViscosityWater); + Assert.AreEqual(PipingDesignVariableFactory.GetSellmeijerModelFactorDesignVariable(generalPipingInput).GetDesignValue(), sellmeijerCalculator.ModelFactorPiping); + Assert.AreEqual(generalPipingInput.SellmeijerReductionFactor, sellmeijerCalculator.Rc); + Assert.AreEqual(generalPipingInput.WaterVolumetricWeight, sellmeijerCalculator.VolumetricWeightOfWater); + Assert.AreEqual(generalPipingInput.WhitesDragCoefficient, sellmeijerCalculator.WhitesDragCoefficient); + Assert.AreEqual(generalPipingInput.BeddingAngle, sellmeijerCalculator.BeddingAngle); + Assert.AreEqual(expectedThicknessCoverageLayerDesignValue, sellmeijerCalculator.DTotal, thicknessCoverageLayerAccuracy); + Assert.AreEqual(PipingDesignVariableFactory.GetDiameter70(input).GetDesignValue(), + sellmeijerCalculator.D70, + DerivedPipingInput.GetDiameterD70(input).GetAccuracy()); + Assert.AreEqual(generalPipingInput.MeanDiameter70, sellmeijerCalculator.D70Mean); + Assert.AreEqual(PipingDesignVariableFactory.GetThicknessAquiferLayer(input).GetDesignValue(), + sellmeijerCalculator.DAquifer, + DerivedPipingInput.GetThicknessAquiferLayer(input).GetAccuracy()); + Assert.AreEqual(PipingDesignVariableFactory.GetDarcyPermeability(input).GetDesignValue(), + sellmeijerCalculator.DarcyPermeability, + DerivedPipingInput.GetDarcyPermeability(input).GetAccuracy()); + Assert.AreEqual(generalPipingInput.SandParticlesVolumicWeight, sellmeijerCalculator.GammaSubParticles); + Assert.AreEqual(generalPipingInput.Gravity, sellmeijerCalculator.Gravity); + } + + #region Validate + [Test] public void Validate_CalculationNull_ThrowArgumentNullException() { @@ -83,7 +145,7 @@ } [Test] - public void Validate_Always_LogStartAndEndOfValidation() + public void Validate_Always_LogsStartAndEndOfValidation() { // Call void Call() => SemiProbabilisticPipingCalculationService.Validate(testCalculation, @@ -119,7 +181,7 @@ } [Test] - public void Validate_InvalidCalculationInput_LogsErrorAndReturnsFalse() + public void Validate_InvalidCalculationInput_LogsMessagesAndReturnsFalse() { // Setup var calculation = new TestSemiProbabilisticPipingCalculation(); @@ -148,7 +210,7 @@ } [Test] - public void Validate_NormativeAssessmentLevelNotCalculated_LogsErrorAndReturnsFalse() + public void Validate_NormativeAssessmentLevelNotCalculated_LogsMessagesAndReturnsFalse() { // Setup testCalculation.InputParameters.UseAssessmentLevelManualInput = false; @@ -177,7 +239,7 @@ [TestCase(double.NaN)] [TestCase(double.NegativeInfinity)] [TestCase(double.PositiveInfinity)] - public void Validate_InvalidManualAssessmentLevel_LogsErrorAndReturnsFalse(double assessmentLevel) + public void Validate_InvalidManualAssessmentLevel_LogsMessagesAndReturnsFalse(double assessmentLevel) { // Setup testCalculation.InputParameters.UseAssessmentLevelManualInput = true; @@ -211,12 +273,11 @@ { var factory = (TestPipingSubCalculatorFactory) PipingSubCalculatorFactory.Instance; - // Call SemiProbabilisticPipingCalculationService.Validate(testCalculation, new GeneralPipingInput(), AssessmentSectionTestHelper.GetTestAssessmentLevel()); - + // Assert Assert.IsTrue(factory.LastCreatedHeaveCalculator.Validated); Assert.IsTrue(factory.LastCreatedSellmeijerCalculator.Validated); @@ -227,7 +288,7 @@ } [Test] - public void Validate_WithoutAquiferLayer_LogsErrorAndReturnsFalse() + public void Validate_WithoutAquiferLayer_LogsMessagesAndReturnsFalse() { // Setup var aquitardLayer = new PipingSoilLayer(2.0) @@ -266,7 +327,7 @@ } [Test] - public void Validate_WithoutAquitardLayer_LogsWarningsAndReturnsTrue() + public void Validate_WithoutAquitardLayer_LogsMessagesAndReturnsTrue() { // Setup var aquiferLayer = new PipingSoilLayer(10.56) @@ -313,7 +374,7 @@ } [Test] - public void Validate_WithoutCoverageLayer_LogsWarningsAndReturnsTrue() + public void Validate_WithoutCoverageLayer_LogsMessagesAndReturnsTrue() { // Setup var coverageLayerAboveSurfaceLine = new PipingSoilLayer(13.0) @@ -365,7 +426,7 @@ } [Test] - public void Validate_MultipleCoverageLayer_LogsWarningAndReturnsTrue() + public void Validate_MultipleCoverageLayer_LogsMessageAndReturnsTrue() { // Setup var random = new Random(21); @@ -442,7 +503,7 @@ [TestCase(false, false)] [TestCase(false, true)] [TestCase(true, false)] - public void Validate_IncompleteDiameterD70Definition_LogsErrorAndReturnsFalse(bool meanSet, bool coefficientOfVariationSet) + public void Validate_IncompleteDiameterD70Definition_LogsMessageAndReturnsFalse(bool meanSet, bool coefficientOfVariationSet) { // Setup var random = new Random(21); @@ -508,7 +569,7 @@ [Test] [TestCase(6.2e-5)] [TestCase(5.1e-3)] - public void Validate_InvalidDiameterD70Value_LogsWarningAndReturnsTrue(double diameter70Value) + public void Validate_InvalidDiameterD70Value_LogsMessageAndReturnsTrue(double diameter70Value) { // Setup var random = new Random(21); @@ -569,7 +630,7 @@ [TestCase(false, false)] [TestCase(false, true)] [TestCase(true, false)] - public void Validate_IncompletePermeabilityDefinition_LogsErrorAndReturnsFalse(bool meanSet, bool coefficientOfVariationSet) + public void Validate_IncompletePermeabilityDefinition_LogsMessageAndReturnsFalse(bool meanSet, bool coefficientOfVariationSet) { // Setup var random = new Random(21); @@ -637,7 +698,7 @@ [TestCase(false, true, true)] [TestCase(true, false, true)] [TestCase(true, true, false)] - public void Validate_IncompleteSaturatedVolumicWeightDefinition_LogsErrorAndReturnsFalse(bool meanSet, bool deviationSet, bool shiftSet) + public void Validate_IncompleteSaturatedVolumicWeightDefinition_LogsMessageAndReturnsFalse(bool meanSet, bool deviationSet, bool shiftSet) { // Setup var random = new Random(21); @@ -703,7 +764,7 @@ } [Test] - public void Validate_SaturatedCoverageLayerVolumicWeightLessThanWaterVolumicWeight_LogsErrorAndReturnsFalse() + public void Validate_SaturatedCoverageLayerVolumicWeightLessThanWaterVolumicWeight_LogsMessageAndReturnsFalse() { // Setup var coverageLayerInvalidSaturatedVolumicWeight = new PipingSoilLayer(testSurfaceLineTopLevel) @@ -763,7 +824,7 @@ } [Test] - public void Validate_SaturatedCoverageLayerLessThanWaterLayerAndMissingSaturatedParameter_LogsErrorOnlyForIncompleteDefinition() + public void Validate_SaturatedCoverageLayerLessThanWaterLayerAndMissingSaturatedParameter_LogsMessageOnlyForIncompleteDefinition() { // Setup var topCoverageLayer = new PipingSoilLayer(testSurfaceLineTopLevel) @@ -830,6 +891,39 @@ }); } + [TestCase(true)] + [TestCase(false)] + public void Validate_CompleteInput_InputSetOnSubCalculators(bool useAssessmentLevelManualInput) + { + // Setup + RoundedDouble normativeAssessmentLevel = AssessmentSectionTestHelper.GetTestAssessmentLevel(); + SemiProbabilisticPipingInput input = testCalculation.InputParameters; + + input.AssessmentLevel = (RoundedDouble) 2.2; + + input.UseAssessmentLevelManualInput = useAssessmentLevelManualInput; + + var generalPipingInput = new GeneralPipingInput(); + + using (new PipingSubCalculatorFactoryConfig()) + { + // Call + SemiProbabilisticPipingCalculationService.Validate(testCalculation, + generalPipingInput, + normativeAssessmentLevel); + + // Assert + RoundedDouble expectedAssessmentLevel = useAssessmentLevelManualInput + ? input.AssessmentLevel + : normativeAssessmentLevel; + AssertSubCalculatorInputs(input, generalPipingInput, expectedAssessmentLevel); + } + } + + #endregion + + #region Calculate + [Test] public void Calculate_CalculationNull_ThrowArgumentNullException() { @@ -857,7 +951,7 @@ } [Test] - public void Calculate_ErrorWhileCalculating_LogErrorMessageAndThrowException() + public void Calculate_ErrorWhileCalculating_LogMessageAndThrowsException() { // Setup using (new PipingSubCalculatorFactoryConfig()) @@ -904,7 +998,7 @@ } [Test] - public void Calculate_ValidPipingCalculation_LogStartAndEndOfCalculation() + public void Calculate_ValidPipingCalculation_LogsStartAndEndOfCalculation() { // Call void Call() @@ -975,35 +1069,6 @@ [TestCase(true)] [TestCase(false)] - public void Validate_CompleteInput_InputSetOnSubCalculators(bool useAssessmentLevelManualInput) - { - // Setup - RoundedDouble normativeAssessmentLevel = AssessmentSectionTestHelper.GetTestAssessmentLevel(); - SemiProbabilisticPipingInput input = testCalculation.InputParameters; - - input.AssessmentLevel = (RoundedDouble) 2.2; - - input.UseAssessmentLevelManualInput = useAssessmentLevelManualInput; - - var generalPipingInput = new GeneralPipingInput(); - - using (new PipingSubCalculatorFactoryConfig()) - { - // Call - SemiProbabilisticPipingCalculationService.Validate(testCalculation, - generalPipingInput, - normativeAssessmentLevel); - - // Assert - RoundedDouble expectedAssessmentLevel = useAssessmentLevelManualInput - ? input.AssessmentLevel - : normativeAssessmentLevel; - AssertSubCalculatorInputs(input, generalPipingInput, expectedAssessmentLevel); - } - } - - [TestCase(true)] - [TestCase(false)] public void Calculate_CompleteInput_InputSetOnSubCalculators(bool useAssessmentLevelManualInput) { // Setup @@ -1029,64 +1094,6 @@ } } - private static void AssertSubCalculatorInputs(PipingInput input, GeneralPipingInput generalPipingInput, RoundedDouble expectedAssessmentLevel) - { - var testFactory = (TestPipingSubCalculatorFactory) PipingSubCalculatorFactory.Instance; - HeaveCalculatorStub heaveCalculator = testFactory.LastCreatedHeaveCalculator; - UpliftCalculatorStub upliftCalculator = testFactory.LastCreatedUpliftCalculator; - SellmeijerCalculatorStub sellmeijerCalculator = testFactory.LastCreatedSellmeijerCalculator; - - RoundedDouble expectedThicknessCoverageLayerDesignValue = PipingDesignVariableFactory.GetThicknessCoverageLayer(input).GetDesignValue(); - double thicknessCoverageLayerAccuracy = DerivedPipingInput.GetThicknessCoverageLayer(input).GetAccuracy(); - RoundedDouble expectedPhreaticLevelExitDesignValue = PipingDesignVariableFactory.GetPhreaticLevelExit(input).GetDesignValue(); - double phreaticLevelExitDesignAccuracy = input.PhreaticLevelExit.GetAccuracy(); - double expectedPiezometricHeadExit = DerivedSemiProbabilisticPipingInput.GetPiezometricHeadExit(input, expectedAssessmentLevel).Value; - RoundedDouble expectedDampingFactorExitDesignValue = PipingDesignVariableFactory.GetDampingFactorExit(input).GetDesignValue(); - double dampingFactorExitAccuracy = input.DampingFactorExit.GetAccuracy(); - - Assert.AreEqual(expectedThicknessCoverageLayerDesignValue, heaveCalculator.DTotal, thicknessCoverageLayerAccuracy); - Assert.AreEqual(expectedPhreaticLevelExitDesignValue, heaveCalculator.HExit, phreaticLevelExitDesignAccuracy); - Assert.AreEqual(PipingDesignVariableFactory.GetCriticalHeaveGradientDesignVariable(generalPipingInput).GetDesignValue(), heaveCalculator.Ich); - Assert.AreEqual(expectedPhreaticLevelExitDesignValue, heaveCalculator.PhiPolder, phreaticLevelExitDesignAccuracy); - Assert.AreEqual(expectedPiezometricHeadExit, heaveCalculator.PhiExit); - Assert.AreEqual(expectedDampingFactorExitDesignValue, heaveCalculator.RExit, dampingFactorExitAccuracy); - Assert.AreEqual(expectedPhreaticLevelExitDesignValue, upliftCalculator.HExit, phreaticLevelExitDesignAccuracy); - Assert.AreEqual(expectedAssessmentLevel, upliftCalculator.HRiver); - Assert.AreEqual(PipingDesignVariableFactory.GetUpliftModelFactorDesignVariable(generalPipingInput).GetDesignValue(), upliftCalculator.ModelFactorUplift); - Assert.AreEqual(expectedPiezometricHeadExit, upliftCalculator.PhiExit); - Assert.AreEqual(expectedPhreaticLevelExitDesignValue, upliftCalculator.PhiPolder, phreaticLevelExitDesignAccuracy); - Assert.AreEqual(expectedDampingFactorExitDesignValue, upliftCalculator.RExit, dampingFactorExitAccuracy); - Assert.AreEqual(generalPipingInput.WaterVolumetricWeight, upliftCalculator.VolumetricWeightOfWater); - - RoundedDouble effectiveThickness = PipingDesignVariableFactory.GetEffectiveThicknessCoverageLayer(input, generalPipingInput).GetDesignValue(); - RoundedDouble saturatedVolumicWeight = PipingDesignVariableFactory.GetSaturatedVolumicWeightOfCoverageLayer(input).GetDesignValue(); - RoundedDouble expectedEffectiveStress = effectiveThickness * (saturatedVolumicWeight - generalPipingInput.WaterVolumetricWeight); - Assert.AreEqual(expectedEffectiveStress, upliftCalculator.EffectiveStress, expectedEffectiveStress.GetAccuracy()); - - Assert.AreEqual(PipingDesignVariableFactory.GetSeepageLength(input).GetDesignValue(), - sellmeijerCalculator.SeepageLength, - DerivedPipingInput.GetSeepageLength(input).GetAccuracy()); - Assert.AreEqual(expectedPhreaticLevelExitDesignValue, sellmeijerCalculator.HExit, phreaticLevelExitDesignAccuracy); - Assert.AreEqual(expectedAssessmentLevel, sellmeijerCalculator.HRiver); - Assert.AreEqual(generalPipingInput.WaterKinematicViscosity, sellmeijerCalculator.KinematicViscosityWater); - Assert.AreEqual(PipingDesignVariableFactory.GetSellmeijerModelFactorDesignVariable(generalPipingInput).GetDesignValue(), sellmeijerCalculator.ModelFactorPiping); - Assert.AreEqual(generalPipingInput.SellmeijerReductionFactor, sellmeijerCalculator.Rc); - Assert.AreEqual(generalPipingInput.WaterVolumetricWeight, sellmeijerCalculator.VolumetricWeightOfWater); - Assert.AreEqual(generalPipingInput.WhitesDragCoefficient, sellmeijerCalculator.WhitesDragCoefficient); - Assert.AreEqual(generalPipingInput.BeddingAngle, sellmeijerCalculator.BeddingAngle); - Assert.AreEqual(expectedThicknessCoverageLayerDesignValue, sellmeijerCalculator.DTotal, thicknessCoverageLayerAccuracy); - Assert.AreEqual(PipingDesignVariableFactory.GetDiameter70(input).GetDesignValue(), - sellmeijerCalculator.D70, - DerivedPipingInput.GetDiameterD70(input).GetAccuracy()); - Assert.AreEqual(generalPipingInput.MeanDiameter70, sellmeijerCalculator.D70Mean); - Assert.AreEqual(PipingDesignVariableFactory.GetThicknessAquiferLayer(input).GetDesignValue(), - sellmeijerCalculator.DAquifer, - DerivedPipingInput.GetThicknessAquiferLayer(input).GetAccuracy()); - Assert.AreEqual(PipingDesignVariableFactory.GetDarcyPermeability(input).GetDesignValue(), - sellmeijerCalculator.DarcyPermeability, - DerivedPipingInput.GetDarcyPermeability(input).GetAccuracy()); - Assert.AreEqual(generalPipingInput.SandParticlesVolumicWeight, sellmeijerCalculator.GammaSubParticles); - Assert.AreEqual(generalPipingInput.Gravity, sellmeijerCalculator.Gravity); - } + #endregion } } \ No newline at end of file