Index: Riskeer/Integration/src/Riskeer.Integration.Service/RiskeerDataSynchronizationService.cs =================================================================== diff -u -rdfd2e82406d3cafb83004a065b3ea1f943ced729 -r5462855f10705cce31f5273d343182d6aeba9aeb --- Riskeer/Integration/src/Riskeer.Integration.Service/RiskeerDataSynchronizationService.cs (.../RiskeerDataSynchronizationService.cs) (revision dfd2e82406d3cafb83004a065b3ea1f943ced729) +++ Riskeer/Integration/src/Riskeer.Integration.Service/RiskeerDataSynchronizationService.cs (.../RiskeerDataSynchronizationService.cs) (revision 5462855f10705cce31f5273d343182d6aeba9aeb) @@ -829,12 +829,18 @@ removedObjects.AddRange(failureMechanism.Sections); changedObjects.Add(failureMechanism); - if (failureMechanism is IHasSectionResults failureMechanismWithSectionResults) + if (failureMechanism is IHasSectionResults failureMechanismWithSectionResultsOld) { - removedObjects.AddRange(failureMechanismWithSectionResults.SectionResultsOld); - changedObjects.Add(failureMechanismWithSectionResults.SectionResultsOld); + removedObjects.AddRange(failureMechanismWithSectionResultsOld.SectionResultsOld); + changedObjects.Add(failureMechanismWithSectionResultsOld.SectionResultsOld); } + if (failureMechanism is IHasSectionResults failureMechanismWithSectionResults) + { + removedObjects.AddRange(failureMechanismWithSectionResults.SectionResults); + changedObjects.Add(failureMechanismWithSectionResults.SectionResults); + } + failureMechanism.ClearAllSections(); return new ClearResults(changedObjects, removedObjects); Index: Riskeer/Integration/test/Riskeer.Integration.Service.Test/RiskeerDataSynchronizationServiceTest.cs =================================================================== diff -u -rdfd2e82406d3cafb83004a065b3ea1f943ced729 -r5462855f10705cce31f5273d343182d6aeba9aeb --- Riskeer/Integration/test/Riskeer.Integration.Service.Test/RiskeerDataSynchronizationServiceTest.cs (.../RiskeerDataSynchronizationServiceTest.cs) (revision dfd2e82406d3cafb83004a065b3ea1f943ced729) +++ Riskeer/Integration/test/Riskeer.Integration.Service.Test/RiskeerDataSynchronizationServiceTest.cs (.../RiskeerDataSynchronizationServiceTest.cs) (revision 5462855f10705cce31f5273d343182d6aeba9aeb) @@ -1669,11 +1669,12 @@ private static void AssertChangedObjects(ClearResults results, AssessmentSection assessmentSection) { IObservable[] changedObjects = results.ChangedObjects.ToArray(); - Assert.AreEqual(60, changedObjects.Length); + Assert.AreEqual(61, changedObjects.Length); PipingFailureMechanism pipingFailureMechanism = assessmentSection.Piping; CollectionAssert.Contains(changedObjects, pipingFailureMechanism); CollectionAssert.Contains(changedObjects, pipingFailureMechanism.SectionResultsOld); + CollectionAssert.Contains(changedObjects, pipingFailureMechanism.SectionResults); CollectionAssert.Contains(changedObjects, pipingFailureMechanism.ScenarioConfigurationsPerFailureMechanismSection); CollectionAssert.Contains(changedObjects, pipingFailureMechanism.CalculationsGroup); CollectionAssert.Contains(changedObjects, pipingFailureMechanism.StochasticSoilModels); @@ -1774,21 +1775,21 @@ expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.Piping)); expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.GrassCoverErosionInwards)); expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.MacroStabilityInwards)); - expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.MacroStabilityOutwards)); - expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.Microstability)); + expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLineOld(assessmentSection.MacroStabilityOutwards)); + expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLineOld(assessmentSection.Microstability)); expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.StabilityStoneCover)); expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.WaveImpactAsphaltCover)); - expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.WaterPressureAsphaltCover)); + expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLineOld(assessmentSection.WaterPressureAsphaltCover)); expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.GrassCoverErosionOutwards)); - expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.GrassCoverSlipOffOutwards)); - expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.GrassCoverSlipOffInwards)); + expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLineOld(assessmentSection.GrassCoverSlipOffOutwards)); + expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLineOld(assessmentSection.GrassCoverSlipOffInwards)); expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.HeightStructures)); expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.ClosingStructures)); - expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.PipingStructure)); + expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLineOld(assessmentSection.PipingStructure)); expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.StabilityPointStructures)); - expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.StrengthStabilityLengthwiseConstruction)); - expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.DuneErosion)); - expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLine(assessmentSection.TechnicalInnovation)); + expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLineOld(assessmentSection.StrengthStabilityLengthwiseConstruction)); + expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLineOld(assessmentSection.DuneErosion)); + expectedRemovedObjects.AddRange(GetExpectedRemovedObjectsWhenClearingReferenceLineOld(assessmentSection.TechnicalInnovation)); return expectedRemovedObjects; } @@ -1822,7 +1823,7 @@ private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(MacroStabilityInwardsFailureMechanism failureMechanism) { - foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) + foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLineOld(failureMechanism)) { yield return failureMechanismObject; } @@ -1845,7 +1846,7 @@ private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(GrassCoverErosionInwardsFailureMechanism failureMechanism) { - foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) + foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLineOld(failureMechanism)) { yield return failureMechanismObject; } @@ -1863,7 +1864,7 @@ private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(StabilityStoneCoverFailureMechanism failureMechanism) { - foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) + foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLineOld(failureMechanism)) { yield return failureMechanismObject; } @@ -1881,7 +1882,7 @@ private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(WaveImpactAsphaltCoverFailureMechanism failureMechanism) { - foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) + foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLineOld(failureMechanism)) { yield return failureMechanismObject; } @@ -1899,7 +1900,7 @@ private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(GrassCoverErosionOutwardsFailureMechanism failureMechanism) { - foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) + foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLineOld(failureMechanism)) { yield return failureMechanismObject; } @@ -1917,7 +1918,7 @@ private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(HeightStructuresFailureMechanism failureMechanism) { - foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) + foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLineOld(failureMechanism)) { yield return failureMechanismObject; } @@ -1940,7 +1941,7 @@ private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(ClosingStructuresFailureMechanism failureMechanism) { - foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) + foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLineOld(failureMechanism)) { yield return failureMechanismObject; } @@ -1963,7 +1964,7 @@ private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(StabilityPointStructuresFailureMechanism failureMechanism) { - foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLine(failureMechanism)) + foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLineOld(failureMechanism)) { yield return failureMechanismObject; } @@ -1984,7 +1985,7 @@ } } - private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(T failureMechanism) + private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLineOld(T failureMechanism) where T : IFailureMechanism, IHasSectionResults { foreach (FailureMechanismSection section in failureMechanism.Sections) @@ -1998,6 +1999,20 @@ } } + private static IEnumerable GetExpectedRemovedObjectsWhenClearingReferenceLine(T failureMechanism) + where T : IFailureMechanism, IHasSectionResults + { + foreach (object failureMechanismObject in GetExpectedRemovedObjectsWhenClearingReferenceLineOld(failureMechanism)) + { + yield return failureMechanismObject; + } + + foreach (FailureMechanismSectionResult sectionResult in failureMechanism.SectionResults) + { + yield return sectionResult; + } + } + private static IAssessmentSection GetConfiguredAssessmentSectionWithHydraulicBoundaryLocationCalculations() { var assessmentSection = new AssessmentSectionStub();