Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/FileImporters/ClosingStructureUpdateDataStrategyTest.cs =================================================================== diff -u -r8f469f065acb26b785ea45ddeb3ae766b7edd812 -r922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1 --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/FileImporters/ClosingStructureUpdateDataStrategyTest.cs (.../ClosingStructureUpdateDataStrategyTest.cs) (revision 8f469f065acb26b785ea45ddeb3ae766b7edd812) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.Plugin.Test/FileImporters/ClosingStructureUpdateDataStrategyTest.cs (.../ClosingStructureUpdateDataStrategyTest.cs) (revision 922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1) @@ -253,9 +253,10 @@ // Assert AssertClosingStructures(readStructure, structure); - CollectionAssert.AreEqual(new[] + CollectionAssert.AreEqual(new IObservable[] { - targetCollection + targetCollection, + structure }, affectedObjects); } @@ -306,6 +307,7 @@ CollectionAssert.AreEqual(new IObservable[] { failureMechanism.ClosingStructures, + structure, calculation.InputParameters, calculation }, affectedObjects); @@ -382,6 +384,7 @@ CollectionAssert.AreEquivalent(new IObservable[] { + affectedStructure, affectedCalculation, affectedCalculation.InputParameters, targetDataCollection @@ -435,6 +438,7 @@ CollectionAssert.AreEquivalent(new IObservable[] { structures, + affectedStructure, affectedCalculation, affectedCalculation.InputParameters }, affectedObjects); @@ -510,6 +514,7 @@ CollectionAssert.AreEqual(new IObservable[] { failureMechanism.ClosingStructures, + structure, calculation.InputParameters, sectionResults[0], sectionResults[1] Index: Ringtoets/Common/src/Ringtoets.Common.Data/StructureBase.cs =================================================================== diff -u -rf765cbda8002f3db4b7855ba9933899f7ebcf820 -r922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1 --- Ringtoets/Common/src/Ringtoets.Common.Data/StructureBase.cs (.../StructureBase.cs) (revision f765cbda8002f3db4b7855ba9933899f7ebcf820) +++ Ringtoets/Common/src/Ringtoets.Common.Data/StructureBase.cs (.../StructureBase.cs) (revision 922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1) @@ -20,6 +20,7 @@ // All rights reserved. using System; +using Core.Common.Base; using Core.Common.Base.Data; using Core.Common.Base.Geometry; @@ -28,7 +29,7 @@ /// /// Base definition of a structure. /// - public abstract class StructureBase + public abstract class StructureBase : Observable { /// /// Creates a new instance of . Index: Ringtoets/Common/src/Ringtoets.Common.Data/UpdateDataStrategies/UpdateDataStrategyBase.cs =================================================================== diff -u -rb7f91e5d6aaac3c9a52cfda9b1bdd3a74ee4f8b1 -r922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1 --- Ringtoets/Common/src/Ringtoets.Common.Data/UpdateDataStrategies/UpdateDataStrategyBase.cs (.../UpdateDataStrategyBase.cs) (revision b7f91e5d6aaac3c9a52cfda9b1bdd3a74ee4f8b1) +++ Ringtoets/Common/src/Ringtoets.Common.Data/UpdateDataStrategies/UpdateDataStrategyBase.cs (.../UpdateDataStrategyBase.cs) (revision 922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1) @@ -41,7 +41,7 @@ /// The target data type. /// The failure mechanism in which the target collection should be updated. public abstract class UpdateDataStrategyBase - where TTargetData : class + where TTargetData : Observable where TFailureMechanism : IFailureMechanism { protected readonly TFailureMechanism FailureMechanism; @@ -195,6 +195,10 @@ { TTargetData objectToUpdateFrom = importedDataCollection.Single(importedObject => equalityComparer.Equals(importedObject, objectToUpdate)); + if (!objectToUpdate.Equals(objectToUpdateFrom)) + { + affectedObjects.Add(objectToUpdate); + } affectedObjects.AddRange(UpdateObjectAndDependentData(objectToUpdate, objectToUpdateFrom)); } Index: Ringtoets/Common/test/Ringtoets.Common.Data.Test/StructureBaseTest.cs =================================================================== diff -u -r88d043d47b0976fe2e58c10babb5322b605b16da -r922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1 --- Ringtoets/Common/test/Ringtoets.Common.Data.Test/StructureBaseTest.cs (.../StructureBaseTest.cs) (revision 88d043d47b0976fe2e58c10babb5322b605b16da) +++ Ringtoets/Common/test/Ringtoets.Common.Data.Test/StructureBaseTest.cs (.../StructureBaseTest.cs) (revision 922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1) @@ -21,6 +21,7 @@ using System; using System.Collections.Generic; +using Core.Common.Base; using Core.Common.Base.Data; using Core.Common.Base.Geometry; using Core.Common.TestUtil; @@ -138,6 +139,8 @@ }); // Assert + Assert.IsInstanceOf(structure); + Assert.AreEqual("aName", structure.Name); Assert.AreEqual("anId", structure.Id); Assert.AreEqual(location.X, structure.Location.X); Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Plugin.Test/FileImporters/HeightStructureUpdateDataStrategyTest.cs =================================================================== diff -u -r6077633f3df6394b0af989aaa1d252773fdff297 -r922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1 --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Plugin.Test/FileImporters/HeightStructureUpdateDataStrategyTest.cs (.../HeightStructureUpdateDataStrategyTest.cs) (revision 6077633f3df6394b0af989aaa1d252773fdff297) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Plugin.Test/FileImporters/HeightStructureUpdateDataStrategyTest.cs (.../HeightStructureUpdateDataStrategyTest.cs) (revision 922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1) @@ -253,9 +253,10 @@ // Assert AssertHeightStructures(readStructure, structure); - CollectionAssert.AreEqual(new[] + CollectionAssert.AreEqual(new IObservable[] { - targetCollection + targetCollection, + structure }, affectedObjects); } @@ -306,6 +307,7 @@ CollectionAssert.AreEqual(new IObservable[] { failureMechanism.HeightStructures, + structure, calculation.InputParameters, calculation }, affectedObjects); @@ -382,6 +384,7 @@ CollectionAssert.AreEquivalent(new IObservable[] { + affectedStructure, affectedCalculation, affectedCalculation.InputParameters, targetDataCollection @@ -434,6 +437,7 @@ // Assert CollectionAssert.AreEquivalent(new IObservable[] { + affectedStructure, structures, affectedCalculation, affectedCalculation.InputParameters @@ -510,6 +514,7 @@ CollectionAssert.AreEqual(new IObservable[] { failureMechanism.HeightStructures, + structure, calculation.InputParameters, sectionResults[0], sectionResults[1] Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/FileImporters/ForeshoreProfileUpdateDataStrategy.cs =================================================================== diff -u -r474b2334202ee2bfbe8df476845bd7e2fca01803 -r922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1 --- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/FileImporters/ForeshoreProfileUpdateDataStrategy.cs (.../ForeshoreProfileUpdateDataStrategy.cs) (revision 474b2334202ee2bfbe8df476845bd7e2fca01803) +++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/FileImporters/ForeshoreProfileUpdateDataStrategy.cs (.../ForeshoreProfileUpdateDataStrategy.cs) (revision 922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1) @@ -62,7 +62,6 @@ if (!objectToUpdate.Equals(objectToUpdateFrom)) { objectToUpdate.CopyProperties(objectToUpdateFrom); - affectedObjects.Add(objectToUpdate); IEnumerable> affectedCalculations = GetAffectedCalculationWithSurfaceLines(objectToUpdate); Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/RingtoetsPipingSurfaceLineUpdateDataStrategy.cs =================================================================== diff -u -r9da080f738eb93fe40ed2a855753ea9c455063bc -r922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/RingtoetsPipingSurfaceLineUpdateDataStrategy.cs (.../RingtoetsPipingSurfaceLineUpdateDataStrategy.cs) (revision 9da080f738eb93fe40ed2a855753ea9c455063bc) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/RingtoetsPipingSurfaceLineUpdateDataStrategy.cs (.../RingtoetsPipingSurfaceLineUpdateDataStrategy.cs) (revision 922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1) @@ -100,10 +100,7 @@ { IEnumerable affectedCalculations = GetAffectedCalculationWithSurfaceLine(surfaceLine); - var affectedObjects = new List - { - surfaceLine - }; + var affectedObjects = new List(); foreach (PipingCalculation affectedCalculation in affectedCalculations) { affectedObjects.AddRange(RingtoetsCommonDataSynchronizationService.ClearCalculationOutput(affectedCalculation)); Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelUpdateDataStrategy.cs =================================================================== diff -u -r50597fbeb76b752bc250107dfa91b696bb6c4995 -r922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelUpdateDataStrategy.cs (.../StochasticSoilModelUpdateDataStrategy.cs) (revision 50597fbeb76b752bc250107dfa91b696bb6c4995) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelUpdateDataStrategy.cs (.../StochasticSoilModelUpdateDataStrategy.cs) (revision 922d8c8ebb07e20fb0fe567d65f7d2df2bd224c1) @@ -97,10 +97,7 @@ StochasticSoilModelProfileDifference difference = modelToUpdate.Update(modelToUpdateFrom); - var affectedObjects = new List - { - modelToUpdate - }; + var affectedObjects = new List(); foreach (StochasticSoilProfile removedProfile in difference.RemovedProfiles) { affectedObjects.AddRange(PipingDataSynchronizationService.RemoveStochasticSoilProfileFromInput(FailureMechanism, removedProfile));