Index: Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/RingtoetsDataSynchronizationServiceTest.cs =================================================================== diff -u -rfd0fee6b42e297555ec5dbae5f58de93f7383152 -r9e8adeec3a90229b7845e004fa30536b8d2f5f2e --- Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/RingtoetsDataSynchronizationServiceTest.cs (.../RingtoetsDataSynchronizationServiceTest.cs) (revision fd0fee6b42e297555ec5dbae5f58de93f7383152) +++ Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/RingtoetsDataSynchronizationServiceTest.cs (.../RingtoetsDataSynchronizationServiceTest.cs) (revision 9e8adeec3a90229b7845e004fa30536b8d2f5f2e) @@ -295,7 +295,7 @@ } [Test] - [TestCaseSource(nameof(GrassAndDuneLocations1))] + [TestCaseSource(nameof(GetGrassAndDuneLocations), new object[] { "Location1" })] public void ClearHydraulicBoundaryLocationOutputForFailureMechanisms_GrassCoverErosionOutwardsAndDuneLocations_ClearDataAndReturnAffectedLocations( HydraulicBoundaryLocation grassCoverErosionLocation, DuneLocation duneLocation) { @@ -367,7 +367,7 @@ } [Test] - [TestCaseSource(nameof(GrassAndDuneLocations2))] + [TestCaseSource(nameof(GetGrassAndDuneLocations), new object[] {"Location2"})] public void ClearHydraulicBoundaryLocationOutputForFailureMechanisms_FailureMechanismsGrassCoverErosionOutwardsAndDuneLocations_ClearDataAndReturnAffectedLocations( HydraulicBoundaryLocation grassCoverErosionLocation, DuneLocation duneLocation) { @@ -1501,24 +1501,8 @@ #region TestData - private static IEnumerable GrassAndDuneLocations1 + private static IEnumerable GetGrassAndDuneLocations(string testName) { - get - { - return GrassAndDuneLocationSource("Location1"); - } - } - - private static IEnumerable GrassAndDuneLocations2 - { - get - { - return GrassAndDuneLocationSource("Location2"); - } - } - - private static IEnumerable GrassAndDuneLocationSource(string testName) - { yield return new TestCaseData( new TestHydraulicBoundaryLocation(), new TestDuneLocation() Index: Ringtoets/Integration/test/Ringtoets.Integration.TestUtils.Test/TestDataGeneratorTest.cs =================================================================== diff -u -r62365819013badfa7c41bce69ac5f709351ac13f -r9e8adeec3a90229b7845e004fa30536b8d2f5f2e --- Ringtoets/Integration/test/Ringtoets.Integration.TestUtils.Test/TestDataGeneratorTest.cs (.../TestDataGeneratorTest.cs) (revision 62365819013badfa7c41bce69ac5f709351ac13f) +++ Ringtoets/Integration/test/Ringtoets.Integration.TestUtils.Test/TestDataGeneratorTest.cs (.../TestDataGeneratorTest.cs) (revision 9e8adeec3a90229b7845e004fa30536b8d2f5f2e) @@ -52,7 +52,7 @@ // Assert Assert.AreEqual(AssessmentSectionComposition.Dike, assessmentSection.Composition); - AssertFailureMechanismHasAllPossibleCalculationConfigurations(assessmentSection); + AssertFailureMechanismsHaveAllPossibleCalculationConfigurations(assessmentSection); Assert.True(assessmentSection.GrassCoverErosionOutwards.HydraulicBoundaryLocations.All(loc => loc.DesignWaterLevelOutput != null && loc.WaveHeightOutput != null)); @@ -75,7 +75,7 @@ // Assert Assert.AreEqual(composition, assessmentSection.Composition); - AssertFailureMechanismHasAllPossibleCalculationConfigurations(assessmentSection); + AssertFailureMechanismsHaveAllPossibleCalculationConfigurations(assessmentSection); Assert.True(assessmentSection.GrassCoverErosionOutwards.HydraulicBoundaryLocations.All(loc => loc.DesignWaterLevelOutput != null && loc.WaveHeightOutput != null)); @@ -94,7 +94,7 @@ // Assert Assert.AreEqual(AssessmentSectionComposition.Dike, assessmentSection.Composition); - AssertFailureMechanismHasAllPossibleCalculationConfigurations(assessmentSection); + AssertFailureMechanismsHaveAllPossibleCalculationConfigurations(assessmentSection); Assert.True(assessmentSection.GrassCoverErosionOutwards.HydraulicBoundaryLocations.All(loc => loc.DesignWaterLevelOutput == null && loc.WaveHeightOutput == null)); Assert.True(assessmentSection.DuneErosion.DuneLocations.All(dl => dl.Output == null)); @@ -112,7 +112,7 @@ // Assert Assert.AreEqual(composition, assessmentSection.Composition); - AssertFailureMechanismHasAllPossibleCalculationConfigurations(assessmentSection); + AssertFailureMechanismsHaveAllPossibleCalculationConfigurations(assessmentSection); Assert.True(assessmentSection.GrassCoverErosionOutwards.HydraulicBoundaryLocations.All(loc => loc.DesignWaterLevelOutput == null && loc.WaveHeightOutput == null)); Assert.True(assessmentSection.DuneErosion.DuneLocations.All(dl => dl.Output == null)); @@ -126,7 +126,7 @@ // Assert Assert.AreEqual(AssessmentSectionComposition.Dike, assessmentSection.Composition); - AssertFailureMechanismHasAllCalculationConfigurationsWithoutCalculationOutputs(assessmentSection); + AssertFailureMechanismsHaveAllCalculationConfigurationsWithoutCalculationOutputs(assessmentSection); Assert.False(assessmentSection.GetFailureMechanisms().SelectMany(fm => fm.Calculations).All(calc => calc.HasOutput)); Assert.True(assessmentSection.GrassCoverErosionOutwards.HydraulicBoundaryLocations.All(loc => loc.DesignWaterLevelOutput != null && loc.WaveHeightOutput != null)); @@ -139,18 +139,18 @@ } [Test] - [TestCase(AssessmentSectionComposition.Dike, TestName = "GetAssessmentSectionWithAllCalculationConfigurationsWithoutCalculationOutput_CompositionGiven_ReturnWithCompositionAndOnlyHydraulicOutputs(Dike)")] - [TestCase(AssessmentSectionComposition.DikeAndDune, TestName = "GetAssessmentSectionWithAllCalculationConfigurationsWithoutCalculationOutput_CompositionGiven_ReturnWithCompositionAndOnlyHydraulicOutputs(DikeAndDune)")] - [TestCase(AssessmentSectionComposition.Dune, TestName = "GetAssessmentSectionWithAllCalculationConfigurationsWithoutCalculationOutput_CompositionGiven_ReturnWithCompositionAndOnlyHydraulicOutputs(Dune)")] - public void GetAssessmentSectionWithAllCalculationConfigurationsWithoutCalculationOutput_CompositionGiven_ReturnWithOnlyHydraulicBoundaryLocationAndDuneLocationOutputsAndComposition( + [TestCase(AssessmentSectionComposition.Dike, TestName = "GetAssessmentSectionWithAllCalculationConfigurationsWithoutCalculationOutput_WithComposition_CompositionSetAndOnlyHydraulicOutputs(Dike)")] + [TestCase(AssessmentSectionComposition.DikeAndDune, TestName = "GetAssessmentSectionWithAllCalculationConfigurationsWithoutCalculationOutput_CompositionGiven_CompositionSetAndOnlyHydraulicOutputs(DikeAndDune)")] + [TestCase(AssessmentSectionComposition.Dune, TestName = "GetAssessmentSectionWithAllCalculationConfigurationsWithoutCalculationOutput_CompositionGiven_CompositionSetAndOnlyHydraulicOutputs(Dune)")] + public void GetAssessmentSectionWithAllCalculationConfigurationsWithoutCalculationOutput_CompositionGiven_CompositionSetAndReturnWithOnlyHydraulicBoundaryLocationAndDuneLocationOutputs( AssessmentSectionComposition composition) { // Call AssessmentSection assessmentSection = TestDataGenerator.GetAssessmentSectionWithAllCalculationConfigurationsWithoutCalculationOutput(composition); // Assert Assert.AreEqual(composition, assessmentSection.Composition); - AssertFailureMechanismHasAllCalculationConfigurationsWithoutCalculationOutputs(assessmentSection); + AssertFailureMechanismsHaveAllCalculationConfigurationsWithoutCalculationOutputs(assessmentSection); Assert.False(assessmentSection.GetFailureMechanisms().SelectMany(fm=>fm.Calculations).All(calc => calc.HasOutput)); Assert.True(assessmentSection.GrassCoverErosionOutwards.HydraulicBoundaryLocations.All(loc => loc.DesignWaterLevelOutput != null && loc.WaveHeightOutput != null)); @@ -162,7 +162,7 @@ AssertDuneErosionFailureMechanismCalculationConfigurationsWithOutputs(duneErosionFailureMechanism); } - private static void AssertFailureMechanismHasAllPossibleCalculationConfigurations(IAssessmentSection assessmentSection) + private static void AssertFailureMechanismsHaveAllPossibleCalculationConfigurations(IAssessmentSection assessmentSection) { bool containsClosingStructuresFailureMechanism = false; bool containsGrassCoverErosionInwardsFailureMechanism = false; @@ -268,7 +268,7 @@ Assert.IsTrue(containsDuneErosionFailureMechanism); } - private static void AssertFailureMechanismHasAllCalculationConfigurationsWithoutCalculationOutputs(IAssessmentSection assessmentSection) + private static void AssertFailureMechanismsHaveAllCalculationConfigurationsWithoutCalculationOutputs(IAssessmentSection assessmentSection) { bool containsClosingStructuresFailureMechanism = false; bool containsGrassCoverErosionInwardsFailureMechanism = false; Index: Ringtoets/Integration/test/Ringtoets.Integration.TestUtils/TestDataGenerator.cs =================================================================== diff -u -r62365819013badfa7c41bce69ac5f709351ac13f -r9e8adeec3a90229b7845e004fa30536b8d2f5f2e --- Ringtoets/Integration/test/Ringtoets.Integration.TestUtils/TestDataGenerator.cs (.../TestDataGenerator.cs) (revision 62365819013badfa7c41bce69ac5f709351ac13f) +++ Ringtoets/Integration/test/Ringtoets.Integration.TestUtils/TestDataGenerator.cs (.../TestDataGenerator.cs) (revision 9e8adeec3a90229b7845e004fa30536b8d2f5f2e) @@ -103,9 +103,9 @@ } /// - /// Gets a fully configured with all ppossible configurations of the parent + /// Gets a fully configured with all possible configurations of the parent /// and nested calculations, but without the output of the , - /// and + /// and . /// /// A fully configured with all possible calculation configurations of /// the parent and nested calculations inside the failure mechanisms, but without the output of the @@ -118,8 +118,8 @@ /// /// Gets a fully configured with a desired and /// possible configurations of the parent and nested calculations, but without the output of the - /// , - /// and + /// , + /// and . /// /// The desired to initialize the with. /// A fully configured with all possible calculation configurations of the parent and @@ -135,7 +135,7 @@ /// /// Gets a fully configured with all possible configurations of the - /// parent and nested calculations, but without any calculation output of the failure mecahnisms. + /// parent and nested calculations, but without any calculation output of the failure mechanism. /// /// A fully configured with all possible configurations of the parent and nested calculations /// of the failure mechanisms, but without any calculation outputs. @@ -318,7 +318,7 @@ { InputParameters = { - HydraulicBoundaryLocation = hydraulicBoundaryLocation, + HydraulicBoundaryLocation = hydraulicBoundaryLocation }, Output = new GrassCoverErosionInwardsOutput(0, false, new ProbabilityAssessmentOutput(0, 0, 0, 0, 0), new DikeHeightAssessmentOutput(0, 0, 0, 0, 0, CalculationConvergence.CalculatedConverged)) @@ -330,7 +330,7 @@ HydraulicBoundaryLocation = hydraulicBoundaryLocation } }; - var calculationWitDikeProfileAndHydraulicBoundaryLocation = new GrassCoverErosionInwardsCalculation + var calculationWithDikeProfileAndHydraulicBoundaryLocation = new GrassCoverErosionInwardsCalculation { InputParameters = { @@ -354,7 +354,7 @@ { InputParameters = { - HydraulicBoundaryLocation = hydraulicBoundaryLocation, + HydraulicBoundaryLocation = hydraulicBoundaryLocation }, Output = new GrassCoverErosionInwardsOutput(0, false, new ProbabilityAssessmentOutput(0, 0, 0, 0, 0), new DikeHeightAssessmentOutput(0, 0, 0, 0, 0, CalculationConvergence.CalculatedConverged)) @@ -366,7 +366,7 @@ HydraulicBoundaryLocation = hydraulicBoundaryLocation } }; - var subCalculationWitDikeProfileAndHydraulicBoundaryLocation = new GrassCoverErosionInwardsCalculation + var subCalculationWithDikeProfileAndHydraulicBoundaryLocation = new GrassCoverErosionInwardsCalculation { InputParameters = { @@ -379,7 +379,7 @@ failureMechanism.CalculationsGroup.Children.Add(calculationWithOutputAndDikeProfileAndHydraulicBoundaryLocation); failureMechanism.CalculationsGroup.Children.Add(calculationWithOutputAndHydraulicBoundaryLocation); failureMechanism.CalculationsGroup.Children.Add(calculationWithHydraulicBoundaryLocation); - failureMechanism.CalculationsGroup.Children.Add(calculationWitDikeProfileAndHydraulicBoundaryLocation); + failureMechanism.CalculationsGroup.Children.Add(calculationWithDikeProfileAndHydraulicBoundaryLocation); failureMechanism.CalculationsGroup.Children.Add(new CalculationGroup { Children = @@ -388,7 +388,7 @@ subCalculationWithOutputAndDikeProfileAndHydraulicBoundaryLocation, subCalculationWithOutputAndHydraulicBoundaryLocation, subCalculationWithHydraulicBoundaryLocation, - subCalculationWitDikeProfileAndHydraulicBoundaryLocation + subCalculationWithDikeProfileAndHydraulicBoundaryLocation } }); @@ -557,7 +557,7 @@ { InputParameters = { - HydraulicBoundaryLocation = hydraulicBoundaryLocation, + HydraulicBoundaryLocation = hydraulicBoundaryLocation }, Output = new ProbabilityAssessmentOutput(0, 0, 0, 0, 0) }; @@ -639,7 +639,7 @@ { InputParameters = { - HydraulicBoundaryLocation = hydraulicBoundaryLocation, + HydraulicBoundaryLocation = hydraulicBoundaryLocation }, Output = new StabilityStoneCoverWaveConditionsOutput(Enumerable.Empty(), Enumerable.Empty()) @@ -685,7 +685,7 @@ { InputParameters = { - HydraulicBoundaryLocation = hydraulicBoundaryLocation, + HydraulicBoundaryLocation = hydraulicBoundaryLocation }, Output = new StabilityStoneCoverWaveConditionsOutput(Enumerable.Empty(), Enumerable.Empty()) @@ -760,7 +760,7 @@ { InputParameters = { - HydraulicBoundaryLocation = hydraulicBoundaryLocation, + HydraulicBoundaryLocation = hydraulicBoundaryLocation }, Output = new WaveImpactAsphaltCoverWaveConditionsOutput(Enumerable.Empty()) }; @@ -803,7 +803,7 @@ { InputParameters = { - HydraulicBoundaryLocation = hydraulicBoundaryLocation, + HydraulicBoundaryLocation = hydraulicBoundaryLocation }, Output = new WaveImpactAsphaltCoverWaveConditionsOutput(Enumerable.Empty()) }; @@ -890,11 +890,11 @@ { InputParameters = { - HydraulicBoundaryLocation = hydraulicBoundaryLocation, + HydraulicBoundaryLocation = hydraulicBoundaryLocation }, Output = new GrassCoverErosionOutwardsWaveConditionsOutput(Enumerable.Empty()) }; - var calculationWitHydraulicBoundaryLocationAndhForeshoreProfile = new GrassCoverErosionOutwardsWaveConditionsCalculation + var calculationWithHydraulicBoundaryLocationAndhForeshoreProfile = new GrassCoverErosionOutwardsWaveConditionsCalculation { InputParameters = { @@ -933,7 +933,7 @@ { InputParameters = { - HydraulicBoundaryLocation = hydraulicBoundaryLocation, + HydraulicBoundaryLocation = hydraulicBoundaryLocation }, Output = new GrassCoverErosionOutwardsWaveConditionsOutput(Enumerable.Empty()) }; @@ -955,7 +955,7 @@ failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculation); failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculationWithOutputAndHydraulicBoundaryLocation); - failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculationWitHydraulicBoundaryLocationAndhForeshoreProfile); + failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculationWithHydraulicBoundaryLocationAndhForeshoreProfile); failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculationWithOutputAndHydraulicBoundaryLocationAndForeshoreProfile); failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculationWithHydraulicBoundaryLocation); failureMechanism.WaveConditionsCalculationGroup.Children.Add(new CalculationGroup Index: Ringtoets/Piping/test/Ringtoets.Piping.Integration.TestUtils.Test/PipingTestDataGeneratorTest.cs =================================================================== diff -u -r62365819013badfa7c41bce69ac5f709351ac13f -r9e8adeec3a90229b7845e004fa30536b8d2f5f2e --- Ringtoets/Piping/test/Ringtoets.Piping.Integration.TestUtils.Test/PipingTestDataGeneratorTest.cs (.../PipingTestDataGeneratorTest.cs) (revision 62365819013badfa7c41bce69ac5f709351ac13f) +++ Ringtoets/Piping/test/Ringtoets.Piping.Integration.TestUtils.Test/PipingTestDataGeneratorTest.cs (.../PipingTestDataGeneratorTest.cs) (revision 9e8adeec3a90229b7845e004fa30536b8d2f5f2e) @@ -19,7 +19,10 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System.Collections.Generic; +using System.Linq; using NUnit.Framework; +using Ringtoets.Common.Data.Calculation; using Ringtoets.Common.Data.TestUtil; using Ringtoets.Piping.Data; @@ -42,7 +45,7 @@ } [Test] - public void SetPipingFailureMechanismWithAllCalculationConfigurations_ReturnsFailureMechanismWithAllConfigurations() + public void ConfigureFailureMechanismWithAllCalculationConfigurations_ReturnsFailureMechanismWithAllConfigurations() { // Setup var failureMechanism = new PipingFailureMechanism(); @@ -56,6 +59,25 @@ PipingTestDataGeneratorHelper.AssertHasSurfaceLines(failureMechanism); PipingTestDataGeneratorHelper.AssertHasAllPossibleCalculationConfigurationsWithOutputs(failureMechanism); PipingTestDataGeneratorHelper.AssertHasAllPossibleCalculationConfigurationsWithoutOutputs(failureMechanism); + + AssertCalculationsHasSameHydraulicBoundaryLocation(failureMechanism.CalculationsGroup, hydraulicBoundaryLocation); + + CalculationGroup nestedCalculationGroup = failureMechanism.CalculationsGroup.Children.OfType().First(); + AssertCalculationsHasSameHydraulicBoundaryLocation(nestedCalculationGroup, hydraulicBoundaryLocation); } + + private static void AssertCalculationsHasSameHydraulicBoundaryLocation(CalculationGroup calculations, + TestHydraulicBoundaryLocation hydraulicBoundaryLocation) + { + IEnumerable calculationsWithHydraulicBoundaryLocation = + calculations.Children + .OfType() + .Where(calc => calc.InputParameters.HydraulicBoundaryLocation != null); + + foreach (PipingCalculation calculation in calculationsWithHydraulicBoundaryLocation) + { + Assert.AreSame(hydraulicBoundaryLocation, calculation.InputParameters.HydraulicBoundaryLocation); + } + } } } \ No newline at end of file