Index: Ringtoets/Integration/src/Ringtoets.Integration.Service/AssessmentSectionCalculationActivityFactory.cs
===================================================================
diff -u
--- Ringtoets/Integration/src/Ringtoets.Integration.Service/AssessmentSectionCalculationActivityFactory.cs (revision 0)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Service/AssessmentSectionCalculationActivityFactory.cs (revision a239b3f889a32a47cd41578a760febc9eb3e6ade)
@@ -0,0 +1,115 @@
+// Copyright (C) Stichting Deltares 2017. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using Ringtoets.ClosingStructures.Service;
+using Ringtoets.Common.Service;
+using Ringtoets.DuneErosion.Service;
+using Ringtoets.GrassCoverErosionInwards.Service;
+using Ringtoets.GrassCoverErosionOutwards.Service;
+using Ringtoets.HeightStructures.Service;
+using Ringtoets.Integration.Data;
+using Ringtoets.MacroStabilityInwards.Service;
+using Ringtoets.Piping.Service;
+using Ringtoets.StabilityPointStructures.Service;
+using Ringtoets.StabilityStoneCover.Service;
+using Ringtoets.WaveImpactAsphaltCover.Service;
+
+namespace Ringtoets.Integration.Service
+{
+ ///
+ /// This class defines a factory method that can be used to create instances of for
+ /// all calculations in an .
+ ///
+ public static class AssessmentSectionCalculationActivityFactory
+ {
+ ///
+ /// Creates a collection of for all calculations
+ /// in the given .
+ ///
+ /// The assessment section to create the activities for.
+ /// A collection of .
+ /// Thrown when is null.
+ public static IEnumerable CreateActivities(AssessmentSection assessmentSection)
+ {
+ if (assessmentSection == null)
+ {
+ throw new ArgumentNullException(nameof(assessmentSection));
+ }
+
+ var activities = new List();
+ activities.AddRange(AssessmentSectionHydraulicBoundaryLocationCalculationActivityFactory.CreateHydraulicBoundaryLocationCalculationActivities(assessmentSection));
+
+ if (assessmentSection.Piping.IsRelevant)
+ {
+ activities.AddRange(PipingCalculationActivityFactory.CreateCalculationActivities(assessmentSection.Piping, assessmentSection));
+ }
+
+ if (assessmentSection.GrassCoverErosionInwards.IsRelevant)
+ {
+ activities.AddRange(GrassCoverErosionInwardsCalculationActivityFactory.CreateCalculationActivities(assessmentSection.GrassCoverErosionInwards, assessmentSection));
+ }
+
+ if (assessmentSection.MacroStabilityInwards.IsRelevant)
+ {
+ activities.AddRange(MacroStabilityInwardsCalculationActivityFactory.CreateCalculationActivities(assessmentSection.MacroStabilityInwards, assessmentSection));
+ }
+
+ if (assessmentSection.StabilityStoneCover.IsRelevant)
+ {
+ activities.AddRange(StabilityStoneCoverWaveConditionsCalculationActivityFactory.CreateCalculationActivities(assessmentSection.StabilityStoneCover, assessmentSection));
+ }
+
+ if (assessmentSection.WaveImpactAsphaltCover.IsRelevant)
+ {
+ activities.AddRange(WaveImpactAsphaltCoverWaveConditionsCalculationActivityFactory.CreateCalculationActivities(assessmentSection.WaveImpactAsphaltCover, assessmentSection));
+ }
+
+ if (assessmentSection.GrassCoverErosionOutwards.IsRelevant)
+ {
+ activities.AddRange(GrassCoverErosionOutwardsCalculationActivityFactory.CreateCalculationActivitiesWithoutAssessmentSectionCalculations(assessmentSection.GrassCoverErosionOutwards, assessmentSection));
+ }
+
+ if (assessmentSection.HeightStructures.IsRelevant)
+ {
+ activities.AddRange(HeightStructuresCalculationActivityFactory.CreateCalculationActivities(assessmentSection.HeightStructures, assessmentSection));
+ }
+
+ if (assessmentSection.ClosingStructures.IsRelevant)
+ {
+ activities.AddRange(ClosingStructuresCalculationActivityFactory.CreateCalculationActivities(assessmentSection.ClosingStructures, assessmentSection));
+ }
+
+ if (assessmentSection.StabilityPointStructures.IsRelevant)
+ {
+ activities.AddRange(StabilityPointStructuresCalculationActivityFactory.CreateCalculationActivities(assessmentSection.StabilityPointStructures, assessmentSection));
+ }
+
+ if (assessmentSection.DuneErosion.IsRelevant)
+ {
+ activities.AddRange(DuneLocationCalculationActivityFactory.CreateCalculationActivities(assessmentSection.DuneErosion, assessmentSection));
+ }
+
+ return activities;
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/src/Ringtoets.Integration.Service/Ringtoets.Integration.Service.csproj
===================================================================
diff -u -r09cbe8d8fd52fcc80a38bcf60ca32890ef9fbbf5 -ra239b3f889a32a47cd41578a760febc9eb3e6ade
--- Ringtoets/Integration/src/Ringtoets.Integration.Service/Ringtoets.Integration.Service.csproj (.../Ringtoets.Integration.Service.csproj) (revision 09cbe8d8fd52fcc80a38bcf60ca32890ef9fbbf5)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Service/Ringtoets.Integration.Service.csproj (.../Ringtoets.Integration.Service.csproj) (revision a239b3f889a32a47cd41578a760febc9eb3e6ade)
@@ -15,6 +15,7 @@
+
Index: Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/AssessmentSectionCalculationActivityFactoryTest.cs
===================================================================
diff -u
--- Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/AssessmentSectionCalculationActivityFactoryTest.cs (revision 0)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/AssessmentSectionCalculationActivityFactoryTest.cs (revision a239b3f889a32a47cd41578a760febc9eb3e6ade)
@@ -0,0 +1,507 @@
+// Copyright (C) Stichting Deltares 2017. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using Core.Common.Base.Data;
+using Core.Common.Base.Geometry;
+using Core.Common.TestUtil;
+using Core.Common.Util.Extensions;
+using NUnit.Framework;
+using Rhino.Mocks;
+using Ringtoets.ClosingStructures.Data.TestUtil;
+using Ringtoets.Common.Data.AssessmentSection;
+using Ringtoets.Common.Data.DikeProfiles;
+using Ringtoets.Common.Data.FailureMechanism;
+using Ringtoets.Common.Data.Hydraulics;
+using Ringtoets.Common.Data.TestUtil;
+using Ringtoets.Common.Service;
+using Ringtoets.DuneErosion.Data.TestUtil;
+using Ringtoets.GrassCoverErosionInwards.Data;
+using Ringtoets.GrassCoverErosionOutwards.Data;
+using Ringtoets.HeightStructures.Data.TestUtil;
+using Ringtoets.HydraRing.Calculation.Calculator.Factory;
+using Ringtoets.HydraRing.Calculation.Data.Input.Structures;
+using Ringtoets.HydraRing.Calculation.TestUtil.Calculator;
+using Ringtoets.Integration.Data;
+using Ringtoets.MacroStabilityInwards.Data;
+using Ringtoets.MacroStabilityInwards.Data.TestUtil;
+using Ringtoets.MacroStabilityInwards.KernelWrapper.Kernels;
+using Ringtoets.MacroStabilityInwards.KernelWrapper.TestUtil.Kernels;
+using Ringtoets.Piping.Data;
+using Ringtoets.Piping.Data.TestUtil;
+using Ringtoets.Piping.KernelWrapper.SubCalculator;
+using Ringtoets.Piping.KernelWrapper.TestUtil.SubCalculator;
+using Ringtoets.StabilityPointStructures.Data.TestUtil;
+using Ringtoets.StabilityStoneCover.Data;
+using Ringtoets.WaveImpactAsphaltCover.Data;
+
+namespace Ringtoets.Integration.Service.Test
+{
+ [TestFixture]
+ public class AssessmentSectionCalculationActivityFactoryTest
+ {
+ private static readonly string testDataPath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.Integration.Service, "HydraRingCalculation");
+ private static readonly string validFilePath = Path.Combine(testDataPath, "HRD ijsselmeer.sqlite");
+
+ [Test]
+ public void CreateActivities_AssessmentSectionNull_ThrowsArgumentNullException()
+ {
+ // Call
+ TestDelegate test = () => AssessmentSectionCalculationActivityFactory.CreateActivities(null);
+
+ // Assert
+ var exception = Assert.Throws(test);
+ Assert.AreEqual("assessmentSection", exception.ParamName);
+ }
+
+ [Test]
+ public void CreateActivities_WithValidDataAndAllFailureMechanismsRelevant_ExpectedActivitiesCreated()
+ {
+ // Setup
+ AssessmentSection assessmentSection = CreateAssessmentSection();
+
+ var hydraulicBoundaryLocation = new TestHydraulicBoundaryLocation("locationName 1");
+ IEnumerable hydraulicBoundaryLocations = new[]
+ {
+ hydraulicBoundaryLocation
+ };
+ assessmentSection.SetHydraulicBoundaryLocationCalculations(hydraulicBoundaryLocations);
+ assessmentSection.GrassCoverErosionOutwards.SetHydraulicBoundaryLocationCalculations(hydraulicBoundaryLocations);
+
+ AddGrassCoverErosionInwardsCalculation(assessmentSection, hydraulicBoundaryLocation);
+ AddPipingCalculationScenario(assessmentSection, hydraulicBoundaryLocation);
+ AddMacroStabilityInwardsCalculationScenario(assessmentSection, hydraulicBoundaryLocation);
+ AddStabilityStoneCoverCalculation(assessmentSection, hydraulicBoundaryLocation);
+ AddWaveImpactAsphaltCoverCalculation(assessmentSection, hydraulicBoundaryLocation);
+ AddGrassCoverErosionOutwardsCalculation(assessmentSection, hydraulicBoundaryLocation);
+ AddHeightStructuresCalculation(assessmentSection, hydraulicBoundaryLocation);
+ AddClosingStructuresCalculation(assessmentSection, hydraulicBoundaryLocation);
+ AddStabilityPointStructuresCalculation(assessmentSection, hydraulicBoundaryLocation);
+ AddDuneLocationCalculation(assessmentSection);
+
+ var mocks = new MockRepository();
+ var calculatorFactory = mocks.StrictMock();
+
+ using (mocks.Ordered())
+ {
+ calculatorFactory.Expect(cf => cf.CreateDesignWaterLevelCalculator(testDataPath, ""))
+ .Return(new TestDesignWaterLevelCalculator
+ {
+ DesignWaterLevel = 2.0
+ }).Repeat.Times(4);
+ calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(testDataPath, ""))
+ .Return(new TestWaveHeightCalculator()).Repeat.Times(4);
+
+ calculatorFactory.Expect(cf => cf.CreateOvertoppingCalculator(testDataPath, ""))
+ .Return(new TestOvertoppingCalculator());
+
+ calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, ""))
+ .Return(new TestWaveConditionsCosineCalculator()).Repeat.Times(9);
+
+ calculatorFactory.Expect(cf => cf.CreateDesignWaterLevelCalculator(testDataPath, ""))
+ .Return(new TestDesignWaterLevelCalculator()).Repeat.Times(3);
+ calculatorFactory.Expect(cf => cf.CreateWaveHeightCalculator(testDataPath, ""))
+ .Return(new TestWaveHeightCalculator()).Repeat.Times(3);
+
+ calculatorFactory.Expect(cf => cf.CreateWaveConditionsCosineCalculator(testDataPath, ""))
+ .Return(new TestWaveConditionsCosineCalculator()).Repeat.Times(3);
+
+ calculatorFactory.Expect(cf => cf.CreateStructuresCalculator(testDataPath, ""))
+ .Return(new TestStructuresCalculator());
+
+ calculatorFactory.Expect(cf => cf.CreateStructuresCalculator(testDataPath, ""))
+ .Return(new TestStructuresCalculator());
+
+ calculatorFactory.Expect(cf => cf.CreateStructuresCalculator(testDataPath, ""))
+ .Return(new TestStructuresCalculator());
+
+ calculatorFactory.Expect(cf => cf.CreateDunesBoundaryConditionsCalculator(testDataPath, ""))
+ .Return(new TestDunesBoundaryConditionsCalculator()).Repeat.Times(5);
+ }
+
+ mocks.ReplayAll();
+
+ // Call
+ IEnumerable activities =
+ AssessmentSectionCalculationActivityFactory.CreateActivities(assessmentSection);
+
+ // Assert
+ Assert.AreEqual(28, activities.Count());
+
+ using (new HydraRingCalculatorFactoryConfig(calculatorFactory))
+ using (new PipingSubCalculatorFactoryConfig())
+ using (new MacroStabilityInwardsKernelFactoryConfig())
+ {
+ // Run hydraulic boundary location calculations first
+ activities.Take(8).ForEachElementDo(activity => activity.Run());
+
+ var pipingTestFactory = (TestPipingSubCalculatorFactory) PipingSubCalculatorFactory.Instance;
+ var macroStabilityTestFactory = (TestMacroStabilityInwardsKernelFactory) MacroStabilityInwardsKernelWrapperFactory.Instance;
+ Assert.IsFalse(pipingTestFactory.LastCreatedUpliftCalculator.Calculated);
+ Assert.IsFalse(macroStabilityTestFactory.LastCreatedUpliftVanKernel.Calculated);
+
+ activities.Skip(8).ForEachElementDo(activity => activity.Run());
+
+ Assert.IsTrue(pipingTestFactory.LastCreatedUpliftCalculator.Calculated);
+ Assert.IsTrue(macroStabilityTestFactory.LastCreatedUpliftVanKernel.Calculated);
+ }
+
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void CreateActivities_PipingNotRelevant_NoActivitiesCreated()
+ {
+ // Setup
+ AssessmentSection assessmentSection = CreateAssessmentSection();
+ assessmentSection.Piping.IsRelevant = false;
+
+ AddPipingCalculationScenario(assessmentSection, new TestHydraulicBoundaryLocation());
+
+ // Call
+ IEnumerable activities =
+ AssessmentSectionCalculationActivityFactory.CreateActivities(assessmentSection);
+
+ // Assert
+ Assert.AreEqual(0, activities.Count());
+ }
+
+ [Test]
+ public void CreateActivities_GrassCoverErosionInwardsNotRelevant_NoActivitiesCreated()
+ {
+ // Setup
+ AssessmentSection assessmentSection = CreateAssessmentSection();
+ assessmentSection.GrassCoverErosionInwards.IsRelevant = false;
+
+ AddGrassCoverErosionInwardsCalculation(assessmentSection, new TestHydraulicBoundaryLocation());
+
+ // Call
+ IEnumerable activities =
+ AssessmentSectionCalculationActivityFactory.CreateActivities(assessmentSection);
+
+ // Assert
+ Assert.AreEqual(0, activities.Count());
+ }
+
+ [Test]
+ public void CreateActivities_MacroStabilityInwardsNotRelevant_NoActivitiesCreated()
+ {
+ // Setup
+ AssessmentSection assessmentSection = CreateAssessmentSection();
+ assessmentSection.MacroStabilityInwards.IsRelevant = false;
+
+ AddMacroStabilityInwardsCalculationScenario(assessmentSection, new TestHydraulicBoundaryLocation());
+
+ // Call
+ IEnumerable activities =
+ AssessmentSectionCalculationActivityFactory.CreateActivities(assessmentSection);
+
+ // Assert
+ Assert.AreEqual(0, activities.Count());
+ }
+
+ [Test]
+ public void CreateActivities_StabilityStoneCoverNotRelevant_NoActivitiesCreated()
+ {
+ // Setup
+ AssessmentSection assessmentSection = CreateAssessmentSection();
+ assessmentSection.StabilityStoneCover.IsRelevant = false;
+
+ AddStabilityStoneCoverCalculation(assessmentSection, new TestHydraulicBoundaryLocation());
+
+ // Call
+ IEnumerable activities =
+ AssessmentSectionCalculationActivityFactory.CreateActivities(assessmentSection);
+
+ // Assert
+ Assert.AreEqual(0, activities.Count());
+ }
+
+ [Test]
+ public void CreateActivities_WaveImpactAsphaltCoverNotRelevant_NoActivitiesCreated()
+ {
+ // Setup
+ AssessmentSection assessmentSection = CreateAssessmentSection();
+ assessmentSection.WaveImpactAsphaltCover.IsRelevant = false;
+
+ AddWaveImpactAsphaltCoverCalculation(assessmentSection, new TestHydraulicBoundaryLocation());
+
+ // Call
+ IEnumerable activities =
+ AssessmentSectionCalculationActivityFactory.CreateActivities(assessmentSection);
+
+ // Assert
+ Assert.AreEqual(0, activities.Count());
+ }
+
+ [Test]
+ public void CreateActivities_GrassCoverErosionOutwardsNotRelevant_NoActivitiesCreated()
+ {
+ // Setup
+ AssessmentSection assessmentSection = CreateAssessmentSection();
+ assessmentSection.GrassCoverErosionOutwards.IsRelevant = false;
+
+ AddGrassCoverErosionOutwardsCalculation(assessmentSection, new TestHydraulicBoundaryLocation());
+
+ // Call
+ IEnumerable activities =
+ AssessmentSectionCalculationActivityFactory.CreateActivities(assessmentSection);
+
+ // Assert
+ Assert.AreEqual(0, activities.Count());
+ }
+
+ [Test]
+ public void CreateActivities_HeightStructuresNotRelevant_NoActivitiesCreated()
+ {
+ // Setup
+ AssessmentSection assessmentSection = CreateAssessmentSection();
+ assessmentSection.HeightStructures.IsRelevant = false;
+
+ AddHeightStructuresCalculation(assessmentSection, new TestHydraulicBoundaryLocation());
+
+ // Call
+ IEnumerable activities =
+ AssessmentSectionCalculationActivityFactory.CreateActivities(assessmentSection);
+
+ // Assert
+ Assert.AreEqual(0, activities.Count());
+ }
+
+ [Test]
+ public void CreateActivities_ClosingStructuresNotRelevant_NoActivitiesCreated()
+ {
+ // Setup
+ AssessmentSection assessmentSection = CreateAssessmentSection();
+ assessmentSection.ClosingStructures.IsRelevant = false;
+
+ AddClosingStructuresCalculation(assessmentSection, new TestHydraulicBoundaryLocation());
+
+ // Call
+ IEnumerable activities =
+ AssessmentSectionCalculationActivityFactory.CreateActivities(assessmentSection);
+
+ // Assert
+ Assert.AreEqual(0, activities.Count());
+ }
+
+ [Test]
+ public void CreateActivities_StabilityPointStructuresNotRelevant_NoActivitiesCreated()
+ {
+ // Setup
+ AssessmentSection assessmentSection = CreateAssessmentSection();
+ assessmentSection.StabilityPointStructures.IsRelevant = false;
+
+ AddStabilityPointStructuresCalculation(assessmentSection, new TestHydraulicBoundaryLocation());
+
+ // Call
+ IEnumerable activities =
+ AssessmentSectionCalculationActivityFactory.CreateActivities(assessmentSection);
+
+ // Assert
+ Assert.AreEqual(0, activities.Count());
+ }
+
+ [Test]
+ public void CreateActivities_DuneErosionNotRelevant_NoActivitiesCreated()
+ {
+ // Setup
+ AssessmentSection assessmentSection = CreateAssessmentSection();
+ assessmentSection.DuneErosion.IsRelevant = false;
+
+ AddDuneLocationCalculation(assessmentSection);
+
+ // Call
+ IEnumerable activities =
+ AssessmentSectionCalculationActivityFactory.CreateActivities(assessmentSection);
+
+ // Assert
+ Assert.AreEqual(0, activities.Count());
+ }
+
+ private static void AddDuneLocationCalculation(AssessmentSection assessmentSection)
+ {
+ var duneLocation = new TestDuneLocation();
+ assessmentSection.DuneErosion.SetDuneLocations(new[]
+ {
+ duneLocation
+ });
+ }
+
+ private static AssessmentSection CreateAssessmentSection()
+ {
+ var assessmentSection = new AssessmentSection(AssessmentSectionComposition.DikeAndDune);
+
+ assessmentSection.HydraulicBoundaryDatabase.FilePath = validFilePath;
+
+ return assessmentSection;
+ }
+
+ private static void AddGrassCoverErosionInwardsCalculation(AssessmentSection assessmentSection,
+ HydraulicBoundaryLocation hydraulicBoundaryLocation)
+ {
+ assessmentSection.GrassCoverErosionInwards.CalculationsGroup.Children.Add(new GrassCoverErosionInwardsCalculation
+ {
+ InputParameters =
+ {
+ HydraulicBoundaryLocation = hydraulicBoundaryLocation,
+ DikeProfile = new DikeProfile(new Point2D(0, 0),
+ new RoughnessPoint[0],
+ new Point2D[0],
+ new BreakWater(BreakWaterType.Dam, new Random(39).NextDouble()),
+ new DikeProfile.ConstructionProperties
+ {
+ Id = "id"
+ })
+ }
+ });
+ }
+
+ private static void AddPipingCalculationScenario(AssessmentSection assessmentSection,
+ HydraulicBoundaryLocation hydraulicBoundaryLocation)
+ {
+ PipingCalculationScenario pipingCalculationScenario = PipingCalculationScenarioTestFactory.CreatePipingCalculationScenarioWithValidInput(hydraulicBoundaryLocation);
+ pipingCalculationScenario.InputParameters.UseAssessmentLevelManualInput = true;
+ pipingCalculationScenario.InputParameters.AssessmentLevel = new Random(39).NextRoundedDouble();
+ assessmentSection.Piping.CalculationsGroup.Children.Add(pipingCalculationScenario);
+ }
+
+ private static void AddMacroStabilityInwardsCalculationScenario(AssessmentSection assessmentSection,
+ HydraulicBoundaryLocation hydraulicBoundaryLocation)
+ {
+ MacroStabilityInwardsCalculationScenario macroStabilityInwardsCalculationScenario =
+ MacroStabilityInwardsCalculationScenarioTestFactory.CreateMacroStabilityInwardsCalculationScenarioWithValidInput(hydraulicBoundaryLocation);
+ macroStabilityInwardsCalculationScenario.InputParameters.UseAssessmentLevelManualInput = true;
+ macroStabilityInwardsCalculationScenario.InputParameters.AssessmentLevel = new Random(39).NextRoundedDouble();
+ assessmentSection.MacroStabilityInwards.CalculationsGroup.Children.Add(macroStabilityInwardsCalculationScenario);
+ }
+
+ private static void AddStabilityStoneCoverCalculation(AssessmentSection assessmentSection,
+ HydraulicBoundaryLocation hydraulicBoundaryLocation)
+ {
+ assessmentSection.StabilityStoneCover.WaveConditionsCalculationGroup.Children.Add(new StabilityStoneCoverWaveConditionsCalculation
+ {
+ InputParameters =
+ {
+ HydraulicBoundaryLocation = hydraulicBoundaryLocation,
+ CategoryType = AssessmentSectionCategoryType.FactorizedLowerLimitNorm,
+ ForeshoreProfile = new TestForeshoreProfile(true)
+ {
+ BreakWater =
+ {
+ Height = new Random(39).NextRoundedDouble()
+ }
+ },
+ UseForeshore = true,
+ UseBreakWater = true,
+ LowerBoundaryRevetment = (RoundedDouble) 1,
+ UpperBoundaryRevetment = (RoundedDouble) 3,
+ LowerBoundaryWaterLevels = (RoundedDouble) 1,
+ UpperBoundaryWaterLevels = (RoundedDouble) 3
+ }
+ });
+ }
+
+ private static void AddWaveImpactAsphaltCoverCalculation(AssessmentSection assessmentSection,
+ HydraulicBoundaryLocation hydraulicBoundaryLocation)
+ {
+ assessmentSection.WaveImpactAsphaltCover.WaveConditionsCalculationGroup.Children.Add(new WaveImpactAsphaltCoverWaveConditionsCalculation
+ {
+ InputParameters =
+ {
+ HydraulicBoundaryLocation = hydraulicBoundaryLocation,
+ CategoryType = AssessmentSectionCategoryType.FactorizedLowerLimitNorm,
+ ForeshoreProfile = new TestForeshoreProfile(true)
+ {
+ BreakWater =
+ {
+ Height = new Random(39).NextRoundedDouble()
+ }
+ },
+ UseForeshore = true,
+ UseBreakWater = true,
+ LowerBoundaryRevetment = (RoundedDouble) 1,
+ UpperBoundaryRevetment = (RoundedDouble) 3,
+ LowerBoundaryWaterLevels = (RoundedDouble) 1,
+ UpperBoundaryWaterLevels = (RoundedDouble) 3
+ }
+ });
+ }
+
+ private static void AddGrassCoverErosionOutwardsCalculation(AssessmentSection assessmentSection,
+ HydraulicBoundaryLocation hydraulicBoundaryLocation)
+ {
+ assessmentSection.GrassCoverErosionOutwards.WaveConditionsCalculationGroup.Children.Add(new GrassCoverErosionOutwardsWaveConditionsCalculation
+ {
+ InputParameters =
+ {
+ HydraulicBoundaryLocation = hydraulicBoundaryLocation,
+ CategoryType = FailureMechanismCategoryType.FactorizedLowerLimitNorm,
+ UseBreakWater = true,
+ LowerBoundaryRevetment = (RoundedDouble) 1,
+ UpperBoundaryRevetment = (RoundedDouble) 3,
+ LowerBoundaryWaterLevels = (RoundedDouble) 1,
+ UpperBoundaryWaterLevels = (RoundedDouble) 3,
+ Orientation = (RoundedDouble) 10
+ }
+ });
+ }
+
+ private static void AddHeightStructuresCalculation(AssessmentSection assessmentSection,
+ HydraulicBoundaryLocation hydraulicBoundaryLocation)
+ {
+ assessmentSection.HeightStructures.CalculationsGroup.Children.Add(new TestHeightStructuresCalculation
+ {
+ InputParameters =
+ {
+ HydraulicBoundaryLocation = hydraulicBoundaryLocation
+ }
+ });
+ }
+
+ private static void AddClosingStructuresCalculation(AssessmentSection assessmentSection,
+ HydraulicBoundaryLocation hydraulicBoundaryLocation)
+ {
+ assessmentSection.ClosingStructures.CalculationsGroup.Children.Add(new TestClosingStructuresCalculation
+ {
+ InputParameters =
+ {
+ HydraulicBoundaryLocation = hydraulicBoundaryLocation
+ }
+ });
+ }
+
+ private static void AddStabilityPointStructuresCalculation(AssessmentSection assessmentSection,
+ HydraulicBoundaryLocation hydraulicBoundaryLocation)
+ {
+ assessmentSection.StabilityPointStructures.CalculationsGroup.Children.Add(new TestStabilityPointStructuresCalculation
+ {
+ InputParameters =
+ {
+ HydraulicBoundaryLocation = hydraulicBoundaryLocation
+ }
+ });
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/Ringtoets.Integration.Service.Test.csproj
===================================================================
diff -u -r09cbe8d8fd52fcc80a38bcf60ca32890ef9fbbf5 -ra239b3f889a32a47cd41578a760febc9eb3e6ade
--- Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/Ringtoets.Integration.Service.Test.csproj (.../Ringtoets.Integration.Service.Test.csproj) (revision 09cbe8d8fd52fcc80a38bcf60ca32890ef9fbbf5)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/Ringtoets.Integration.Service.Test.csproj (.../Ringtoets.Integration.Service.Test.csproj) (revision a239b3f889a32a47cd41578a760febc9eb3e6ade)
@@ -19,6 +19,7 @@
+
@@ -51,6 +52,10 @@
{C6309704-D67B-434C-BC98-9F8910BC1D10}
Ringtoets.ClosingStructures.Data
+
+ {F5B43C29-6169-4E9A-859E-09090330B94E}
+ Ringtoets.ClosingStructures.Data.TestUtil
+
{D4200F43-3F72-4F42-AF0A-8CED416A38EC}
Ringtoets.Common.Data
@@ -63,10 +68,6 @@
{4843d6e5-066f-4795-94f5-1d53932dd03c}
Ringtoets.Common.Data.TestUtil
-
- {52093DA6-D545-476A-ADFD-12F56625E36B}
- Ringtoets.Common.Service.TestUtil
-
{D1068432-C172-4AA6-847B-D9DEB4C6DE26}
Ringtoets.DuneErosion.Data
@@ -91,6 +92,10 @@
{1C0017D8-35B5-4CA0-8FC7-A83F46DBDC99}
Ringtoets.HeightStructures.Data
+
+ {F67E8AE8-1FF0-4680-9817-99E025CD9FF6}
+ Ringtoets.HeightStructures.Data.TestUtil
+
{888D4097-8BC2-4703-9FB1-8744C94D525E}
Ringtoets.HydraRing.Calculation
@@ -103,18 +108,42 @@
{83D6B73E-91D5-46B0-9218-955DA1F75F7C}
Ringtoets.MacroStabilityInwards.Data
+
+ {3C0D3B38-A9F7-4B22-9705-513DA26AE2CC}
+ Ringtoets.MacroStabilityInwards.KernelWrapper
+
{E9B39743-2DC9-4922-9E0F-6BA3E0E54189}
Ringtoets.MacroStabilityInwards.Primitives
+
+ {2B78CF04-4785-4F27-A6E5-45BDDBB7BF04}
+ Ringtoets.MacroStabilityInwards.Data.TestUtil
+
+
+ {3810D738-6412-47D1-8BC0-729D55BC951F}
+ Ringtoets.MacroStabilityInwards.KernelWrapper.TestUtil
+
{CE994CC9-6F6A-48AC-B4BE-02C30A21F4DB}
Ringtoets.Piping.Data
+
+ {D64E4F0E-E341-496F-82B2-941AD202B4E3}
+ Ringtoets.Piping.KernelWrapper
+
{14c6f716-64e2-4bc4-a1ef-05865fcefa4c}
Ringtoets.Piping.Primitives
+
+ {955E574D-67CE-4347-AA6B-7DF8A04ED754}
+ Ringtoets.Piping.Data.TestUtil
+
+
+ {27E0A5C9-3ABF-426A-A3DA-7D0B83A218C8}
+ Ringtoets.Piping.KernelWrapper.TestUtil
+
{87C2C553-C0BC-40BF-B1EA-B83BFF357F27}
Ringtoets.Revetment.Data
@@ -123,6 +152,10 @@
{3D4B9740-8348-4434-8D77-B611FC6EE57F}
Ringtoets.StabilityPointStructures.Data
+
+ {E9AC095B-8F10-41D2-9456-4A85E3BA91AD}
+ Ringtoets.StabilityPointStructures.Data.TestUtil
+
{B479E3AF-7C34-488C-BB73-D324100D36C9}
Ringtoets.StabilityStoneCover.Data