Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/GrassCoverErosionOutwardsDataSynchronizationServiceTest.cs =================================================================== diff -u -ra14d1309ecf82ff5b0385a2f6e3b2c4a216a4184 -r76cc41df36e8ea1a4ef3c21d8886875b9c1c10c0 --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/GrassCoverErosionOutwardsDataSynchronizationServiceTest.cs (.../GrassCoverErosionOutwardsDataSynchronizationServiceTest.cs) (revision a14d1309ecf82ff5b0385a2f6e3b2c4a216a4184) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/GrassCoverErosionOutwardsDataSynchronizationServiceTest.cs (.../GrassCoverErosionOutwardsDataSynchronizationServiceTest.cs) (revision 76cc41df36e8ea1a4ef3c21d8886875b9c1c10c0) @@ -271,5 +271,52 @@ calculation2 }, affectedItems); } + + [Test] + public void ClearAllWaveConditionsCalculationOutput_FailureMechanismNull_ThrowsArgumentNullException() + { + // Call + TestDelegate call = () => GrassCoverErosionOutwardsDataSynchronizationService.ClearAllWaveConditionsCalculationOutput(null); + + // Assert + var exception = Assert.Throws(call); + Assert.AreEqual("failureMechanism", exception.ParamName); + } + + [Test] + public void ClearAllWaveConditionsCalculationOutput_WithOutput_ClearsCalculationsOutputAndReturnsAffectedCalculations() + { + // Setup + GrassCoverErosionOutwardsFailureMechanism failureMechanism = new GrassCoverErosionOutwardsFailureMechanism(); + GrassCoverErosionOutwardsWaveConditionsCalculation calculation1 = new GrassCoverErosionOutwardsWaveConditionsCalculation + { + Output = new GrassCoverErosionOutwardsWaveConditionsOutput(Enumerable.Empty()) + }; + + GrassCoverErosionOutwardsWaveConditionsCalculation calculation2 = new GrassCoverErosionOutwardsWaveConditionsCalculation + { + Output = new GrassCoverErosionOutwardsWaveConditionsOutput(Enumerable.Empty()) + }; + + GrassCoverErosionOutwardsWaveConditionsCalculation calculation3 = new GrassCoverErosionOutwardsWaveConditionsCalculation(); + + failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculation1); + failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculation2); + failureMechanism.WaveConditionsCalculationGroup.Children.Add(calculation3); + + // Call + IEnumerable affectedItems = GrassCoverErosionOutwardsDataSynchronizationService.ClearAllWaveConditionsCalculationOutput(failureMechanism); + + // Assert + foreach (GrassCoverErosionOutwardsWaveConditionsCalculation calculation in failureMechanism.WaveConditionsCalculationGroup.Children.Cast()) + { + Assert.IsNull(calculation.Output); + } + CollectionAssert.AreEqual(new[] + { + calculation1, + calculation2 + }, affectedItems); + } } } \ No newline at end of file