Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Service.Test/StabilityPointStructuresDataSynchronizationServiceTest.cs =================================================================== diff -u -re82f04fb50a7b5a6f9c45289258c00c94aa8c64c -rc964c048005d93b097a1e6a817dace95b293040f --- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Service.Test/StabilityPointStructuresDataSynchronizationServiceTest.cs (.../StabilityPointStructuresDataSynchronizationServiceTest.cs) (revision e82f04fb50a7b5a6f9c45289258c00c94aa8c64c) +++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.Service.Test/StabilityPointStructuresDataSynchronizationServiceTest.cs (.../StabilityPointStructuresDataSynchronizationServiceTest.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.Common.Data.Probability; @@ -93,6 +94,43 @@ CollectionAssert.AreEquivalent(expectedAffectedCalculations, affectedItems); } + [Test] + public void ClearReferenceLineDependentData_FailureMechanismNull_ThrowArgumentNullException() + { + // Call + TestDelegate call = () => StabilityPointStructuresDataSynchronizationService.ClearReferenceLineDependentData(null); + + // Assert + string paramName = Assert.Throws(call).ParamName; + Assert.AreEqual("failureMechanism", paramName); + } + + [Test] + public void ClearReferenceLineDependentData_FullyConfiguredFailureMechanism_RemoveFailureMechanismDependentData() + { + // Setup + StabilityPointStructuresFailureMechanism failureMechanism = CreateFullyConfiguredFailureMechanism(); + + // Call + IObservable[] observables = StabilityPointStructuresDataSynchronizationService.ClearReferenceLineDependentData(failureMechanism).ToArray(); + + // Assert + Assert.AreEqual(4, observables.Length); + + CollectionAssert.IsEmpty(failureMechanism.Sections); + CollectionAssert.IsEmpty(failureMechanism.SectionResults); + CollectionAssert.Contains(observables, failureMechanism); + + CollectionAssert.IsEmpty(failureMechanism.CalculationsGroup.Children); + CollectionAssert.Contains(observables, failureMechanism.CalculationsGroup); + + CollectionAssert.IsEmpty(failureMechanism.ForeshoreProfiles); + CollectionAssert.Contains(observables, failureMechanism.ForeshoreProfiles); + + CollectionAssert.IsEmpty(failureMechanism.StabilityPointStructures); + CollectionAssert.Contains(observables, failureMechanism.StabilityPointStructures); + } + private static StabilityPointStructuresFailureMechanism CreateFullyConfiguredFailureMechanism() { var failureMechanism = new StabilityPointStructuresFailureMechanism();