public void Import_ValidConfigurationOnlyCriticalFlowRateMeanSet_DataAddedToModel() { // Setup string filePath = Path.Combine(importerPath, "validConfigurationCriticalFlowRateMeanOnly.xml"); var calculationGroup = new CalculationGroup(); const double norm = 0.01; var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter( filePath, calculationGroup, new FailureMechanismContribution(norm, 0.001), Enumerable.Empty <HydraulicBoundaryLocation>(), Enumerable.Empty <DikeProfile>()); // Call bool successful = importer.Import(); // Assert Assert.IsTrue(successful); var expectedCalculation = new GrassCoverErosionInwardsCalculationScenario { Name = "Berekening 1", InputParameters = { CriticalFlowRate = { Mean = (RoundedDouble)2.0 }, DikeHeightTargetProbability = norm, OvertoppingRateTargetProbability = norm } }; Assert.AreEqual(1, calculationGroup.Children.Count); AssertCalculationScenario(expectedCalculation, (GrassCoverErosionInwardsCalculationScenario)calculationGroup.Children[0]); }
public void Import_ScenarioWithRelevantSet_DataAddedToModel() { // Setup string filePath = Path.Combine(importerPath, "validConfigurationScenarioRelevantOnly.xml"); var calculationGroup = new CalculationGroup(); const double norm = 0.01; var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter( filePath, calculationGroup, new FailureMechanismContribution(norm, 0.001), Enumerable.Empty <HydraulicBoundaryLocation>(), Enumerable.Empty <DikeProfile>()); // Call var successful = false; void Call() => successful = importer.Import(); // Assert TestHelper.AssertLogMessageIsGenerated(Call, $"Gegevens zijn geïmporteerd vanuit bestand '{filePath}'.", 1); Assert.IsTrue(successful); var expectedCalculation = new GrassCoverErosionInwardsCalculationScenario { Name = "Calculation", IsRelevant = false, InputParameters = { DikeHeightTargetProbability = norm, OvertoppingRateTargetProbability = norm } }; Assert.AreEqual(1, calculationGroup.Children.Count); AssertCalculationScenario(expectedCalculation, (GrassCoverErosionInwardsCalculationScenario)calculationGroup.Children[0]); }
public void Import_ValidConfigurationWithValidData_DataAddedToModel() { // Setup string filePath = Path.Combine(importerPath, "validConfigurationFullCalculation.xml"); var calculationGroup = new CalculationGroup(); var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, "Locatie", 10, 20); var dikeProfile = new DikeProfile(new Point2D(0, 0), new[] { new RoughnessPoint(new Point2D(0, 0), 2.1), new RoughnessPoint(new Point2D(1, 1), 3.9), new RoughnessPoint(new Point2D(2, 2), 5.2) }, new[] { new Point2D(1, 0), new Point2D(3, 4), new Point2D(6, 5) }, new BreakWater(BreakWaterType.Caisson, 0), new DikeProfile.ConstructionProperties { Id = "Dijkprofiel ID", Name = "Dijkprofiel", DikeHeight = 3.45 }); var importer = new GrassCoverErosionInwardsCalculationConfigurationImporter( filePath, calculationGroup, new FailureMechanismContribution(0.01, 0.001), new[] { hydraulicBoundaryLocation }, new[] { dikeProfile }); // Call var successful = false; void Call() => successful = importer.Import(); // Assert TestHelper.AssertLogMessageIsGenerated(Call, $"Gegevens zijn geïmporteerd vanuit bestand '{filePath}'.", 1); Assert.IsTrue(successful); var expectedCalculation = new GrassCoverErosionInwardsCalculationScenario { Name = "Berekening 1", InputParameters = { HydraulicBoundaryLocation = hydraulicBoundaryLocation, DikeProfile = dikeProfile, Orientation = (RoundedDouble)5.5, UseForeshore = true, UseBreakWater = true, BreakWater = { Height = (RoundedDouble)6.6, Type = BreakWaterType.Caisson }, CriticalFlowRate = { Mean = (RoundedDouble)2.0, StandardDeviation = (RoundedDouble)1.1 }, ShouldOvertoppingOutputIllustrationPointsBeCalculated = true, ShouldDikeHeightBeCalculated = true, DikeHeightTargetProbability = 0.05, ShouldDikeHeightIllustrationPointsBeCalculated = false, ShouldOvertoppingRateBeCalculated = false, OvertoppingRateTargetProbability = 0.007, ShouldOvertoppingRateIllustrationPointsBeCalculated = true }, IsRelevant = true, Contribution = (RoundedDouble)0.5432 }; Assert.AreEqual(1, calculationGroup.Children.Count); AssertCalculationScenario(expectedCalculation, (GrassCoverErosionInwardsCalculationScenario)calculationGroup.Children[0]); }