Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Service/ClosingStructuresCalculationActivity.cs
===================================================================
diff -u -rfc4f8f86955f675f94208db783c8d0624d2b2250 -r3e2b418a9bbc27e2e990b15325b1350e6d56dc3d
--- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Service/ClosingStructuresCalculationActivity.cs (.../ClosingStructuresCalculationActivity.cs) (revision fc4f8f86955f675f94208db783c8d0624d2b2250)
+++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Service/ClosingStructuresCalculationActivity.cs (.../ClosingStructuresCalculationActivity.cs) (revision 3e2b418a9bbc27e2e990b15325b1350e6d56dc3d)
@@ -22,9 +22,7 @@
using System;
using Core.Common.Base.Service;
using Ringtoets.ClosingStructures.Data;
-using Ringtoets.ClosingStructures.Utils;
using Ringtoets.Common.Data.AssessmentSection;
-using Ringtoets.Common.Data.FailureMechanism;
using Ringtoets.Common.Data.Structures;
using Ringtoets.HydraRing.Calculation.Activities;
@@ -44,7 +42,7 @@
///
/// Creates a new instance of .
///
- /// The height structures data used for the calculation.
+ /// The closing structures data used for the calculation.
/// The filepath of the HLCD file that should be used for performing the calculation.
/// The failure mechanism the calculation belongs to.
/// The assessment section the calculation belongs to.
@@ -90,14 +88,9 @@
{
ClosingStructuresDataSynchronizationService.ClearCalculationOutput(calculation);
- FailureMechanismSection failureMechanismSection =
- ClosingStructuresHelper.FailureMechanismSectionForCalculation(failureMechanism.Sections, calculation);
-
calculationService.Calculate(calculation,
assessmentSection,
- failureMechanismSection,
- failureMechanism.GeneralInput,
- failureMechanism.Contribution,
+ failureMechanism,
hlcdFilepath);
}
Index: Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Service/ClosingStructuresCalculationService.cs
===================================================================
diff -u -rfc4f8f86955f675f94208db783c8d0624d2b2250 -r3e2b418a9bbc27e2e990b15325b1350e6d56dc3d
--- Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Service/ClosingStructuresCalculationService.cs (.../ClosingStructuresCalculationService.cs) (revision fc4f8f86955f675f94208db783c8d0624d2b2250)
+++ Ringtoets/ClosingStructures/src/Ringtoets.ClosingStructures.Service/ClosingStructuresCalculationService.cs (.../ClosingStructuresCalculationService.cs) (revision 3e2b418a9bbc27e2e990b15325b1350e6d56dc3d)
@@ -26,6 +26,7 @@
using log4net;
using Ringtoets.ClosingStructures.Data;
using Ringtoets.ClosingStructures.Service.Properties;
+using Ringtoets.ClosingStructures.Utils;
using Ringtoets.Common.Data.AssessmentSection;
using Ringtoets.Common.Data.FailureMechanism;
using Ringtoets.Common.Data.Structures;
@@ -57,37 +58,25 @@
///
/// The that holds all the information required to perform the calculation.
/// The that holds information about the norm used in the calculation.
- /// The to create input with.
- /// The to create the input with for the calculation.
- /// The amount of contribution for this failure mechanism in the assessment section.
+ /// The that holds the information about the contribution
+ /// and the general inputs used in the calculation.
/// The filepath of the HLCD file that should be used for performing the calculation.
/// Thrown when is an invalid
- ///
+ /// .
public void Calculate(StructuresCalculation calculation,
IAssessmentSection assessmentSection,
- FailureMechanismSection failureMechanismSection,
- GeneralClosingStructuresInput generalInput,
- double failureMechanismContribution,
+ ClosingStructuresFailureMechanism failureMechanism,
string hlcdFilePath)
{
var calculationName = calculation.Name;
- StructuresClosureCalculationInput input;
- switch (calculation.InputParameters.InflowModelType)
- {
- case ClosingStructureInflowModelType.VerticalWall:
- input = CreateClosureVerticalWallCalculationInput(calculation, failureMechanismSection, generalInput);
- break;
- case ClosingStructureInflowModelType.LowSill:
- input = CreateLowSillCalculationInput(calculation, failureMechanismSection, generalInput);
- break;
- case ClosingStructureInflowModelType.FloodedCulvert:
- input = CreateFloodedCulvertCalculationInput(calculation, failureMechanismSection, generalInput);
- break;
- default:
- throw new NotSupportedException("ClosingStructureInflowModelType");
- }
+ FailureMechanismSection failureMechanismSection = ClosingStructuresHelper.FailureMechanismSectionForCalculation(failureMechanism.Sections,
+ calculation);
+ StructuresClosureCalculationInput input = CreateStructuresClosureCalculationInput(calculation,
+ failureMechanism,
+ failureMechanismSection);
+
string hlcdDirectory = Path.GetDirectoryName(hlcdFilePath);
calculator = HydraRingCalculatorFactory.Instance.CreateStructuresClosureCalculator(hlcdDirectory, assessmentSection.Id);
@@ -100,8 +89,8 @@
if (!canceled)
{
calculation.Output = ProbabilityAssessmentService.Calculate(assessmentSection.FailureMechanismContribution.Norm,
- failureMechanismContribution,
- generalInput.N,
+ failureMechanism.Contribution,
+ failureMechanism.GeneralInput.N,
calculator.ExceedanceProbabilityBeta);
}
}
@@ -120,13 +109,35 @@
}
}
+ private static StructuresClosureCalculationInput CreateStructuresClosureCalculationInput(StructuresCalculation calculation, ClosingStructuresFailureMechanism failureMechanism, FailureMechanismSection failureMechanismSection)
+ {
+ StructuresClosureCalculationInput input;
+ switch (calculation.InputParameters.InflowModelType)
+ {
+ case ClosingStructureInflowModelType.VerticalWall:
+ input = CreateClosureVerticalWallCalculationInput(calculation, failureMechanismSection, failureMechanism.GeneralInput);
+ break;
+ case ClosingStructureInflowModelType.LowSill:
+ input = CreateLowSillCalculationInput(calculation, failureMechanismSection, failureMechanism.GeneralInput);
+ break;
+ case ClosingStructureInflowModelType.FloodedCulvert:
+ input = CreateFloodedCulvertCalculationInput(calculation, failureMechanismSection, failureMechanism.GeneralInput);
+ break;
+ default:
+ throw new NotSupportedException("ClosingStructureInflowModelType");
+ }
+ return input;
+ }
+
///
/// Cancels any ongoing structures closure calculation.
///
public void Cancel()
{
if (calculator != null)
+ {
calculator.Cancel();
+ }
canceled = true;
}
@@ -255,7 +266,7 @@
{
validationResult.Add(RingtoetsCommonServiceResources.CalculationService_ValidateInput_No_hydraulic_boundary_location_selected);
}
- //TODO: Validate all the input parameters here, see WTI-926
+ //TODO: Validate all the input parameters here, see WTI-926
return validationResult.ToArray();
}
}
Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Service.Test/ClosingStructuresCalculationServiceTest.cs
===================================================================
diff -u -rfc4f8f86955f675f94208db783c8d0624d2b2250 -r3e2b418a9bbc27e2e990b15325b1350e6d56dc3d
--- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Service.Test/ClosingStructuresCalculationServiceTest.cs (.../ClosingStructuresCalculationServiceTest.cs) (revision fc4f8f86955f675f94208db783c8d0624d2b2250)
+++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Service.Test/ClosingStructuresCalculationServiceTest.cs (.../ClosingStructuresCalculationServiceTest.cs) (revision 3e2b418a9bbc27e2e990b15325b1350e6d56dc3d)
@@ -141,7 +141,6 @@
new Point2D(0, 0),
new Point2D(1, 1)
}));
- FailureMechanismSection failureMechanismSection = closingStructuresFailureMechanism.Sections.First();
var calculation = new TestClosingStructuresCalculation()
{
@@ -157,8 +156,9 @@
using (new HydraRingCalculatorFactoryConfig())
{
var calculator = ((TestHydraRingCalculatorFactory) HydraRingCalculatorFactory.Instance).StructuresClosureCalculator;
- TestDelegate call = () => service.Calculate(calculation, assessmentSectionStub, failureMechanismSection,
- closingStructuresFailureMechanism.GeneralInput, closingStructuresFailureMechanism.Contribution,
+ TestDelegate call = () => service.Calculate(calculation,
+ assessmentSectionStub,
+ closingStructuresFailureMechanism,
testDataPath);
StructuresClosureCalculationInput[] calculationInputs = calculator.ReceivedInputs.ToArray();
@@ -217,9 +217,7 @@
// Call
new ClosingStructuresCalculationService().Calculate(calculation,
assessmentSectionStub,
- failureMechanismSection,
- closingStructuresFailureMechanism.GeneralInput,
- closingStructuresFailureMechanism.Contribution,
+ closingStructuresFailureMechanism,
validDataFilepath);
// Assert
@@ -312,9 +310,7 @@
// Call
new ClosingStructuresCalculationService().Calculate(calculation,
assessmentSectionStub,
- failureMechanismSection,
- closingStructuresFailureMechanism.GeneralInput,
- closingStructuresFailureMechanism.Contribution,
+ closingStructuresFailureMechanism,
validDataFilepath);
// Assert
@@ -406,9 +402,7 @@
// Call
new ClosingStructuresCalculationService().Calculate(calculation,
assessmentSectionStub,
- failureMechanismSection,
- closingStructuresFailureMechanism.GeneralInput,
- closingStructuresFailureMechanism.Contribution,
+ closingStructuresFailureMechanism,
validDataFilepath);
// Assert
@@ -477,14 +471,10 @@
}
};
- var failureMechanismSection = closingStructuresFailureMechanism.Sections.First();
-
// Call
Action call = () => new ClosingStructuresCalculationService().Calculate(calculation,
assessmentSectionStub,
- failureMechanismSection,
- closingStructuresFailureMechanism.GeneralInput,
- closingStructuresFailureMechanism.Contribution,
+ closingStructuresFailureMechanism,
validDataFilepath);
// Assert
@@ -528,7 +518,6 @@
}
};
- FailureMechanismSection failureMechanismSection = closingStructuresFailureMechanism.Sections.First();
var exception = false;
// Call
@@ -538,10 +527,8 @@
{
new ClosingStructuresCalculationService().Calculate(calculation,
assessmentSectionStub,
- failureMechanismSection,
- closingStructuresFailureMechanism.GeneralInput,
- closingStructuresFailureMechanism.Contribution,
- validDataFilepath);
+ closingStructuresFailureMechanism,
+ testDataPath);
}
catch
{
@@ -580,8 +567,7 @@
new Point2D(0, 0),
new Point2D(1, 1)
}));
- FailureMechanismSection failureMechanismSection = closingStructuresFailureMechanism.Sections.First();
-
+
var calculation = new TestClosingStructuresCalculation()
{
InputParameters =
@@ -599,10 +585,8 @@
// Call
service.Calculate(calculation,
assessmentSectionStub,
- failureMechanismSection,
- closingStructuresFailureMechanism.GeneralInput,
- closingStructuresFailureMechanism.Contribution,
- validDataFilepath);
+ closingStructuresFailureMechanism,
+ testDataPath);
// Assert
Assert.IsNull(calculation.Output);
Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Service/HeightStructuresCalculationActivity.cs
===================================================================
diff -u -rfc4f8f86955f675f94208db783c8d0624d2b2250 -r3e2b418a9bbc27e2e990b15325b1350e6d56dc3d
--- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Service/HeightStructuresCalculationActivity.cs (.../HeightStructuresCalculationActivity.cs) (revision fc4f8f86955f675f94208db783c8d0624d2b2250)
+++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Service/HeightStructuresCalculationActivity.cs (.../HeightStructuresCalculationActivity.cs) (revision 3e2b418a9bbc27e2e990b15325b1350e6d56dc3d)
@@ -22,10 +22,8 @@
using System;
using Core.Common.Base.Service;
using Ringtoets.Common.Data.AssessmentSection;
-using Ringtoets.Common.Data.FailureMechanism;
using Ringtoets.Common.Data.Structures;
using Ringtoets.HeightStructures.Data;
-using Ringtoets.HeightStructures.Utils;
using Ringtoets.HydraRing.Calculation.Activities;
namespace Ringtoets.HeightStructures.Service
@@ -88,14 +86,9 @@
{
HeightStructuresDataSynchronizationService.ClearCalculationOutput(calculation);
- FailureMechanismSection failureMechanismSection =
- HeightStructuresHelper.FailureMechanismSectionForCalculation(failureMechanism.Sections, calculation);
-
calculationService.Calculate(calculation,
assessmentSection,
- failureMechanismSection,
- failureMechanism.GeneralInput,
- failureMechanism.Contribution,
+ failureMechanism,
hlcdFilepath);
}
Index: Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Service/HeightStructuresCalculationService.cs
===================================================================
diff -u -rfc4f8f86955f675f94208db783c8d0624d2b2250 -r3e2b418a9bbc27e2e990b15325b1350e6d56dc3d
--- Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Service/HeightStructuresCalculationService.cs (.../HeightStructuresCalculationService.cs) (revision fc4f8f86955f675f94208db783c8d0624d2b2250)
+++ Ringtoets/HeightStructures/src/Ringtoets.HeightStructures.Service/HeightStructuresCalculationService.cs (.../HeightStructuresCalculationService.cs) (revision 3e2b418a9bbc27e2e990b15325b1350e6d56dc3d)
@@ -30,6 +30,7 @@
using Ringtoets.Common.Service;
using Ringtoets.HeightStructures.Data;
using Ringtoets.HeightStructures.Service.Properties;
+using Ringtoets.HeightStructures.Utils;
using Ringtoets.HydraRing.Calculation.Calculator;
using Ringtoets.HydraRing.Calculation.Calculator.Factory;
using Ringtoets.HydraRing.Calculation.Data;
@@ -90,21 +91,21 @@
///
/// The that holds all the information required to perform the calculation.
/// The that holds information about the norm used in the calculation.
- /// The to create input with.
- /// The to create the input with for the calculation.
- /// The amount of contribution for this failure mechanism in the assessment section.
+ /// The that holds the information about the contribution
+ /// and the general inputs used in the calculation.
/// The filepath of the HLCD file that should be used for performing the calculation.
internal void Calculate(StructuresCalculation calculation,
IAssessmentSection assessmentSection,
- FailureMechanismSection failureMechanismSection,
- GeneralHeightStructuresInput generalInput,
- double failureMechanismContribution,
+ HeightStructuresFailureMechanism failureMechanism,
string hlcdFilePath)
{
var calculationName = calculation.Name;
- StructuresOvertoppingCalculationInput input = CreateInput(calculation, failureMechanismSection, generalInput);
+ FailureMechanismSection failureMechanismSection = HeightStructuresHelper.FailureMechanismSectionForCalculation(failureMechanism.Sections,
+ calculation);
+ StructuresOvertoppingCalculationInput input = CreateInput(calculation, failureMechanismSection, failureMechanism.GeneralInput);
+
string hlcdDirectory = Path.GetDirectoryName(hlcdFilePath);
calculator = HydraRingCalculatorFactory.Instance.CreateStructuresOvertoppingCalculator(hlcdDirectory, assessmentSection.Id);
@@ -117,8 +118,8 @@
if (!canceled)
{
calculation.Output = ProbabilityAssessmentService.Calculate(assessmentSection.FailureMechanismContribution.Norm,
- failureMechanismContribution,
- generalInput.N,
+ failureMechanism.Contribution,
+ failureMechanism.GeneralInput.N,
calculator.ExceedanceProbabilityBeta);
}
}
@@ -194,35 +195,35 @@
else
{
validationResults.AddRange(DistributionValidation.ValidateDistribution(inputParameters.StormDuration,
- GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_StormDuration_DisplayName)));
+ GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_StormDuration_DisplayName)));
if (IsInvalidNumber(inputParameters.DeviationWaveDirection))
{
validationResults.Add(string.Format(RingtoetsCommonServiceResources.Validation_ValidateInput_No_value_entered_for_ParameterName_0_,
- GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_DeviationWaveDirection_DisplayName)));
+ GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_DeviationWaveDirection_DisplayName)));
}
validationResults.AddRange(DistributionValidation.ValidateDistribution(inputParameters.ModelFactorSuperCriticalFlow,
- GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_ModelFactorSuperCriticalFlow_DisplayName)));
+ GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_ModelFactorSuperCriticalFlow_DisplayName)));
if (IsInvalidNumber(inputParameters.StructureNormalOrientation))
{
validationResults.Add(string.Format(RingtoetsCommonServiceResources.Validation_ValidateInput_No_value_entered_for_ParameterName_0_,
- GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Orientation_DisplayName)));
+ GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Orientation_DisplayName)));
}
validationResults.AddRange(DistributionValidation.ValidateDistribution(inputParameters.FlowWidthAtBottomProtection,
- GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_FlowWidthAtBottomProtection_DisplayName)));
+ GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_FlowWidthAtBottomProtection_DisplayName)));
validationResults.AddRange(DistributionValidation.ValidateDistribution(inputParameters.WidthFlowApertures,
- GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_WidthFlowApertures_DisplayName)));
+ GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_WidthFlowApertures_DisplayName)));
validationResults.AddRange(DistributionValidation.ValidateDistribution(inputParameters.StorageStructureArea,
- GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_StorageStructureArea_DisplayName)));
+ GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_StorageStructureArea_DisplayName)));
validationResults.AddRange(DistributionValidation.ValidateDistribution(inputParameters.AllowedLevelIncreaseStorage,
- GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_AllowedLevelIncreaseStorage_DisplayName)));
+ GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_AllowedLevelIncreaseStorage_DisplayName)));
validationResults.AddRange(DistributionValidation.ValidateDistribution(inputParameters.LevelCrestStructure,
- GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_LevelCrestStructure_DisplayName)));
+ GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_LevelCrestStructure_DisplayName)));
validationResults.AddRange(DistributionValidation.ValidateDistribution(inputParameters.CriticalOvertoppingDischarge,
- GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_CriticalOvertoppingDischarge_DisplayName)));
+ GenerateParameterNameWithoutUnits(RingtoetsCommonFormsResources.Structure_CriticalOvertoppingDischarge_DisplayName)));
}
return validationResults.ToArray();
Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Service.Test/HeightStructuresCalculationServiceTest.cs
===================================================================
diff -u -rfc4f8f86955f675f94208db783c8d0624d2b2250 -r3e2b418a9bbc27e2e990b15325b1350e6d56dc3d
--- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Service.Test/HeightStructuresCalculationServiceTest.cs (.../HeightStructuresCalculationServiceTest.cs) (revision fc4f8f86955f675f94208db783c8d0624d2b2250)
+++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Service.Test/HeightStructuresCalculationServiceTest.cs (.../HeightStructuresCalculationServiceTest.cs) (revision 3e2b418a9bbc27e2e990b15325b1350e6d56dc3d)
@@ -504,20 +504,17 @@
{
InputParameters =
{
- HydraulicBoundaryLocation = assessmentSectionStub.HydraulicBoundaryDatabase.Locations.First(hl => hl.Id == 1300001)
+ HydraulicBoundaryLocation = assessmentSectionStub.HydraulicBoundaryDatabase.Locations.First(hl => hl.Id == 1300001),
+ Structure = new TestHeightStructure()
}
};
- var failureMechanismSection = heightStructuresFailureMechanism.Sections.First();
-
string validFilePath = Path.Combine(testDataPath, "HRD dutch coast south.sqlite");
// Call
Action call = () => new HeightStructuresCalculationService().Calculate(calculation,
assessmentSectionStub,
- failureMechanismSection,
- heightStructuresFailureMechanism.GeneralInput,
- heightStructuresFailureMechanism.Contribution,
+ heightStructuresFailureMechanism,
validFilePath);
// Assert
@@ -554,11 +551,11 @@
{
InputParameters =
{
- HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "test", 1, 1)
+ HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "test", 1, 1),
+ Structure = new TestHeightStructure()
}
};
- var failureMechanismSection = heightStructuresFailureMechanism.Sections.First();
var exception = false;
// Call
@@ -568,9 +565,7 @@
{
new HeightStructuresCalculationService().Calculate(calculation,
assessmentSectionStub,
- failureMechanismSection,
- heightStructuresFailureMechanism.GeneralInput,
- heightStructuresFailureMechanism.Contribution,
+ heightStructuresFailureMechanism,
testDataPath);
}
catch
@@ -619,7 +614,8 @@
{
InputParameters =
{
- HydraulicBoundaryLocation = assessmentSectionStub.HydraulicBoundaryDatabase.Locations.First(hl => hl.Id == 1300001)
+ HydraulicBoundaryLocation = assessmentSectionStub.HydraulicBoundaryDatabase.Locations.First(hl => hl.Id == 1300001),
+ Structure = new TestHeightStructure()
}
};
@@ -644,9 +640,7 @@
// Call
new HeightStructuresCalculationService().Calculate(calculation,
assessmentSectionStub,
- failureMechanismSection,
- heightStructuresFailureMechanism.GeneralInput,
- heightStructuresFailureMechanism.Contribution,
+ heightStructuresFailureMechanism,
validFilePath);
// Assert
@@ -705,12 +699,11 @@
{
InputParameters =
{
- HydraulicBoundaryLocation = assessmentSectionStub.HydraulicBoundaryDatabase.Locations.First(hl => hl.Id == 1300001)
+ HydraulicBoundaryLocation = assessmentSectionStub.HydraulicBoundaryDatabase.Locations.First(hl => hl.Id == 1300001),
+ Structure = new TestHeightStructure()
}
};
- FailureMechanismSection failureMechanismSection = heightStructuresFailureMechanism.Sections.First();
-
using (new HydraRingCalculatorFactoryConfig())
{
var testStructuresOvertoppingCalculator = ((TestHydraRingCalculatorFactory) HydraRingCalculatorFactory.Instance).StructuresOvertoppingCalculator;
@@ -720,9 +713,7 @@
// Call
service.Calculate(calculation,
assessmentSectionStub,
- failureMechanismSection,
- heightStructuresFailureMechanism.GeneralInput,
- heightStructuresFailureMechanism.Contribution,
+ heightStructuresFailureMechanism,
testDataPath);
// Assert