Index: Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Service.Test/WaveImpactAsphaltCoverDataSynchronizationServiceTest.cs =================================================================== diff -u -re82f04fb50a7b5a6f9c45289258c00c94aa8c64c -rc964c048005d93b097a1e6a817dace95b293040f --- Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Service.Test/WaveImpactAsphaltCoverDataSynchronizationServiceTest.cs (.../WaveImpactAsphaltCoverDataSynchronizationServiceTest.cs) (revision e82f04fb50a7b5a6f9c45289258c00c94aa8c64c) +++ Ringtoets/WaveImpactAsphaltCover/test/Ringtoets.WaveImpactAsphaltCover.Service.Test/WaveImpactAsphaltCoverDataSynchronizationServiceTest.cs (.../WaveImpactAsphaltCoverDataSynchronizationServiceTest.cs) (revision c964c048005d93b097a1e6a817dace95b293040f) @@ -22,6 +22,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Core.Common.Base; using NUnit.Framework; using Ringtoets.Common.Data.Calculation; using Ringtoets.HydraRing.Data; @@ -121,6 +122,40 @@ CollectionAssert.AreEquivalent(expectedAffectedCalculations, affectedItems); } + [Test] + public void ClearReferenceLineDependentData_FailureMechanismNull_ThrowArgumentNullException() + { + // Call + TestDelegate call = () => WaveImpactAsphaltCoverDataSynchronizationService.ClearReferenceLineDependentData(null); + + // Assert + string paramName = Assert.Throws(call).ParamName; + Assert.AreEqual("failureMechanism", paramName); + } + + [Test] + public void ClearReferenceLineDependentData_FullyConfiguredFailureMechanism_RemoveFailureMechanismDependentData() + { + // Setup + WaveImpactAsphaltCoverFailureMechanism failureMechanism = CreateFullyConfiguredFailureMechanism(); + + // Call + IObservable[] observables = WaveImpactAsphaltCoverDataSynchronizationService.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 WaveImpactAsphaltCoverFailureMechanism CreateFullyConfiguredFailureMechanism() { var failureMechanism = new WaveImpactAsphaltCoverFailureMechanism();