Index: Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Service/DuneErosionDataSynchronizationService.cs =================================================================== diff -u -r76ae563a2db79178d0a21533f320f17d738f4048 -r35cdb63312e00d641feb421d02e99b08b087938f --- Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Service/DuneErosionDataSynchronizationService.cs (.../DuneErosionDataSynchronizationService.cs) (revision 76ae563a2db79178d0a21533f320f17d738f4048) +++ Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Service/DuneErosionDataSynchronizationService.cs (.../DuneErosionDataSynchronizationService.cs) (revision 35cdb63312e00d641feb421d02e99b08b087938f) @@ -115,32 +115,19 @@ } /// - /// Clears the output of the dune location calculations within the dune erosion failure mechanism. + /// Clears the output of the dune location calculations within the collection. /// - /// The failure mechanism for which the output of the calculations needs to be cleared. + /// The calculations for which the output needs to be cleared. /// All objects changed during the clear. - /// Thrown when is null. - public static IEnumerable ClearDuneCalculationOutputs(DuneErosionFailureMechanism failureMechanism) + /// Thrown when is null. + public static IEnumerable ClearDuneCalculationsOutput(IEnumerable calculations) { - if (failureMechanism == null) + if (calculations == null) { - throw new ArgumentNullException(nameof(failureMechanism)); + throw new ArgumentNullException(nameof(calculations)); } var affectedCalculations = new List(); - - affectedCalculations.AddRange(ClearDuneCalculationsOutput(failureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm)); - affectedCalculations.AddRange(ClearDuneCalculationsOutput(failureMechanism.CalculationsForMechanismSpecificSignalingNorm)); - affectedCalculations.AddRange(ClearDuneCalculationsOutput(failureMechanism.CalculationsForMechanismSpecificLowerLimitNorm)); - affectedCalculations.AddRange(ClearDuneCalculationsOutput(failureMechanism.CalculationsForLowerLimitNorm)); - affectedCalculations.AddRange(ClearDuneCalculationsOutput(failureMechanism.CalculationsForFactorizedLowerLimitNorm)); - - return affectedCalculations; - } - - private static IEnumerable ClearDuneCalculationsOutput(IEnumerable calculations) - { - var affectedCalculations = new List(); foreach (DuneLocationCalculation calculation in calculations) { if (calculation.Output != null) Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Service.Test/DuneErosionDataSynchronizationServiceTest.cs =================================================================== diff -u -r76ae563a2db79178d0a21533f320f17d738f4048 -r35cdb63312e00d641feb421d02e99b08b087938f --- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Service.Test/DuneErosionDataSynchronizationServiceTest.cs (.../DuneErosionDataSynchronizationServiceTest.cs) (revision 76ae563a2db79178d0a21533f320f17d738f4048) +++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Service.Test/DuneErosionDataSynchronizationServiceTest.cs (.../DuneErosionDataSynchronizationServiceTest.cs) (revision 35cdb63312e00d641feb421d02e99b08b087938f) @@ -254,55 +254,41 @@ } [Test] - public void ClearDuneCalculationOutputs_FailureMechanismNull_ThrowsArgumentNullException() + public void ClearDuneLocationOutput_CalculationsNull_ThrowsArgumentNullException() { // Call - TestDelegate call = () => DuneErosionDataSynchronizationService.ClearDuneCalculationOutputs(null); + TestDelegate call = () => DuneErosionDataSynchronizationService.ClearDuneCalculationsOutput(null); // Assert var exception = Assert.Throws(call); - Assert.AreEqual("failureMechanism", exception.ParamName); + Assert.AreEqual("calculations", exception.ParamName); } [Test] - public void ClearDuneCalculationOutputs_CalculationsWithOutput_OutputClearedAndAffectedItemsReturned() + public void ClearDuneLocationOutput_CalculationsWithOutput_OutputClearedAndAffectedItemsReturned() { // Setup - var duneLocations = new[] + var calculationWithOutput = new DuneLocationCalculation(new TestDuneLocation()) { - new TestDuneLocation(), - new TestDuneLocation() + Output = new TestDuneLocationOutput() }; + var calculationWithoutOutput = new DuneLocationCalculation(new TestDuneLocation()); - var failureMechanism = new DuneErosionFailureMechanism(); - failureMechanism.DuneLocations.AddRange(duneLocations); - failureMechanism.SetDuneLocationCalculations(duneLocations); + var calculations = new[] + { + calculationWithOutput, + calculationWithoutOutput + }; - 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(); - // Call - IEnumerable affected = DuneErosionDataSynchronizationService.ClearDuneCalculationOutputs(failureMechanism); + IEnumerable affected = DuneErosionDataSynchronizationService.ClearDuneCalculationsOutput(calculations); // Assert - var expectedAffectedCalculations = new[] + Assert.IsNull(calculationWithOutput.Output); + CollectionAssert.AreEqual(new[] { - failureMechanism.CalculationsForMechanismSpecificFactorizedSignalingNorm.First(), - failureMechanism.CalculationsForMechanismSpecificSignalingNorm.First(), - failureMechanism.CalculationsForMechanismSpecificLowerLimitNorm.First(), - failureMechanism.CalculationsForLowerLimitNorm.First(), - failureMechanism.CalculationsForFactorizedLowerLimitNorm.First() - }; - CollectionAssert.AreEquivalent(expectedAffectedCalculations, affected); - - 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)); + calculationWithOutput + }, affected); } } } \ No newline at end of file Index: Ringtoets/Integration/test/Ringtoets.Integration.TestUtil/TestDataGenerator.cs =================================================================== diff -u -r3f39f03a5882e75dc3742ff7c3d84bae6fb757dd -r35cdb63312e00d641feb421d02e99b08b087938f --- Ringtoets/Integration/test/Ringtoets.Integration.TestUtil/TestDataGenerator.cs (.../TestDataGenerator.cs) (revision 3f39f03a5882e75dc3742ff7c3d84bae6fb757dd) +++ Ringtoets/Integration/test/Ringtoets.Integration.TestUtil/TestDataGenerator.cs (.../TestDataGenerator.cs) (revision 35cdb63312e00d641feb421d02e99b08b087938f) @@ -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; }