Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/GrassCoverErosionOutwardsDataSynchronizationServiceTest.cs =================================================================== diff -u -re82f04fb50a7b5a6f9c45289258c00c94aa8c64c -rc964c048005d93b097a1e6a817dace95b293040f --- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/GrassCoverErosionOutwardsDataSynchronizationServiceTest.cs (.../GrassCoverErosionOutwardsDataSynchronizationServiceTest.cs) (revision e82f04fb50a7b5a6f9c45289258c00c94aa8c64c) +++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/GrassCoverErosionOutwardsDataSynchronizationServiceTest.cs (.../GrassCoverErosionOutwardsDataSynchronizationServiceTest.cs) (revision c964c048005d93b097a1e6a817dace95b293040f) @@ -193,6 +193,40 @@ CollectionAssert.AreEqual(expectedAffectedCalculations, affectedItems); } + [Test] + public void ClearReferenceLineDependentData_FailureMechanismNull_ThrowArgumentNullException() + { + // Call + TestDelegate call = () => GrassCoverErosionOutwardsDataSynchronizationService.ClearReferenceLineDependentData(null); + + // Assert + string paramName = Assert.Throws(call).ParamName; + Assert.AreEqual("failureMechanism", paramName); + } + + [Test] + public void ClearReferenceLineDependentData_FullyConfiguredFailureMechanism_RemoveFailureMechanismDependentData() + { + // Setup + GrassCoverErosionOutwardsFailureMechanism failureMechanism = CreateFullyConfiguredFailureMechanism(); + + // Call + IObservable[] observables = GrassCoverErosionOutwardsDataSynchronizationService.ClearReferenceLineDependentData(failureMechanism).ToArray(); + + // Assert + Assert.AreEqual(3, observables.Length); + + CollectionAssert.IsEmpty(failureMechanism.Sections); + CollectionAssert.IsEmpty(failureMechanism.SectionResults); + CollectionAssert.Contains(observables, failureMechanism); + + CollectionAssert.IsEmpty(failureMechanism.WaveConditionsCalculationGroup.Children); + CollectionAssert.Contains(observables, failureMechanism.WaveConditionsCalculationGroup); + + CollectionAssert.IsEmpty(failureMechanism.ForeshoreProfiles); + CollectionAssert.Contains(observables, failureMechanism.ForeshoreProfiles); + } + private static GrassCoverErosionOutwardsFailureMechanism CreateFullyConfiguredFailureMechanism() { var failureMechanism = new GrassCoverErosionOutwardsFailureMechanism();