Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Handlers/FailureMechanismContributionNormChangeHandlerTest.cs =================================================================== diff -u -r5d80e40391145127d8a4330519547d6fe79957b3 -r14ec2ab7889eccf1d88fd68036b96bfcade83eff --- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Handlers/FailureMechanismContributionNormChangeHandlerTest.cs (.../FailureMechanismContributionNormChangeHandlerTest.cs) (revision 5d80e40391145127d8a4330519547d6fe79957b3) +++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/Handlers/FailureMechanismContributionNormChangeHandlerTest.cs (.../FailureMechanismContributionNormChangeHandlerTest.cs) (revision 14ec2ab7889eccf1d88fd68036b96bfcade83eff) @@ -308,7 +308,7 @@ AssertHydraulicBoundaryLocationOutput(assessmentSection, true); - Assert.IsNotNull(assessmentSection.DuneErosion.DuneLocations[1].Calculation.Output); + Assert.IsNotNull(assessmentSection.DuneErosion.DuneLocations[0].Calculation.Output); CollectionAssert.IsEmpty(affectedObjects); } Index: Ringtoets/Integration/test/Ringtoets.Integration.TestUtil.Test/TestDataGeneratorTest.cs =================================================================== diff -u -rda17f8a510f0b6865dddd4c43b911f53e8421b9e -r14ec2ab7889eccf1d88fd68036b96bfcade83eff --- Ringtoets/Integration/test/Ringtoets.Integration.TestUtil.Test/TestDataGeneratorTest.cs (.../TestDataGeneratorTest.cs) (revision da17f8a510f0b6865dddd4c43b911f53e8421b9e) +++ Ringtoets/Integration/test/Ringtoets.Integration.TestUtil.Test/TestDataGeneratorTest.cs (.../TestDataGeneratorTest.cs) (revision 14ec2ab7889eccf1d88fd68036b96bfcade83eff) @@ -61,8 +61,8 @@ DuneErosionFailureMechanism duneErosionFailureMechanism = assessmentSection.GetFailureMechanisms() .OfType() .Single(); - AssertDuneErosionFailureMechanismCalculationConfigurationsWithoutOutputs(duneErosionFailureMechanism); - AssertDuneErosionFailureMechanismCalculationConfigurationsWithOutputs(duneErosionFailureMechanism); + AssertDuneErosionFailureMechanismContainsCalculationConfigurationsWithOutputs(duneErosionFailureMechanism); + AssertDuneErosionFailureMechanismContainsCalculationConfigurationsWithoutOutputs(duneErosionFailureMechanism); } [Test] @@ -83,8 +83,8 @@ DuneErosionFailureMechanism duneErosionFailureMechanism = assessmentSection.GetFailureMechanisms() .OfType() .Single(); - AssertDuneErosionFailureMechanismCalculationConfigurationsWithoutOutputs(duneErosionFailureMechanism); - AssertDuneErosionFailureMechanismCalculationConfigurationsWithOutputs(duneErosionFailureMechanism); + AssertDuneErosionFailureMechanismContainsCalculationConfigurationsWithOutputs(duneErosionFailureMechanism); + AssertDuneErosionFailureMechanismContainsCalculationConfigurationsWithoutOutputs(duneErosionFailureMechanism); } [Test] @@ -97,7 +97,11 @@ Assert.AreEqual(AssessmentSectionComposition.Dike, assessmentSection.Composition); AssertFailureMechanismsHaveAllPossibleCalculationConfigurations(assessmentSection); AssertHydraulicBoundaryOutput(assessmentSection, false); - Assert.True(assessmentSection.DuneErosion.DuneLocations.All(dl => dl.Calculation.Output == null)); + + DuneErosionFailureMechanism duneErosionFailureMechanism = assessmentSection.GetFailureMechanisms() + .OfType() + .Single(); + AssertDuneErosionFailureAssertDuneErosionFailureMechanismCalculationConfigurations(duneErosionFailureMechanism, false); } [Test] @@ -114,7 +118,11 @@ Assert.AreEqual(composition, assessmentSection.Composition); AssertFailureMechanismsHaveAllPossibleCalculationConfigurations(assessmentSection); AssertHydraulicBoundaryOutput(assessmentSection, false); - Assert.True(assessmentSection.DuneErosion.DuneLocations.All(dl => dl.Calculation.Output == null)); + + DuneErosionFailureMechanism duneErosionFailureMechanism = assessmentSection.GetFailureMechanisms() + .OfType() + .Single(); + AssertDuneErosionFailureAssertDuneErosionFailureMechanismCalculationConfigurations(duneErosionFailureMechanism, false); } [Test] @@ -132,8 +140,8 @@ DuneErosionFailureMechanism duneErosionFailureMechanism = assessmentSection.GetFailureMechanisms() .OfType() .Single(); - AssertDuneErosionFailureMechanismCalculationConfigurationsWithoutOutputs(duneErosionFailureMechanism); - AssertDuneErosionFailureMechanismCalculationConfigurationsWithOutputs(duneErosionFailureMechanism); + AssertDuneErosionFailureMechanismContainsCalculationConfigurationsWithOutputs(duneErosionFailureMechanism); + AssertDuneErosionFailureMechanismContainsCalculationConfigurationsWithoutOutputs(duneErosionFailureMechanism); } [Test] @@ -155,8 +163,9 @@ DuneErosionFailureMechanism duneErosionFailureMechanism = assessmentSection.GetFailureMechanisms() .OfType() .Single(); - AssertDuneErosionFailureMechanismCalculationConfigurationsWithoutOutputs(duneErosionFailureMechanism); - AssertDuneErosionFailureMechanismCalculationConfigurationsWithOutputs(duneErosionFailureMechanism); + AssertNumberOfDuneErosionFailureMechanismCalculations(duneErosionFailureMechanism); + AssertDuneErosionFailureMechanismContainsCalculationConfigurationsWithoutOutputs(duneErosionFailureMechanism); + AssertDuneErosionFailureMechanismContainsCalculationConfigurationsWithOutputs(duneErosionFailureMechanism); } private static void AssertHydraulicBoundaryOutput(AssessmentSection assessmentSection, bool hasOutput) @@ -382,6 +391,7 @@ if (duneErosionFailureMechanism != null) { + AssertNumberOfDuneErosionFailureMechanismCalculations(duneErosionFailureMechanism); containsDuneErosionFailureMechanism = true; } @@ -675,14 +685,60 @@ #region Dune Erosion - private static void AssertDuneErosionFailureMechanismCalculationConfigurationsWithOutputs(DuneErosionFailureMechanism failureMechanism) + private static void AssertNumberOfDuneErosionFailureMechanismCalculations(DuneErosionFailureMechanism failureMechanism) { + int expectedCalculationsCount = failureMechanism.DuneLocations.Count; + Assert.AreEqual(expectedCalculationsCount, failureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm.Count()); + Assert.AreEqual(expectedCalculationsCount, failureMechanism.CalculationsForMechanismSpecificSignalingNorm.Count()); + Assert.AreEqual(expectedCalculationsCount, failureMechanism.CalculationsForMechanismSpecificLowerLimitNorm.Count()); + Assert.AreEqual(expectedCalculationsCount, failureMechanism.CalculationsForLowerLimitNorm.Count()); + Assert.AreEqual(expectedCalculationsCount, failureMechanism.CalculationsForFactorizedLowerLimitNorm.Count()); + } + + private static void AssertDuneErosionFailureAssertDuneErosionFailureMechanismCalculationConfigurations(DuneErosionFailureMechanism failureMechanism, bool hasOutput) + { + if (hasOutput) + { + Assert.True(failureMechanism.DuneLocations.All(dl => dl.Calculation.Output != null)); + + Assert.True(failureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm.All(calc => calc.Output != null)); + Assert.True(failureMechanism.CalculationsForMechanismSpecificSignalingNorm.All(calc => calc.Output != null)); + Assert.True(failureMechanism.CalculationsForMechanismSpecificLowerLimitNorm.All(calc => calc.Output != null)); + Assert.True(failureMechanism.CalculationsForLowerLimitNorm.All(calc => calc.Output != null)); + Assert.True(failureMechanism.CalculationsForFactorizedLowerLimitNorm.All(calc => calc.Output != null)); + } + else + { + Assert.True(failureMechanism.DuneLocations.All(dl => dl.Calculation.Output == null)); + + Assert.True(failureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm.All(calc => calc.Output == null)); + Assert.True(failureMechanism.CalculationsForMechanismSpecificSignalingNorm.All(calc => calc.Output == null)); + Assert.True(failureMechanism.CalculationsForMechanismSpecificLowerLimitNorm.All(calc => calc.Output == null)); + Assert.True(failureMechanism.CalculationsForLowerLimitNorm.All(calc => calc.Output == null)); + Assert.True(failureMechanism.CalculationsForFactorizedLowerLimitNorm.All(calc => calc.Output == null)); + } + } + + private static void AssertDuneErosionFailureMechanismContainsCalculationConfigurationsWithOutputs(DuneErosionFailureMechanism failureMechanism) + { Assert.True(failureMechanism.DuneLocations.Any(dl => dl.Calculation.Output != null)); + + Assert.True(failureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm.Any(calc => calc.Output != null)); + Assert.True(failureMechanism.CalculationsForMechanismSpecificSignalingNorm.Any(calc => calc.Output != null)); + Assert.True(failureMechanism.CalculationsForMechanismSpecificLowerLimitNorm.Any(calc => calc.Output != null)); + Assert.True(failureMechanism.CalculationsForLowerLimitNorm.Any(calc => calc.Output != null)); + Assert.True(failureMechanism.CalculationsForFactorizedLowerLimitNorm.Any(calc => calc.Output != null)); } - private static void AssertDuneErosionFailureMechanismCalculationConfigurationsWithoutOutputs(DuneErosionFailureMechanism failureMechanism) + private static void AssertDuneErosionFailureMechanismContainsCalculationConfigurationsWithoutOutputs(DuneErosionFailureMechanism failureMechanism) { Assert.True(failureMechanism.DuneLocations.Any(dl => dl.Calculation.Output == null)); + + Assert.True(failureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm.Any(calc => calc.Output == null)); + Assert.True(failureMechanism.CalculationsForMechanismSpecificSignalingNorm.Any(calc => calc.Output == null)); + Assert.True(failureMechanism.CalculationsForMechanismSpecificLowerLimitNorm.Any(calc => calc.Output == null)); + Assert.True(failureMechanism.CalculationsForLowerLimitNorm.Any(calc => calc.Output == null)); + Assert.True(failureMechanism.CalculationsForFactorizedLowerLimitNorm.Any(calc => calc.Output == null)); } #endregion Index: Ringtoets/Integration/test/Ringtoets.Integration.TestUtil/Ringtoets.Integration.TestUtil.csproj =================================================================== diff -u -r3787b78003d9a55b6bf38f70237f08fc04035a71 -r14ec2ab7889eccf1d88fd68036b96bfcade83eff --- Ringtoets/Integration/test/Ringtoets.Integration.TestUtil/Ringtoets.Integration.TestUtil.csproj (.../Ringtoets.Integration.TestUtil.csproj) (revision 3787b78003d9a55b6bf38f70237f08fc04035a71) +++ Ringtoets/Integration/test/Ringtoets.Integration.TestUtil/Ringtoets.Integration.TestUtil.csproj (.../Ringtoets.Integration.TestUtil.csproj) (revision 14ec2ab7889eccf1d88fd68036b96bfcade83eff) @@ -74,6 +74,10 @@ {D1068432-C172-4AA6-847B-D9DEB4C6DE26} Ringtoets.DuneErosion.Data + + {FDEE3429-0BB1-4AD2-813A-06FAD425EA6F} + Ringtoets.DuneErosion.Service + {7BE6B522-02E3-4143-8508-C021A211DE54} Ringtoets.DuneErosion.Data.TestUtil Index: Ringtoets/Integration/test/Ringtoets.Integration.TestUtil/TestDataGenerator.cs =================================================================== diff -u -r3787b78003d9a55b6bf38f70237f08fc04035a71 -r14ec2ab7889eccf1d88fd68036b96bfcade83eff --- Ringtoets/Integration/test/Ringtoets.Integration.TestUtil/TestDataGenerator.cs (.../TestDataGenerator.cs) (revision 3787b78003d9a55b6bf38f70237f08fc04035a71) +++ Ringtoets/Integration/test/Ringtoets.Integration.TestUtil/TestDataGenerator.cs (.../TestDataGenerator.cs) (revision 14ec2ab7889eccf1d88fd68036b96bfcade83eff) @@ -33,6 +33,7 @@ using Ringtoets.Common.Data.TestUtil; using Ringtoets.DuneErosion.Data; using Ringtoets.DuneErosion.Data.TestUtil; +using Ringtoets.DuneErosion.Service; using Ringtoets.GrassCoverErosionInwards.Data; using Ringtoets.GrassCoverErosionInwards.Data.TestUtil; using Ringtoets.GrassCoverErosionOutwards.Data; @@ -124,6 +125,11 @@ { AssessmentSection assessmentSection = GetAssessmentSectionWithAllCalculationConfigurations(composition); RingtoetsDataSynchronizationService.ClearHydraulicBoundaryLocationOutput(assessmentSection.HydraulicBoundaryDatabase, assessmentSection); + DuneErosionDataSynchronizationService.ClearDuneCalculationsOutput(assessmentSection.DuneErosion.CalculationsForMechanismSpecificFactorizedSignalingNorm); + DuneErosionDataSynchronizationService.ClearDuneCalculationsOutput(assessmentSection.DuneErosion.CalculationsForMechanismSpecificSignalingNorm); + DuneErosionDataSynchronizationService.ClearDuneCalculationsOutput(assessmentSection.DuneErosion.CalculationsForMechanismSpecificLowerLimitNorm); + DuneErosionDataSynchronizationService.ClearDuneCalculationsOutput(assessmentSection.DuneErosion.CalculationsForLowerLimitNorm); + DuneErosionDataSynchronizationService.ClearDuneCalculationsOutput(assessmentSection.DuneErosion.CalculationsForFactorizedLowerLimitNorm); return assessmentSection; } @@ -996,15 +1002,27 @@ private static void SetFullyConfiguredFailureMechanism(DuneErosionFailureMechanism failureMechanism) { - failureMechanism.DuneLocations.Add(new TestDuneLocation()); - failureMechanism.DuneLocations.Add(new TestDuneLocation + var duneLocations = new[] { - Calculation = + new TestDuneLocation { - Output = new TestDuneLocationOutput() - } - }); + Calculation = + { + Output = new TestDuneLocationOutput() + } + }, + new TestDuneLocation() + }; + failureMechanism.DuneLocations.AddRange(duneLocations); + failureMechanism.SetDuneLocationCalculations(duneLocations); + + failureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm.First().Output = new TestDuneLocationOutput(); + failureMechanism.CalculationsForMechanismSpecificSignalingNorm.First().Output = new TestDuneLocationOutput(); + failureMechanism.CalculationsForMechanismSpecificLowerLimitNorm.First().Output = new TestDuneLocationOutput(); + failureMechanism.CalculationsForLowerLimitNorm.First().Output = new TestDuneLocationOutput(); + failureMechanism.CalculationsForFactorizedLowerLimitNorm.First().Output = new TestDuneLocationOutput(); + AddFailureMechanismSections(failureMechanism); }