Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Service.Test/ClosingStructureDataSynchronizationServiceTest.cs =================================================================== diff -u -r12cec002453a1828efc68633fbd25219632c6c47 -r1010d4569cd91ef8661e423e01f833e932180fd4 --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Service.Test/ClosingStructureDataSynchronizationServiceTest.cs (.../ClosingStructureDataSynchronizationServiceTest.cs) (revision 12cec002453a1828efc68633fbd25219632c6c47) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Service.Test/ClosingStructureDataSynchronizationServiceTest.cs (.../ClosingStructureDataSynchronizationServiceTest.cs) (revision 1010d4569cd91ef8661e423e01f833e932180fd4) @@ -305,76 +305,6 @@ CollectionAssert.AreEquivalent(expectedRemovedObjects, results.RemovedObjects); } - [Test] - public void RemoveClosingStructure_FullyConfiguredFailureMechanism_RemovesStructureAndClearsDependentData() - { - // Setup - ClosingStructuresFailureMechanism failureMechanism = CreateFullyConfiguredFailureMechanism(); - ClosingStructure structure = failureMechanism.ClosingStructures[0]; - StructuresCalculation[] calculationsWithStructure = failureMechanism.Calculations - .Cast>() - .Where(c => ReferenceEquals(c.InputParameters.Structure, structure)) - .ToArray(); - ClosingStructuresFailureMechanismSectionResult[] sectionResultsWithStructure = failureMechanism.SectionResults - .Where(sr => calculationsWithStructure.Contains(sr.Calculation)) - .ToArray(); - StructuresCalculation[] calculationsWithOutput = calculationsWithStructure.Where(c => c.HasOutput) - .ToArray(); - - int originalNumberOfSectionResultAssignments = failureMechanism.SectionResults.Count(sr => sr.Calculation != null); - ClosingStructuresFailureMechanismSectionResult[] sectionResults = failureMechanism.SectionResults - .Where(sr => calculationsWithStructure.Contains(sr.Calculation)) - .ToArray(); - - // Precondition - CollectionAssert.IsNotEmpty(calculationsWithOutput); - CollectionAssert.IsNotEmpty(calculationsWithStructure); - CollectionAssert.IsNotEmpty(sectionResultsWithStructure); - - // Call - IEnumerable affectedObjects = RingtoetsCommonDataSynchronizationService.RemoveStructure( - structure, - failureMechanism.Calculations.Cast>(), - failureMechanism.ClosingStructures, - failureMechanism.SectionResults); - - // Assert - // Note: To make sure the clear is performed regardless of what is done with - // the return result, no ToArray() should be called before these assertions: - CollectionAssert.DoesNotContain(failureMechanism.ClosingStructures, structure); - foreach (StructuresCalculation calculation in calculationsWithStructure) - { - Assert.IsNull(calculation.InputParameters.Structure); - } - foreach (StructuresCalculation calculation in calculationsWithOutput) - { - Assert.IsFalse(calculation.HasOutput); - } - foreach (ClosingStructuresFailureMechanismSectionResult sectionResult in sectionResultsWithStructure) - { - Assert.IsNull(sectionResult.Calculation); - } - - IObservable[] array = affectedObjects.ToArray(); - Assert.AreEqual(1 + calculationsWithOutput.Length + calculationsWithStructure.Length + sectionResultsWithStructure.Length, - array.Length); - CollectionAssert.Contains(array, failureMechanism.ClosingStructures); - foreach (StructuresCalculation calculation in calculationsWithStructure) - { - CollectionAssert.Contains(array, calculation.InputParameters); - } - foreach (StructuresCalculation calculation in calculationsWithOutput) - { - CollectionAssert.Contains(array, calculation); - } - foreach (ClosingStructuresFailureMechanismSectionResult result in sectionResultsWithStructure) - { - CollectionAssert.Contains(array, result); - } - Assert.AreEqual(originalNumberOfSectionResultAssignments - sectionResults.Length, failureMechanism.SectionResults.Count(sr => sr.Calculation != null), - "Other section results with a different calculation/structure should still have their association."); - } - private ClosingStructuresFailureMechanism CreateFullyConfiguredFailureMechanism() { var section1 = new FailureMechanismSection("A", new[]