Index: Ringtoets/Common/src/Ringtoets.Common.Data/UpdateDataStrategies/UpdateDataStrategyBase.cs =================================================================== diff -u -r4e8fa8a9a88207029ec813bcf15f1eff9e0ab118 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/Common/src/Ringtoets.Common.Data/UpdateDataStrategies/UpdateDataStrategyBase.cs (.../UpdateDataStrategyBase.cs) (revision 4e8fa8a9a88207029ec813bcf15f1eff9e0ab118) +++ Ringtoets/Common/src/Ringtoets.Common.Data/UpdateDataStrategies/UpdateDataStrategyBase.cs (.../UpdateDataStrategyBase.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -46,14 +46,19 @@ { protected readonly TFailureMechanism FailureMechanism; private readonly IEqualityComparer equalityComparer; + private ObservableUniqueItemCollectionWithSourcePath targetCollection; /// /// Creates a new instance of object. /// /// The failure mechanism which needs to be updated. + /// The collection to add the updated objects to. /// The comparer which should be used to determine when two objects are equal. /// Thrown when any input parameter is null. - protected UpdateDataStrategyBase(TFailureMechanism failureMechanism, IEqualityComparer equalityComparer) + protected UpdateDataStrategyBase( + TFailureMechanism failureMechanism, + ObservableUniqueItemCollectionWithSourcePath targetCollection, + IEqualityComparer equalityComparer) { if (failureMechanism == null) { @@ -63,8 +68,13 @@ { throw new ArgumentNullException(nameof(equalityComparer)); } + if (targetCollection == null) + { + throw new ArgumentNullException(nameof(targetCollection)); + } this.equalityComparer = equalityComparer; + this.targetCollection = targetCollection; FailureMechanism = failureMechanism; } @@ -89,22 +99,16 @@ /// Updates the items and their associated data within the target collection with the data contained /// in the imported data collection. /// - /// The target collection that needs to be updated. /// The imported data collection that is used to update - /// the . + /// the . /// The source file path. /// A of affected objects. /// Thrown when an error occurred while updating the data. /// Thrown when contains /// null elements. - protected IEnumerable UpdateTargetCollectionData(ObservableUniqueItemCollectionWithSourcePath targetDataCollection, - IEnumerable importedDataCollection, + protected IEnumerable UpdateTargetCollectionData(IEnumerable importedDataCollection, string sourceFilePath) { - if (targetDataCollection == null) - { - throw new ArgumentNullException(nameof(targetDataCollection)); - } if (importedDataCollection == null) { throw new ArgumentNullException(nameof(importedDataCollection)); @@ -113,47 +117,44 @@ { throw new ArgumentNullException(nameof(sourceFilePath)); } - - return ModifyDataCollection(targetDataCollection, importedDataCollection, sourceFilePath); + return ModifyDataCollection(importedDataCollection, sourceFilePath); } /// /// Identifies which items were changed, removed and added to the target collection /// when compared with the imported data and performs the necessary operations for /// the dependent data of the affected elements. /// - /// The target data collection which needs to be updated. /// The imported data collection which is used to update - /// the . + /// the . /// The source file path. /// A with affected objects. /// Thrown when: /// - /// duplicate items are being added to the . + /// duplicate items are being added to the . /// duplicate items are found in the . /// /// - /// Thrown when either - /// or is null. + /// Thrown when + /// is null. /// Thrown when contains /// null elements. - private IEnumerable ModifyDataCollection(ObservableUniqueItemCollectionWithSourcePath targetDataCollection, - IEnumerable importedDataCollection, + private IEnumerable ModifyDataCollection(IEnumerable importedDataCollection, string sourceFilePath) { TTargetData[] importedObjects = importedDataCollection.ToArray(); - var modification = new CollectionModification(targetDataCollection, importedObjects, equalityComparer); + var modification = new CollectionModification(targetCollection, importedObjects, equalityComparer); var affectedObjects = new List(); if (modification.HasUpdates()) { - affectedObjects.Add(targetDataCollection); + affectedObjects.Add(targetCollection); } affectedObjects.AddRange(UpdateData(modification.ObjectsToBeUpdated.Values, importedObjects)); affectedObjects.AddRange(RemoveData(modification.ObjectsToBeRemoved)); - targetDataCollection.Clear(); - targetDataCollection.AddRange(modification.GetModifiedCollection(), sourceFilePath); + targetCollection.Clear(); + targetCollection.AddRange(modification.GetModifiedCollection(), sourceFilePath); return affectedObjects.Distinct(new ReferenceEqualityComparer()); } Index: Ringtoets/Common/test/Ringtoets.Common.Data.Test/UpdateDataStrategies/UpdateDataStrategyBaseTest.cs =================================================================== diff -u -r89541dc8ef2d8b38372169ddecc0b37e9b225f6d -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/Common/test/Ringtoets.Common.Data.Test/UpdateDataStrategies/UpdateDataStrategyBaseTest.cs (.../UpdateDataStrategyBaseTest.cs) (revision 89541dc8ef2d8b38372169ddecc0b37e9b225f6d) +++ Ringtoets/Common/test/Ringtoets.Common.Data.Test/UpdateDataStrategies/UpdateDataStrategyBaseTest.cs (.../UpdateDataStrategyBaseTest.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -36,56 +36,53 @@ private const string sourceFilePath = "path"; [Test] - public void DefaultConstructor_FailureMechanismNull_ThrowsArgumentNullException() + public void Constructor_FailureMechanismNull_ThrowsArgumentNullException() { // Call - TestDelegate call = () => new TestUpdateDataStrategy(null); + TestDelegate call = () => new TestUpdateDataStrategy(null, new NameComparer(), new TestUniqueItemCollection()); // Assert string paramName = Assert.Throws(call).ParamName; Assert.AreEqual("failureMechanism", paramName); } [Test] - public void DefaultConstructor_EqualityComparerNull_ThrowsArgumentNullException() + public void Constructor_EqualityComparerNull_ThrowsArgumentNullException() { // Call - TestDelegate call = () => new TestUpdateDataStrategy(new TestFailureMechanism(), null); + TestDelegate call = () => new TestUpdateDataStrategy(new TestFailureMechanism(), null, new TestUniqueItemCollection()); // Assert string paramName = Assert.Throws(call).ParamName; Assert.AreEqual("equalityComparer", paramName); } [Test] - public void DefaultConstructor_FailureMechanismNotNull_DoesNotThrowException() + public void Constructor_TargetCollectionNull_ThrowsArgumentNullException() { // Call - TestDelegate call = () => new TestUpdateDataStrategy(new TestFailureMechanism()); + TestDelegate call = () => new TestUpdateDataStrategy(new TestFailureMechanism(), new NameComparer(), null); // Assert - Assert.DoesNotThrow(call); + string paramName = Assert.Throws(call).ParamName; + Assert.AreEqual("targetCollection", paramName); } [Test] - public void UpdateTargetCollectionData_TargetCollectionNull_ThrowsArgumentNullException() + public void Constructor_ParametersSet_DoesNotThrowException() { - // Setup - var strategy = new TestUpdateDataStrategy(new TestFailureMechanism()); - // Call - TestDelegate call = () => strategy.ConcreteUpdateData(null, Enumerable.Empty(), string.Empty); + TestDelegate call = () => new TestUpdateDataStrategy(new TestFailureMechanism(), new NameComparer(), new TestUniqueItemCollection()); // Assert - string paramName = Assert.Throws(call).ParamName; - Assert.AreEqual("targetDataCollection", paramName); + Assert.DoesNotThrow(call); } [Test] public void UpdateTargetCollectionData_ImportedDataCollectionNull_ThrowsArgumentNullException() { // Setup - var strategy = new TestUpdateDataStrategy(new TestFailureMechanism()); + var strategy = CreateDefaultTestStrategy(new TestUniqueItemCollection()); // Call TestDelegate call = () => strategy.ConcreteUpdateData(new TestUniqueItemCollection(), null, string.Empty); @@ -99,7 +96,7 @@ public void UpdateTargetCollectionData_ImportedDataCollectionContainsNullElement_ThrowsArgumentException() { // Setup - var strategy = new TestUpdateDataStrategy(new TestFailureMechanism()); + var strategy = CreateDefaultTestStrategy(new TestUniqueItemCollection()); // Call TestDelegate call = () => strategy.ConcreteUpdateData(new TestUniqueItemCollection(), new TestItem[] @@ -116,8 +113,8 @@ public void UpdateTargetCollectionData_SourceFilePathNull_ThrowsArgumentNullException() { // Setup - var strategy = new TestUpdateDataStrategy(new TestFailureMechanism()); var collection = new TestUniqueItemCollection(); + var strategy = CreateDefaultTestStrategy(collection); // Call TestDelegate call = () => strategy.ConcreteUpdateData(collection, Enumerable.Empty(), null); @@ -134,7 +131,7 @@ var collection = new TestUniqueItemCollection(); const string filePath = "path"; - var strategy = new TestUpdateDataStrategy(new TestFailureMechanism()); + var strategy = CreateDefaultTestStrategy(collection); // Call IEnumerable affectedObjects = strategy.ConcreteUpdateData(collection, Enumerable.Empty(), filePath); @@ -161,10 +158,8 @@ }; collection.AddRange(itemsRemoved, filePath); - var strategy = new TestUpdateDataStrategy(new TestFailureMechanism()) - { - ItemsToRemove = itemsRemoved - }; + var strategy = CreateDefaultTestStrategy(collection); + strategy.ItemsToRemove = itemsRemoved; // Call IEnumerable affectedObjects = strategy.ConcreteUpdateData(collection, Enumerable.Empty(), filePath); @@ -202,7 +197,7 @@ new TestItem("Name B") }; - var strategy = new TestUpdateDataStrategy(new TestFailureMechanism()); + var strategy = CreateDefaultTestStrategy(collection); // Call IEnumerable affectedObjects = strategy.ConcreteUpdateData(collection, importedItems, sourceFilePath); @@ -239,7 +234,7 @@ new TestItem(duplicateName) }; - var strategy = new TestUpdateDataStrategy(new TestFailureMechanism()); + var strategy = CreateDefaultTestStrategy(collection); // Call TestDelegate call = () => strategy.ConcreteUpdateData(collection, importedCollection, sourceFilePath); @@ -276,10 +271,8 @@ currentCollection[1].DeepClone() }; - var strategy = new TestUpdateDataStrategy(new TestFailureMechanism()) - { - ItemsToUpdate = currentCollection - }; + var strategy = CreateDefaultTestStrategy(collection); + strategy.ItemsToUpdate = currentCollection; // Call IEnumerable affectedObjects = strategy.ConcreteUpdateData(collection, @@ -323,10 +316,8 @@ currentCollection[1].DeepClone() }; - var strategy = new TestUpdateDataStrategy(new TestFailureMechanism()) - { - ItemsToUpdate = currentCollection - }; + var strategy = CreateDefaultTestStrategy(collection); + strategy.ItemsToUpdate = currentCollection; const string newSourceFilePath = "Something/Different/From/Onbekend"; @@ -367,17 +358,15 @@ itemToAdd }; - var strategy = new TestUpdateDataStrategy(new TestFailureMechanism()) + var strategy = CreateDefaultTestStrategy(collection); + strategy.ItemsToUpdate = new[] { - ItemsToUpdate = new[] - { - itemToUpdate - }, - ItemsToRemove = new[] - { - itemToRemove - } + itemToUpdate }; + strategy.ItemsToRemove = new[] + { + itemToRemove + }; // Call IEnumerable affectedObjects = strategy.ConcreteUpdateData(collection, @@ -427,10 +416,8 @@ new TestItem("Item four") }; - var strategy = new TestUpdateDataStrategy(new TestFailureMechanism()) - { - ItemsToRemove = currentCollection - }; + var strategy = CreateDefaultTestStrategy(collection); + strategy.ItemsToRemove = currentCollection; // Call IEnumerable affectedObjects = strategy.ConcreteUpdateData(collection, @@ -479,7 +466,7 @@ new TestItem("Item one") }; - var strategy = new TestUpdateDataStrategy(new TestFailureMechanism()); + var strategy = CreateDefaultTestStrategy(collection); // Call strategy.ConcreteUpdateData(collection, @@ -509,7 +496,7 @@ new TestItem("Item one") }; - var strategy = new TestUpdateDataStrategy(new TestFailureMechanism()); + var strategy = CreateDefaultTestStrategy(collection); // Call strategy.ConcreteUpdateData(collection, @@ -538,7 +525,7 @@ new TestItem(name) }; - var strategy = new TestUpdateDataStrategy(new TestFailureMechanism()); + var strategy = CreateDefaultTestStrategy(collection); // Call TestDelegate call = () => strategy.ConcreteUpdateData(collection, @@ -568,12 +555,10 @@ itemTwo }; - var strategy = new TestUpdateDataStrategy(new TestFailureMechanism()) - { - ItemsToUpdate = currentCollection, - ItemsToUpdateFrom = importedItems, - AddObjectToUpdateToAffectedItems = true - }; + var strategy = CreateDefaultTestStrategy(collection); + strategy.ItemsToUpdate = currentCollection; + strategy.ItemsToUpdateFrom = importedItems; + strategy.AddObjectToUpdateToAffectedItems = true; // Call IEnumerable affectedObjects = strategy.ConcreteUpdateData(collection, @@ -590,16 +575,18 @@ CollectionAssert.AreEqual(expectedAffectedObjects, affectedObjects); } + private TestUpdateDataStrategy CreateDefaultTestStrategy(ObservableUniqueItemCollectionWithSourcePath targetCollection) + { + return new TestUpdateDataStrategy(new TestFailureMechanism(), new NameComparer(), targetCollection); + } + private class TestUpdateDataStrategy : UpdateDataStrategyBase { public bool AddObjectToUpdateToAffectedItems; - public TestUpdateDataStrategy(TestFailureMechanism failureMechanism, IEqualityComparer comparer) - : base(failureMechanism, comparer) {} + public TestUpdateDataStrategy(TestFailureMechanism failureMechanism, IEqualityComparer comparer, ObservableUniqueItemCollectionWithSourcePath targetCollection) + : base(failureMechanism, targetCollection, comparer) {} - public TestUpdateDataStrategy(TestFailureMechanism failureMechanism) - : base(failureMechanism, new NameComparer()) {} - public bool IsUpdateDataCalled { get; private set; } public bool IsRemoveObjectAndDependentDataCalled { get; private set; } @@ -621,7 +608,7 @@ IEnumerable importedDataCollection, string sourceFilePath) { - return UpdateTargetCollectionData(targetCollection, importedDataCollection, sourceFilePath); + return UpdateTargetCollectionData(importedDataCollection, sourceFilePath); } protected override IEnumerable UpdateObjectAndDependentData(TestItem objectToUpdate, TestItem objectToUpdateFrom) @@ -645,18 +632,18 @@ return ItemsToRemove; } + } - private class NameComparer : IEqualityComparer + private class NameComparer : IEqualityComparer + { + public bool Equals(TestItem x, TestItem y) { - public bool Equals(TestItem x, TestItem y) - { - return x.Name == y.Name; - } + return x.Name == y.Name; + } - public int GetHashCode(TestItem obj) - { - return obj.Name.GetHashCode(); - } + public int GetHashCode(TestItem obj) + { + return obj.Name.GetHashCode(); } } Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Importers/IStochasticSoilModelUpdateModelStrategy.cs =================================================================== diff -u -r650fc7b43cb6729baee51d079f0377df8d7a3de9 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Importers/IStochasticSoilModelUpdateModelStrategy.cs (.../IStochasticSoilModelUpdateModelStrategy.cs) (revision 650fc7b43cb6729baee51d079f0377df8d7a3de9) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Importers/IStochasticSoilModelUpdateModelStrategy.cs (.../IStochasticSoilModelUpdateModelStrategy.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -34,20 +34,15 @@ public interface IStochasticSoilModelUpdateModelStrategy { /// - /// Adds the imported data to the . + /// Updates the surface lines using the . /// - /// The to which the imported data - /// is added. - /// The stochastic soil models which were imported. + /// The stochastic soil models which were imported. /// The path to the source file from which the soil models were imported. /// Thrown when any parameter is null. /// Thrown when applying the strategy failed. /// is set with the more detailed /// exception. /// A of updated instances. - IEnumerable UpdateModelWithImportedData( - StochasticSoilModelCollection targetDataCollection, - IEnumerable readStochasticSoilModels, - string sourceFilePath); + IEnumerable UpdateModelWithImportedData(IEnumerable stochasticSoilModels, string sourceFilePath); } } \ No newline at end of file Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Importers/ISurfaceLineUpdateDataStrategy.cs =================================================================== diff -u -r650fc7b43cb6729baee51d079f0377df8d7a3de9 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Importers/ISurfaceLineUpdateDataStrategy.cs (.../ISurfaceLineUpdateDataStrategy.cs) (revision 650fc7b43cb6729baee51d079f0377df8d7a3de9) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Importers/ISurfaceLineUpdateDataStrategy.cs (.../ISurfaceLineUpdateDataStrategy.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -23,7 +23,6 @@ using System.Collections.Generic; using Core.Common.Base; using Ringtoets.Common.Data.Exceptions; -using Ringtoets.MacroStabilityInwards.Data; using Ringtoets.MacroStabilityInwards.Primitives; namespace Ringtoets.MacroStabilityInwards.IO.Importers @@ -35,19 +34,15 @@ public interface ISurfaceLineUpdateDataStrategy { /// - /// Adds the imported data to the . + /// Updates the surface lines using the . /// - /// The target collection which needs to be updated. - /// The imported surface lines. + /// The imported surface lines. /// The source path from where the surface lines were imported from. /// An of updated instances. /// Thrown when any of the input parameters is null. /// Thrown when applying the strategy has failed. The /// is set with a more detailed explanation /// of why the exception occurs. - IEnumerable UpdateSurfaceLinesWithImportedData( - RingtoetsMacroStabilityInwardsSurfaceLineCollection targetDataCollection, - IEnumerable readSurfaceLines, - string sourceFilePath); + IEnumerable UpdateSurfaceLinesWithImportedData(IEnumerable surfaceLines, string sourceFilePath); } } \ No newline at end of file Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Importers/StochasticSoilModelImporter.cs =================================================================== diff -u -r650fc7b43cb6729baee51d079f0377df8d7a3de9 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Importers/StochasticSoilModelImporter.cs (.../StochasticSoilModelImporter.cs) (revision 650fc7b43cb6729baee51d079f0377df8d7a3de9) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.IO/Importers/StochasticSoilModelImporter.cs (.../StochasticSoilModelImporter.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -113,7 +113,7 @@ try { - updatedInstances = modelUpdateStrategy.UpdateModelWithImportedData(ImportTarget, validStochasticSoilModels, FilePath); + updatedInstances = modelUpdateStrategy.UpdateModelWithImportedData(validStochasticSoilModels, FilePath); } catch (UpdateDataException e) { Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/FileImporter/MacroStabilityInwardsSurfaceLinesCsvImporter.cs =================================================================== diff -u -r650fc7b43cb6729baee51d079f0377df8d7a3de9 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/FileImporter/MacroStabilityInwardsSurfaceLinesCsvImporter.cs (.../MacroStabilityInwardsSurfaceLinesCsvImporter.cs) (revision 650fc7b43cb6729baee51d079f0377df8d7a3de9) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/FileImporter/MacroStabilityInwardsSurfaceLinesCsvImporter.cs (.../MacroStabilityInwardsSurfaceLinesCsvImporter.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -110,7 +110,7 @@ try { - updatedInstances = surfaceLineUpdateStrategy.UpdateSurfaceLinesWithImportedData(ImportTarget, importResults, FilePath); + updatedInstances = surfaceLineUpdateStrategy.UpdateSurfaceLinesWithImportedData(importResults, FilePath); } catch (UpdateDataException e) { Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/FileImporter/RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategy.cs =================================================================== diff -u -r650fc7b43cb6729baee51d079f0377df8d7a3de9 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/FileImporter/RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategy.cs (.../RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategy.cs) (revision 650fc7b43cb6729baee51d079f0377df8d7a3de9) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/FileImporter/RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategy.cs (.../RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategy.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -36,15 +36,19 @@ public class RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategy : ReplaceDataStrategyBase, ISurfaceLineUpdateDataStrategy { + private ObservableUniqueItemCollectionWithSourcePath targetDataCollection; + /// /// Creates a new instance of . /// /// The failure mechanism in which the surface lines are updated. /// Thrown when is null. - public RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategy(MacroStabilityInwardsFailureMechanism failureMechanism) : base(failureMechanism) {} + public RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategy(MacroStabilityInwardsFailureMechanism failureMechanism) : base(failureMechanism) + { + targetDataCollection = failureMechanism.SurfaceLines; + } - public IEnumerable UpdateSurfaceLinesWithImportedData(RingtoetsMacroStabilityInwardsSurfaceLineCollection targetDataCollection, - IEnumerable readSurfaceLines, + public IEnumerable UpdateSurfaceLinesWithImportedData(IEnumerable readSurfaceLines, string sourceFilePath) { return ReplaceTargetCollectionWithImportedData(targetDataCollection, readSurfaceLines, sourceFilePath); Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/FileImporter/RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy.cs =================================================================== diff -u -r650fc7b43cb6729baee51d079f0377df8d7a3de9 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/FileImporter/RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy.cs (.../RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy.cs) (revision 650fc7b43cb6729baee51d079f0377df8d7a3de9) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/FileImporter/RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy.cs (.../RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -45,13 +45,11 @@ /// The failure mechanism in which the surface lines are updated. /// Thrown when is null. public RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy(MacroStabilityInwardsFailureMechanism failureMechanism) - : base(failureMechanism, new RingtoetsMacroStabilityInwardsSurfaceLineNameEqualityComparer()) {} + : base(failureMechanism, failureMechanism?.SurfaceLines, new RingtoetsMacroStabilityInwardsSurfaceLineNameEqualityComparer()) {} - public IEnumerable UpdateSurfaceLinesWithImportedData(RingtoetsMacroStabilityInwardsSurfaceLineCollection targetDataCollection, - IEnumerable readSurfaceLines, - string sourceFilePath) + public IEnumerable UpdateSurfaceLinesWithImportedData(IEnumerable surfaceLines, string sourceFilePath) { - return UpdateTargetCollectionData(targetDataCollection, readSurfaceLines, sourceFilePath); + return UpdateTargetCollectionData(surfaceLines, sourceFilePath); } protected override IEnumerable RemoveObjectAndDependentData(RingtoetsMacroStabilityInwardsSurfaceLine removedSurfaceLine) Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/FileImporter/StochasticSoilModelReplaceDataStrategy.cs =================================================================== diff -u -r650fc7b43cb6729baee51d079f0377df8d7a3de9 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/FileImporter/StochasticSoilModelReplaceDataStrategy.cs (.../StochasticSoilModelReplaceDataStrategy.cs) (revision 650fc7b43cb6729baee51d079f0377df8d7a3de9) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/FileImporter/StochasticSoilModelReplaceDataStrategy.cs (.../StochasticSoilModelReplaceDataStrategy.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -36,18 +36,21 @@ public class StochasticSoilModelReplaceDataStrategy : ReplaceDataStrategyBase, IStochasticSoilModelUpdateModelStrategy { + private ObservableUniqueItemCollectionWithSourcePath targetDataCollection; + /// /// Creates a new instance of . /// /// The failure mechanism in which the models are updated. /// Thrown when is null. - public StochasticSoilModelReplaceDataStrategy(MacroStabilityInwardsFailureMechanism failureMechanism) : base(failureMechanism) {} + public StochasticSoilModelReplaceDataStrategy(MacroStabilityInwardsFailureMechanism failureMechanism) : base(failureMechanism) + { + targetDataCollection = failureMechanism.StochasticSoilModels; + } - public IEnumerable UpdateModelWithImportedData(StochasticSoilModelCollection targetDataCollection, - IEnumerable readStochasticSoilModels, - string sourceFilePath) + public IEnumerable UpdateModelWithImportedData(IEnumerable stochasticSoilModels, string sourceFilePath) { - return ReplaceTargetCollectionWithImportedData(targetDataCollection, readStochasticSoilModels, sourceFilePath); + return ReplaceTargetCollectionWithImportedData(targetDataCollection, stochasticSoilModels, sourceFilePath); } protected override IEnumerable ClearData() Index: Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/FileImporter/StochasticSoilModelUpdateDataStrategy.cs =================================================================== diff -u -r650fc7b43cb6729baee51d079f0377df8d7a3de9 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/FileImporter/StochasticSoilModelUpdateDataStrategy.cs (.../StochasticSoilModelUpdateDataStrategy.cs) (revision 650fc7b43cb6729baee51d079f0377df8d7a3de9) +++ Ringtoets/MacroStabilityInwards/src/Ringtoets.MacroStabilityInwards.Plugin/FileImporter/StochasticSoilModelUpdateDataStrategy.cs (.../StochasticSoilModelUpdateDataStrategy.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -44,13 +44,11 @@ /// The failure mechanism in which the models are updated. /// Thrown when is null. public StochasticSoilModelUpdateDataStrategy(MacroStabilityInwardsFailureMechanism failureMechanism) - : base(failureMechanism, new SoilModelNameEqualityComparer()) {} + : base(failureMechanism, failureMechanism?.StochasticSoilModels, new SoilModelNameEqualityComparer()) {} - public IEnumerable UpdateModelWithImportedData(StochasticSoilModelCollection targetDataCollection, - IEnumerable readStochasticSoilModels, - string sourceFilePath) + public IEnumerable UpdateModelWithImportedData(IEnumerable stochasticSoilModels, string sourceFilePath) { - return UpdateTargetCollectionData(targetDataCollection, readStochasticSoilModels, sourceFilePath); + return UpdateTargetCollectionData(stochasticSoilModels, sourceFilePath); } #region Remove Data Functions Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Importers/StochasticSoilModelImporterTest.cs =================================================================== diff -u -r616d3ed2e3262894d16948262fa1b223d2bc806e -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Importers/StochasticSoilModelImporterTest.cs (.../StochasticSoilModelImporterTest.cs) (revision 616d3ed2e3262894d16948262fa1b223d2bc806e) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.Test/Importers/StochasticSoilModelImporterTest.cs (.../StochasticSoilModelImporterTest.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -979,9 +979,7 @@ .Return("error {0}"); var strategy = mocks.StrictMock(); - strategy.Expect(s => s.UpdateModelWithImportedData( - Arg.Is.Same(importTarget), - Arg.Is.NotNull, + strategy.Expect(s => s.UpdateModelWithImportedData(Arg.Is.NotNull, Arg.Is.Same(filePath) )).Throw(new UpdateDataException("Exception message")); mocks.ReplayAll(); Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.TestUtil.Test/TestStochasticSoilModelUpdateModelStrategyTest.cs =================================================================== diff -u -r650fc7b43cb6729baee51d079f0377df8d7a3de9 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.TestUtil.Test/TestStochasticSoilModelUpdateModelStrategyTest.cs (.../TestStochasticSoilModelUpdateModelStrategyTest.cs) (revision 650fc7b43cb6729baee51d079f0377df8d7a3de9) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.TestUtil.Test/TestStochasticSoilModelUpdateModelStrategyTest.cs (.../TestStochasticSoilModelUpdateModelStrategyTest.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -57,7 +57,7 @@ var filePath = new string('x', new Random(21).Next(5, 23)); // Call - strategy.UpdateModelWithImportedData(null, readModels, filePath); + strategy.UpdateModelWithImportedData(readModels, filePath); // Assert Assert.IsTrue(strategy.Updated); @@ -78,7 +78,7 @@ strategy.UpdatedInstances = updatedInstances; // Call - IEnumerable updatedData = strategy.UpdateModelWithImportedData(null, readModels, filePath); + IEnumerable updatedData = strategy.UpdateModelWithImportedData(readModels, filePath); // Assert Assert.AreSame(updatedInstances, updatedData); Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.TestUtil/TestStochasticSoilModelUpdateModelStrategy.cs =================================================================== diff -u -r650fc7b43cb6729baee51d079f0377df8d7a3de9 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.TestUtil/TestStochasticSoilModelUpdateModelStrategy.cs (.../TestStochasticSoilModelUpdateModelStrategy.cs) (revision 650fc7b43cb6729baee51d079f0377df8d7a3de9) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.IO.TestUtil/TestStochasticSoilModelUpdateModelStrategy.cs (.../TestStochasticSoilModelUpdateModelStrategy.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -54,12 +54,10 @@ /// public IEnumerable UpdatedInstances { get; set; } = Enumerable.Empty(); - public IEnumerable UpdateModelWithImportedData(StochasticSoilModelCollection targetDataCollection, - IEnumerable readStochasticSoilModels, - string sourceFilePath) + public IEnumerable UpdateModelWithImportedData(IEnumerable stochasticSoilModels, string sourceFilePath) { Updated = true; - EvaluateGetValidStochasticSoilModelsMethod(readStochasticSoilModels); + EvaluateGetValidStochasticSoilModelsMethod(stochasticSoilModels); FilePath = sourceFilePath; return UpdatedInstances; Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/FileImporter/MacroStabilityInwardsSurfaceLinesCsvImporterTest.cs =================================================================== diff -u -r616d3ed2e3262894d16948262fa1b223d2bc806e -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/FileImporter/MacroStabilityInwardsSurfaceLinesCsvImporterTest.cs (.../MacroStabilityInwardsSurfaceLinesCsvImporterTest.cs) (revision 616d3ed2e3262894d16948262fa1b223d2bc806e) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/FileImporter/MacroStabilityInwardsSurfaceLinesCsvImporterTest.cs (.../MacroStabilityInwardsSurfaceLinesCsvImporterTest.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -987,9 +987,7 @@ .Return("error {0}"); var strategy = mocks.StrictMock(); - strategy.Expect(s => s.UpdateSurfaceLinesWithImportedData( - Arg.Is.Same(importTarget), - Arg.Is.NotNull, + strategy.Expect(s => s.UpdateSurfaceLinesWithImportedData(Arg.Is.NotNull, Arg.Is.Same(filePath) )).Throw(new UpdateDataException("Exception message")); mocks.ReplayAll(); @@ -1092,13 +1090,11 @@ public RingtoetsMacroStabilityInwardsSurfaceLine[] ReadSurfaceLines { get; private set; } public IEnumerable UpdatedInstances { private get; set; } = Enumerable.Empty(); - public IEnumerable UpdateSurfaceLinesWithImportedData(RingtoetsMacroStabilityInwardsSurfaceLineCollection targetDataCollection, - IEnumerable readSurfaceLines, - string sourceFilePath) + public IEnumerable UpdateSurfaceLinesWithImportedData(IEnumerable surfaceLines, string sourceFilePath) { Updated = true; FilePath = sourceFilePath; - ReadSurfaceLines = readSurfaceLines.ToArray(); + ReadSurfaceLines = surfaceLines.ToArray(); return UpdatedInstances; } } Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/FileImporter/RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategyTest.cs =================================================================== diff -u -r650fc7b43cb6729baee51d079f0377df8d7a3de9 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/FileImporter/RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategyTest.cs (.../RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategyTest.cs) (revision 650fc7b43cb6729baee51d079f0377df8d7a3de9) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/FileImporter/RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategyTest.cs (.../RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategyTest.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -62,28 +62,13 @@ } [Test] - public void UpdateSurfaceLinesWithImportedData_TargetCollectionNull_ThrowsArgumentNullException() - { - // Setup - var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategy(new MacroStabilityInwardsFailureMechanism()); - - // Call - TestDelegate test = () => strategy.UpdateSurfaceLinesWithImportedData(null, Enumerable.Empty(), string.Empty); - - // Assert - string paramName = Assert.Throws(test).ParamName; - Assert.AreEqual("targetDataCollection", paramName); - } - - [Test] public void UpdateSurfaceLinesWithImportedData_ReadSurfaceLinesNull_ThrowsArgumentNullException() { // Setup var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategy(new MacroStabilityInwardsFailureMechanism()); // Call - TestDelegate test = () => strategy.UpdateSurfaceLinesWithImportedData(new RingtoetsMacroStabilityInwardsSurfaceLineCollection(), - null, + TestDelegate test = () => strategy.UpdateSurfaceLinesWithImportedData(null, string.Empty); // Assert @@ -98,8 +83,7 @@ var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategy(new MacroStabilityInwardsFailureMechanism()); // Call - TestDelegate test = () => strategy.UpdateSurfaceLinesWithImportedData(new RingtoetsMacroStabilityInwardsSurfaceLineCollection(), - Enumerable.Empty(), + TestDelegate test = () => strategy.UpdateSurfaceLinesWithImportedData(Enumerable.Empty(), null); // Assert @@ -111,14 +95,13 @@ public void UpdateSurfaceLinesWithImportedData_DifferentSourcePath_UpdatesSourcePathOfTargetCollection() { // Setup - var targetCollection = new RingtoetsMacroStabilityInwardsSurfaceLineCollection(); - - var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategy(new MacroStabilityInwardsFailureMechanism()); + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + RingtoetsMacroStabilityInwardsSurfaceLineCollection targetCollection = failureMechanism.SurfaceLines; + var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategy(failureMechanism); const string newSourcePath = "some/other/path"; // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(targetCollection, - Enumerable.Empty(), + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(Enumerable.Empty(), newSourcePath); // Assert @@ -143,8 +126,7 @@ var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(failureMechanism.SurfaceLines, - importedSurfaceLines, + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(importedSurfaceLines, sourceFilePath); // Assert @@ -178,12 +160,10 @@ var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData( - failureMechanism.SurfaceLines, - new[] - { - readSurfaceLine - }, sourceFilePath); + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(new[] + { + readSurfaceLine + }, sourceFilePath); // Assert CollectionAssert.AreEqual(new[] @@ -228,9 +208,7 @@ var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData( - failureMechanism.SurfaceLines, - Enumerable.Empty(), + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(Enumerable.Empty(), sourceFilePath).ToArray(); // Assert @@ -266,8 +244,7 @@ var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineReplaceDataStrategy(new MacroStabilityInwardsFailureMechanism()); // Call - TestDelegate call = () => strategy.UpdateSurfaceLinesWithImportedData(targetCollection, - importedSurfaceLines, + TestDelegate call = () => strategy.UpdateSurfaceLinesWithImportedData(importedSurfaceLines, sourceFilePath); // Assert Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/FileImporter/RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategyTest.cs =================================================================== diff -u -r07783a47e1cfb0bd793eaba29c7567cb17e0b367 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/FileImporter/RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategyTest.cs (.../RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategyTest.cs) (revision 07783a47e1cfb0bd793eaba29c7567cb17e0b367) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/FileImporter/RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategyTest.cs (.../RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategyTest.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -64,28 +64,13 @@ } [Test] - public void UpdateSurfaceLinesWithImportedData_TargetCollectionNull_ThrowsArgumentNullException() - { - // Setup - var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy(new MacroStabilityInwardsFailureMechanism()); - - // Call - TestDelegate test = () => strategy.UpdateSurfaceLinesWithImportedData(null, Enumerable.Empty(), string.Empty); - - // Assert - string paramName = Assert.Throws(test).ParamName; - Assert.AreEqual("targetDataCollection", paramName); - } - - [Test] public void UpdateSurfaceLinesWithImportedData_ReadSurfaceLinesNull_ThrowsArgumentNullException() { // Setup var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy(new MacroStabilityInwardsFailureMechanism()); // Call - TestDelegate test = () => strategy.UpdateSurfaceLinesWithImportedData(new RingtoetsMacroStabilityInwardsSurfaceLineCollection(), - null, + TestDelegate test = () => strategy.UpdateSurfaceLinesWithImportedData(null, string.Empty); // Assert @@ -100,8 +85,7 @@ var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy(new MacroStabilityInwardsFailureMechanism()); // Call - TestDelegate test = () => strategy.UpdateSurfaceLinesWithImportedData(new RingtoetsMacroStabilityInwardsSurfaceLineCollection(), - Enumerable.Empty(), + TestDelegate test = () => strategy.UpdateSurfaceLinesWithImportedData(Enumerable.Empty(), null); // Assert @@ -125,16 +109,16 @@ expectedGeometry.AddRange(surfaceLine.Points); surfaceLineToUpdateFrom.SetGeometry(expectedGeometry); - var targetCollection = new RingtoetsMacroStabilityInwardsSurfaceLineCollection(); + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + RingtoetsMacroStabilityInwardsSurfaceLineCollection targetCollection = failureMechanism.SurfaceLines; targetCollection.AddRange(new[] { surfaceLine }, sourceFilePath); - var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy(new MacroStabilityInwardsFailureMechanism()); + var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy(failureMechanism); // Call - strategy.UpdateSurfaceLinesWithImportedData(targetCollection, - new[] + strategy.UpdateSurfaceLinesWithImportedData(new[] { surfaceLineToUpdateFrom }, @@ -178,8 +162,7 @@ var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy(new MacroStabilityInwardsFailureMechanism()); // Call - TestDelegate call = () => strategy.UpdateSurfaceLinesWithImportedData(targetCollection, - importedSurfaceLines, + TestDelegate call = () => strategy.UpdateSurfaceLinesWithImportedData(importedSurfaceLines, sourceFilePath); // Assert @@ -231,8 +214,7 @@ var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy(new MacroStabilityInwardsFailureMechanism()); // Call - TestDelegate call = () => strategy.UpdateSurfaceLinesWithImportedData(targetCollection, - importedSurfaceLines, + TestDelegate call = () => strategy.UpdateSurfaceLinesWithImportedData(importedSurfaceLines, sourceFilePath); // Assert @@ -250,12 +232,12 @@ public void UpdateSurfaceLinesWithImportedData_WithCurrentCollectionNotEmptyAndImportedDataHasFullOverlap_UpdatesTargetCollection() { // Setup + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + const string collectionSurfaceLineName = "Name A"; - var targetSurfaceLine = new RingtoetsMacroStabilityInwardsSurfaceLine - { - Name = collectionSurfaceLineName - }; - var targetCollection = new RingtoetsMacroStabilityInwardsSurfaceLineCollection(); + var targetSurfaceLine = new RingtoetsMacroStabilityInwardsSurfaceLine(); + targetSurfaceLine.Name = collectionSurfaceLineName; + RingtoetsMacroStabilityInwardsSurfaceLineCollection targetCollection = failureMechanism.SurfaceLines; targetCollection.AddRange(new[] { targetSurfaceLine @@ -267,11 +249,10 @@ readSurfaceLine }; - var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy(new MacroStabilityInwardsFailureMechanism()); + var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(targetCollection, - readSurfacelines, + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(readSurfacelines, sourceFilePath); // Assert @@ -316,8 +297,7 @@ var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(surfaceLineCollection, - readSurfacelines, + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(readSurfacelines, sourceFilePath); // Assert @@ -370,8 +350,7 @@ var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(surfaceLineCollection, - readSurfacelines, + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(readSurfacelines, sourceFilePath); // Assert @@ -423,8 +402,7 @@ var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(surfaceLineCollection, - Enumerable.Empty(), + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(Enumerable.Empty(), sourceFilePath).ToArray(); // Assert @@ -484,14 +462,14 @@ SemiProbabilisticOutput = new TestMacroStabilityInwardsSemiProbabilisticOutput() }; - var collection = new RingtoetsMacroStabilityInwardsSurfaceLineCollection(); + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + RingtoetsMacroStabilityInwardsSurfaceLineCollection collection = failureMechanism.SurfaceLines; collection.AddRange(new[] { affectedSurfaceLine, unaffectedSurfaceLine }, sourceFilePath); - var failureMechanism = new MacroStabilityInwardsFailureMechanism(); failureMechanism.CalculationsGroup.Children.Add(affectedCalculation); failureMechanism.CalculationsGroup.Children.Add(unAffectedCalculation); @@ -502,12 +480,11 @@ var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(collection, - new[] - { - importedAffectedSurfaceLine, - importedUnaffectedSurfaceLine - }, "path").ToArray(); + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(new[] + { + importedAffectedSurfaceLine, + importedUnaffectedSurfaceLine + }, "path").ToArray(); // Assert Assert.IsTrue(unAffectedCalculation.HasOutput); @@ -591,11 +568,10 @@ var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(collection, - new[] - { - importedUnaffectedSurfaceLine - }, "path").ToArray(); + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(new[] + { + importedUnaffectedSurfaceLine + }, "path").ToArray(); // Assert Assert.IsTrue(unAffectedCalculation.HasOutput); @@ -674,11 +650,10 @@ var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(failureMechanism.SurfaceLines, - new[] - { - importedSurfaceLine - }, "path").ToArray(); + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(new[] + { + importedSurfaceLine + }, "path").ToArray(); // Assert MacroStabilityInwardsInput calculationInput = calculation.InputParameters; @@ -765,11 +740,10 @@ var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(failureMechanism.SurfaceLines, - new[] - { - importedSurfaceLine - }, "path").ToArray(); + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(new[] + { + importedSurfaceLine + }, "path").ToArray(); // Assert MacroStabilityInwardsInput calculationInput = calculation.InputParameters; @@ -826,8 +800,7 @@ var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(failureMechanism.SurfaceLines, - Enumerable.Empty(), + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(Enumerable.Empty(), "path").ToArray(); // Assert @@ -879,8 +852,7 @@ var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(failureMechanism.SurfaceLines, - Enumerable.Empty(), + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(Enumerable.Empty(), "path").ToArray(); // Assert @@ -981,11 +953,10 @@ var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(failureMechanism.SurfaceLines, - new[] - { - importedSurfaceLine - }, "path").ToArray(); + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(new[] + { + importedSurfaceLine + }, "path").ToArray(); // Assert MacroStabilityInwardsInput affectedInput = affectedCalculation.InputParameters; @@ -1043,11 +1014,10 @@ var strategy = new RingtoetsMacroStabilityInwardsSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(failureMechanism.SurfaceLines, - new[] - { - importedSurfaceLine - }, "path").ToArray(); + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(new[] + { + importedSurfaceLine + }, "path").ToArray(); // Assert CollectionAssert.AreEquivalent(new IObservable[] Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/FileImporter/StochasticSoilModelReplaceDataStrategyTest.cs =================================================================== diff -u -r650fc7b43cb6729baee51d079f0377df8d7a3de9 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/FileImporter/StochasticSoilModelReplaceDataStrategyTest.cs (.../StochasticSoilModelReplaceDataStrategyTest.cs) (revision 650fc7b43cb6729baee51d079f0377df8d7a3de9) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/FileImporter/StochasticSoilModelReplaceDataStrategyTest.cs (.../StochasticSoilModelReplaceDataStrategyTest.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -67,7 +67,7 @@ var strategy = new StochasticSoilModelReplaceDataStrategy(new MacroStabilityInwardsFailureMechanism()); // Call - TestDelegate test = () => strategy.UpdateModelWithImportedData(new StochasticSoilModelCollection(), null, string.Empty); + TestDelegate test = () => strategy.UpdateModelWithImportedData(null, string.Empty); // Assert string paramName = Assert.Throws(test).ParamName; @@ -81,28 +81,14 @@ var strategy = new StochasticSoilModelReplaceDataStrategy(new MacroStabilityInwardsFailureMechanism()); // Call - TestDelegate test = () => strategy.UpdateModelWithImportedData(new StochasticSoilModelCollection(), new List(), null); + TestDelegate test = () => strategy.UpdateModelWithImportedData(new List(), null); // Assert string paramName = Assert.Throws(test).ParamName; Assert.AreEqual("sourceFilePath", paramName); } [Test] - public void UpdateModelWithImportedData_TargetCollectionNull_ThrowsArgumentNullException() - { - // Setup - var strategy = new StochasticSoilModelReplaceDataStrategy(new MacroStabilityInwardsFailureMechanism()); - - // Call - TestDelegate test = () => strategy.UpdateModelWithImportedData(null, new List(), string.Empty); - - // Assert - string paramName = Assert.Throws(test).ParamName; - Assert.AreEqual("targetDataCollection", paramName); - } - - [Test] public void UpdateModelWithImportedData_WithoutCurrentModelAndModelsImported_NewModelsAdded() { // Setup @@ -116,8 +102,7 @@ var strategy = new StochasticSoilModelReplaceDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(failureMechanism.StochasticSoilModels, - importedStochasticSoilModels, + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(importedStochasticSoilModels, "path"); // Assert @@ -142,7 +127,7 @@ var strategy = new StochasticSoilModelReplaceDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(failureMechanism.StochasticSoilModels, new List(), sourceFilePath); + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(new List(), sourceFilePath); // Assert CollectionAssert.IsEmpty(failureMechanism.StochasticSoilModels); @@ -167,12 +152,10 @@ var readModel = new TestStochasticSoilModel("read"); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData( - failureMechanism.StochasticSoilModels, - new[] - { - readModel - }, sourceFilePath); + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(new[] + { + readModel + }, sourceFilePath); // Assert Assert.AreSame(readModel, failureMechanism.StochasticSoilModels[0]); @@ -204,7 +187,7 @@ }, sourceFilePath); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(targetCollection, new List(), sourceFilePath).ToArray(); + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(new List(), sourceFilePath).ToArray(); // Assert Assert.IsFalse(calculation.HasOutput); @@ -231,7 +214,7 @@ var targetCollection = new StochasticSoilModelCollection(); // Call - TestDelegate test = () => strategy.UpdateModelWithImportedData(targetCollection, importedStochasticSoilModels, "path"); + TestDelegate test = () => strategy.UpdateModelWithImportedData(importedStochasticSoilModels, "path"); // Assert var exception = Assert.Throws(test); Index: Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/FileImporter/StochasticSoilModelUpdateDataStrategyTest.cs =================================================================== diff -u -r07783a47e1cfb0bd793eaba29c7567cb17e0b367 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/FileImporter/StochasticSoilModelUpdateDataStrategyTest.cs (.../StochasticSoilModelUpdateDataStrategyTest.cs) (revision 07783a47e1cfb0bd793eaba29c7567cb17e0b367) +++ Ringtoets/MacroStabilityInwards/test/Ringtoets.MacroStabilityInwards.Plugin.Test/FileImporter/StochasticSoilModelUpdateDataStrategyTest.cs (.../StochasticSoilModelUpdateDataStrategyTest.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -69,7 +69,7 @@ var strategy = new StochasticSoilModelUpdateDataStrategy(new MacroStabilityInwardsFailureMechanism()); // Call - TestDelegate test = () => strategy.UpdateModelWithImportedData(new StochasticSoilModelCollection(), null, string.Empty); + TestDelegate test = () => strategy.UpdateModelWithImportedData(null, string.Empty); // Assert string paramName = Assert.Throws(test).ParamName; @@ -83,28 +83,14 @@ var strategy = new StochasticSoilModelUpdateDataStrategy(new MacroStabilityInwardsFailureMechanism()); // Call - TestDelegate test = () => strategy.UpdateModelWithImportedData(new StochasticSoilModelCollection(), new List(), null); + TestDelegate test = () => strategy.UpdateModelWithImportedData(new List(), null); // Assert string paramName = Assert.Throws(test).ParamName; Assert.AreEqual("sourceFilePath", paramName); } [Test] - public void UpdateModelWithImportedData_TargetCollectionNull_ThrowsArgumentNullException() - { - // Setup - var strategy = new StochasticSoilModelUpdateDataStrategy(new MacroStabilityInwardsFailureMechanism()); - - // Call - TestDelegate test = () => strategy.UpdateModelWithImportedData(null, new List(), string.Empty); - - // Assert - string paramName = Assert.Throws(test).ParamName; - Assert.AreEqual("targetDataCollection", paramName); - } - - [Test] public void UpdateModelWithImportedData_WithCurrentModelsAndImportedMultipleModelsWithSameName_ThrowsUpdateDataException() { // Setup @@ -124,7 +110,7 @@ }; // Call - TestDelegate test = () => strategy.UpdateModelWithImportedData(targetCollection, importedStochasticSoilModels, sourceFilePath); + TestDelegate test = () => strategy.UpdateModelWithImportedData(importedStochasticSoilModels, sourceFilePath); // Assert var exception = Assert.Throws(test); @@ -148,7 +134,7 @@ }; // Call - TestDelegate test = () => strategy.UpdateModelWithImportedData(targetCollection, importedStochasticSoilModels, sourceFilePath); + TestDelegate test = () => strategy.UpdateModelWithImportedData(importedStochasticSoilModels, sourceFilePath); // Assert var exception = Assert.Throws(test); @@ -167,7 +153,7 @@ var targetCollection = new StochasticSoilModelCollection(); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(targetCollection, importedStochasticSoilModels, "path"); + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(importedStochasticSoilModels, "path"); // Assert Assert.IsEmpty(targetCollection); @@ -189,12 +175,10 @@ var readModel = new TestStochasticSoilModel("read"); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData( - failureMechanism.StochasticSoilModels, - new[] - { - readModel - }, sourceFilePath); + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(new[] + { + readModel + }, sourceFilePath); // Assert Assert.AreSame(readModel, failureMechanism.StochasticSoilModels[0]); @@ -211,17 +195,18 @@ const string modelsName = "same model"; var existingModel = new TestStochasticSoilModel(modelsName); - var targetCollection = new StochasticSoilModelCollection(); + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + StochasticSoilModelCollection targetCollection = failureMechanism.StochasticSoilModels; targetCollection.AddRange(new[] { existingModel }, sourceFilePath); - var strategy = new StochasticSoilModelUpdateDataStrategy(new MacroStabilityInwardsFailureMechanism()); + var strategy = new StochasticSoilModelUpdateDataStrategy(failureMechanism); var readModel = new TestStochasticSoilModel(modelsName); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(targetCollection, new[] + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(new[] { readModel }, sourceFilePath); @@ -243,17 +228,18 @@ const string modelsName = "same model"; var existingModel = new TestStochasticSoilModel(modelsName); - var targetCollection = new StochasticSoilModelCollection(); + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + StochasticSoilModelCollection targetCollection = failureMechanism.StochasticSoilModels; targetCollection.AddRange(new[] { existingModel }, sourceFilePath); - var strategy = new StochasticSoilModelUpdateDataStrategy(new MacroStabilityInwardsFailureMechanism()); + var strategy = new StochasticSoilModelUpdateDataStrategy(failureMechanism); StochasticSoilModel readModel = CreateSimpleModel(modelsName, "new profile A", "new profile B"); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(targetCollection, new[] + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(new[] { readModel }, sourceFilePath); @@ -276,7 +262,8 @@ const string modelsName = "same model"; var existingModel = new TestStochasticSoilModel(modelsName); - var targetCollection = new StochasticSoilModelCollection(); + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + StochasticSoilModelCollection targetCollection = failureMechanism.StochasticSoilModels; targetCollection.AddRange(new[] { existingModel @@ -295,14 +282,13 @@ calculationWithDeletedProfile.InputParameters.StochasticSoilProfile = existingModel.StochasticSoilProfiles[1]; calculationWithDeletedProfile.Output = new MacroStabilityInwardsOutput(); - var failureMechanism = new MacroStabilityInwardsFailureMechanism(); failureMechanism.CalculationsGroup.Children.Add(calculationWithDeletedProfile); failureMechanism.CalculationsGroup.Children.Add(calculationWithNotUpdatedProfile); var strategy = new StochasticSoilModelUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(targetCollection, new[] + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(new[] { readModel }, sourceFilePath).ToArray(); @@ -330,7 +316,8 @@ const string modelsName = "same model"; var existingModel = new TestStochasticSoilModel(modelsName); - var targetCollection = new StochasticSoilModelCollection(); + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + StochasticSoilModelCollection targetCollection = failureMechanism.StochasticSoilModels; targetCollection.AddRange(new[] { existingModel @@ -350,14 +337,13 @@ calculationWithNotUpdatedProfile.InputParameters.StochasticSoilProfile = existingModel.StochasticSoilProfiles[1]; calculationWithNotUpdatedProfile.Output = new MacroStabilityInwardsOutput(); - var failureMechanism = new MacroStabilityInwardsFailureMechanism(); failureMechanism.CalculationsGroup.Children.Add(calculationWithNotUpdatedProfile); failureMechanism.CalculationsGroup.Children.Add(calculationWithUpdatedProfile); var strategy = new StochasticSoilModelUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(targetCollection, new[] + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(new[] { readModel }, sourceFilePath).ToArray(); @@ -406,7 +392,7 @@ var strategy = new StochasticSoilModelUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(stochasticSoilModelCollection, new List(), sourceFilePath).ToArray(); + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(new List(), sourceFilePath).ToArray(); // Assert Assert.IsFalse(calculation.HasOutput); @@ -427,7 +413,8 @@ const string modelsName = "same model"; var existingModel = new TestStochasticSoilModel(modelsName); - var targetCollection = new StochasticSoilModelCollection(); + var failureMechanism = new MacroStabilityInwardsFailureMechanism(); + StochasticSoilModelCollection targetCollection = failureMechanism.StochasticSoilModels; targetCollection.AddRange(new[] { existingModel @@ -448,14 +435,13 @@ calculationWithNotUpdatedProfile.InputParameters.StochasticSoilProfile = unaffectedProfile; calculationWithNotUpdatedProfile.Output = new MacroStabilityInwardsOutput(); - var failureMechanism = new MacroStabilityInwardsFailureMechanism(); failureMechanism.CalculationsGroup.Children.Add(calculationWithNotUpdatedProfile); failureMechanism.CalculationsGroup.Children.Add(calculationWithRemovedProfile); var strategy = new StochasticSoilModelUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(targetCollection, new[] + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(new[] { readModel }, sourceFilePath).ToArray(); Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/IStochasticSoilModelUpdateModelStrategy.cs =================================================================== diff -u -r50597fbeb76b752bc250107dfa91b696bb6c4995 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/IStochasticSoilModelUpdateModelStrategy.cs (.../IStochasticSoilModelUpdateModelStrategy.cs) (revision 50597fbeb76b752bc250107dfa91b696bb6c4995) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/IStochasticSoilModelUpdateModelStrategy.cs (.../IStochasticSoilModelUpdateModelStrategy.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -34,20 +34,15 @@ public interface IStochasticSoilModelUpdateModelStrategy { /// - /// Adds the imported data to the . + /// Updates the surface lines using the . /// - /// The to which the imported data - /// is added. - /// The stochastic soil models which were imported. + /// The stochastic soil models which were imported. /// The path to the source file from which the soil models were imported. /// Thrown when any parameter is null. /// Thrown when applying the strategy failed. /// is set with the more detailed /// exception. /// A of updated instances. - IEnumerable UpdateModelWithImportedData( - StochasticSoilModelCollection targetDataCollection, - IEnumerable readStochasticSoilModels, - string sourceFilePath); + IEnumerable UpdateModelWithImportedData(IEnumerable stochasticSoilModels, string sourceFilePath); } } \ No newline at end of file Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/ISurfaceLineUpdateDataStrategy.cs =================================================================== diff -u -r5bdbb282bc3a410b84c775addc32b221c4fb7bd6 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/ISurfaceLineUpdateDataStrategy.cs (.../ISurfaceLineUpdateDataStrategy.cs) (revision 5bdbb282bc3a410b84c775addc32b221c4fb7bd6) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/ISurfaceLineUpdateDataStrategy.cs (.../ISurfaceLineUpdateDataStrategy.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -35,19 +35,15 @@ public interface ISurfaceLineUpdateDataStrategy where T : IMechanismSurfaceLine { /// - /// Adds the imported data to the . + /// Updates the surface lines using the . /// - /// The target collection which needs to be updated. - /// The imported surface lines. + /// The surface lines that need to be set on the data model. /// The source path from where the surface lines were imported from. /// An of updated instances. /// Thrown when any of the input parameters is null. /// Thrown when applying the strategy has failed. The /// is set with a more detailed explanation /// of why the exception occurs. - IEnumerable UpdateSurfaceLinesWithImportedData( - RingtoetsPipingSurfaceLineCollection targetDataCollection, - IEnumerable readRingtoetsPipingSurfaceLines, - string sourceFilePath); + IEnumerable UpdateSurfaceLinesWithImportedData(IEnumerable surfaceLines, string sourceFilePath); } } \ No newline at end of file Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/PipingSurfaceLineTransformer.cs =================================================================== diff -u -r100e80fb61e2f33c95b0e372d857f4524a5181a6 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/PipingSurfaceLineTransformer.cs (.../PipingSurfaceLineTransformer.cs) (revision 100e80fb61e2f33c95b0e372d857f4524a5181a6) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/PipingSurfaceLineTransformer.cs (.../PipingSurfaceLineTransformer.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -31,6 +31,9 @@ namespace Ringtoets.Piping.IO.Importers { + /// + /// Transforms generic into piping specific . + /// public class PipingSurfaceLineTransformer : ISurfaceLineTransformer { private enum ReferenceLineIntersectionsResult @@ -43,6 +46,11 @@ private static readonly ILog log = LogManager.GetLogger(typeof(PipingSurfaceLineTransformer)); private readonly ReferenceLine referenceLine; + /// + /// Creates a new instance of . + /// + /// The reference line to determine locations for the surface + /// lines for. public PipingSurfaceLineTransformer(ReferenceLine referenceLine) { if (referenceLine == null) Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/StochasticSoilModelImporter.cs =================================================================== diff -u -r50597fbeb76b752bc250107dfa91b696bb6c4995 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/StochasticSoilModelImporter.cs (.../StochasticSoilModelImporter.cs) (revision 50597fbeb76b752bc250107dfa91b696bb6c4995) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/StochasticSoilModelImporter.cs (.../StochasticSoilModelImporter.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -113,7 +113,7 @@ try { - updatedInstances = modelUpdateStrategy.UpdateModelWithImportedData(ImportTarget, validStochasticSoilModels, FilePath); + updatedInstances = modelUpdateStrategy.UpdateModelWithImportedData(validStochasticSoilModels, FilePath); } catch (UpdateDataException e) { Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/SurfaceLinesCsvImporter.cs =================================================================== diff -u -r100e80fb61e2f33c95b0e372d857f4524a5181a6 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/SurfaceLinesCsvImporter.cs (.../SurfaceLinesCsvImporter.cs) (revision 100e80fb61e2f33c95b0e372d857f4524a5181a6) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/SurfaceLinesCsvImporter.cs (.../SurfaceLinesCsvImporter.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -104,7 +104,7 @@ try { - updatedInstances = surfaceLineUpdateStrategy.UpdateSurfaceLinesWithImportedData(ImportTarget, transformedSurfaceLines, FilePath); + updatedInstances = surfaceLineUpdateStrategy.UpdateSurfaceLinesWithImportedData(transformedSurfaceLines, FilePath); } catch (UpdateDataException e) { Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/PipingSurfaceLineReplaceDataStrategy.cs =================================================================== diff -u -r5bdbb282bc3a410b84c775addc32b221c4fb7bd6 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/PipingSurfaceLineReplaceDataStrategy.cs (.../PipingSurfaceLineReplaceDataStrategy.cs) (revision 5bdbb282bc3a410b84c775addc32b221c4fb7bd6) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/PipingSurfaceLineReplaceDataStrategy.cs (.../PipingSurfaceLineReplaceDataStrategy.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -36,18 +36,21 @@ public class PipingSurfaceLineReplaceDataStrategy : ReplaceDataStrategyBase, ISurfaceLineUpdateDataStrategy { + private ObservableUniqueItemCollectionWithSourcePath targetDataCollection; + /// /// Creates a new instance of . /// /// The failure mechanism in which the surface lines are updated. /// Thrown when is null. - public PipingSurfaceLineReplaceDataStrategy(PipingFailureMechanism failureMechanism) : base(failureMechanism) {} + public PipingSurfaceLineReplaceDataStrategy(PipingFailureMechanism failureMechanism) : base(failureMechanism) + { + targetDataCollection = failureMechanism.SurfaceLines; + } - public IEnumerable UpdateSurfaceLinesWithImportedData(RingtoetsPipingSurfaceLineCollection targetDataCollection, - IEnumerable readRingtoetsPipingSurfaceLines, - string sourceFilePath) + public IEnumerable UpdateSurfaceLinesWithImportedData(IEnumerable surfaceLines, string sourceFilePath) { - return ReplaceTargetCollectionWithImportedData(targetDataCollection, readRingtoetsPipingSurfaceLines, sourceFilePath); + return ReplaceTargetCollectionWithImportedData(targetDataCollection, surfaceLines, sourceFilePath); } protected override IEnumerable ClearData() Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/PipingSurfaceLineUpdateDataStrategy.cs =================================================================== diff -u -r5bdbb282bc3a410b84c775addc32b221c4fb7bd6 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/PipingSurfaceLineUpdateDataStrategy.cs (.../PipingSurfaceLineUpdateDataStrategy.cs) (revision 5bdbb282bc3a410b84c775addc32b221c4fb7bd6) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/PipingSurfaceLineUpdateDataStrategy.cs (.../PipingSurfaceLineUpdateDataStrategy.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -46,13 +46,11 @@ /// The failure mechanism in which the surface lines are updated. /// Thrown when is null. public PipingSurfaceLineUpdateDataStrategy(PipingFailureMechanism failureMechanism) - : base(failureMechanism, new RingtoetsPipingSurfaceLineNameEqualityComparer()) {} + : base(failureMechanism, failureMechanism?.SurfaceLines, new RingtoetsPipingSurfaceLineNameEqualityComparer()) {} - public IEnumerable UpdateSurfaceLinesWithImportedData(RingtoetsPipingSurfaceLineCollection targetDataCollection, - IEnumerable readRingtoetsPipingSurfaceLines, - string sourceFilePath) + public IEnumerable UpdateSurfaceLinesWithImportedData(IEnumerable surfaceLines, string sourceFilePath) { - return UpdateTargetCollectionData(targetDataCollection, readRingtoetsPipingSurfaceLines, sourceFilePath); + return UpdateTargetCollectionData(surfaceLines, sourceFilePath); } protected override IEnumerable RemoveObjectAndDependentData(RingtoetsPipingSurfaceLine removedSurfaceLine) Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelReplaceDataStrategy.cs =================================================================== diff -u -r50597fbeb76b752bc250107dfa91b696bb6c4995 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelReplaceDataStrategy.cs (.../StochasticSoilModelReplaceDataStrategy.cs) (revision 50597fbeb76b752bc250107dfa91b696bb6c4995) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelReplaceDataStrategy.cs (.../StochasticSoilModelReplaceDataStrategy.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -36,18 +36,21 @@ public class StochasticSoilModelReplaceDataStrategy : ReplaceDataStrategyBase, IStochasticSoilModelUpdateModelStrategy { + private ObservableUniqueItemCollectionWithSourcePath targetDataCollection; + /// /// Creates a new instance of . /// /// The failure mechanism in which the models are updated. /// Thrown when is null. - public StochasticSoilModelReplaceDataStrategy(PipingFailureMechanism failureMechanism) : base(failureMechanism) {} + public StochasticSoilModelReplaceDataStrategy(PipingFailureMechanism failureMechanism) : base(failureMechanism) + { + targetDataCollection = failureMechanism.StochasticSoilModels; + } - public IEnumerable UpdateModelWithImportedData(StochasticSoilModelCollection targetDataCollection, - IEnumerable readStochasticSoilModels, - string sourceFilePath) + public IEnumerable UpdateModelWithImportedData(IEnumerable stochasticSoilModels, string sourceFilePath) { - return ReplaceTargetCollectionWithImportedData(targetDataCollection, readStochasticSoilModels, sourceFilePath); + return ReplaceTargetCollectionWithImportedData(targetDataCollection, stochasticSoilModels, sourceFilePath); } protected override IEnumerable ClearData() Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelUpdateDataStrategy.cs =================================================================== diff -u -re3ec5f4669022733a11c4c3070747331bf36056f -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelUpdateDataStrategy.cs (.../StochasticSoilModelUpdateDataStrategy.cs) (revision e3ec5f4669022733a11c4c3070747331bf36056f) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelUpdateDataStrategy.cs (.../StochasticSoilModelUpdateDataStrategy.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -44,13 +44,11 @@ /// The failure mechanism in which the models are updated. /// Thrown when is null. public StochasticSoilModelUpdateDataStrategy(PipingFailureMechanism failureMechanism) - : base(failureMechanism, new SoilModelNameEqualityComparer()) {} + : base(failureMechanism, failureMechanism?.StochasticSoilModels, new SoilModelNameEqualityComparer()) {} - public IEnumerable UpdateModelWithImportedData(StochasticSoilModelCollection targetDataCollection, - IEnumerable readStochasticSoilModels, - string sourceFilePath) + public IEnumerable UpdateModelWithImportedData(IEnumerable stochasticSoilModels, string sourceFilePath) { - return UpdateTargetCollectionData(targetDataCollection, readStochasticSoilModels, sourceFilePath); + return UpdateTargetCollectionData(stochasticSoilModels, sourceFilePath); } #region Remove Data Functions Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Importers/StochasticSoilModelImporterTest.cs =================================================================== diff -u -r50597fbeb76b752bc250107dfa91b696bb6c4995 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Importers/StochasticSoilModelImporterTest.cs (.../StochasticSoilModelImporterTest.cs) (revision 50597fbeb76b752bc250107dfa91b696bb6c4995) +++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Importers/StochasticSoilModelImporterTest.cs (.../StochasticSoilModelImporterTest.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -984,9 +984,7 @@ .Return("error {0}"); var strategy = mocks.StrictMock(); - strategy.Expect(s => s.UpdateModelWithImportedData( - Arg.Is.Same(importTarget), - Arg.Is.NotNull, + strategy.Expect(s => s.UpdateModelWithImportedData(Arg.Is.NotNull, Arg.Is.Same(filePath) )).Throw(new UpdateDataException("Exception message")); mocks.ReplayAll(); Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Importers/SurfaceLinesCsvImporterTest.cs =================================================================== diff -u -r100e80fb61e2f33c95b0e372d857f4524a5181a6 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Importers/SurfaceLinesCsvImporterTest.cs (.../SurfaceLinesCsvImporterTest.cs) (revision 100e80fb61e2f33c95b0e372d857f4524a5181a6) +++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Importers/SurfaceLinesCsvImporterTest.cs (.../SurfaceLinesCsvImporterTest.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -1610,9 +1610,7 @@ .Return("error {0}"); var strategy = mocks.StrictMock>(); - strategy.Expect(s => s.UpdateSurfaceLinesWithImportedData( - Arg.Is.Same(importTarget), - Arg.Is.NotNull, + strategy.Expect(s => s.UpdateSurfaceLinesWithImportedData(Arg.Is.NotNull, Arg.Is.Same(filePath) )).Throw(new UpdateDataException("Exception message")); mocks.ReplayAll(); @@ -1709,13 +1707,11 @@ public RingtoetsPipingSurfaceLine[] ReadSurfaceLines { get; private set; } public IEnumerable UpdatedInstances { private get; set; } = Enumerable.Empty(); - public IEnumerable UpdateSurfaceLinesWithImportedData(RingtoetsPipingSurfaceLineCollection targetDataCollection, - IEnumerable readRingtoetsPipingSurfaceLines, - string sourceFilePath) + public IEnumerable UpdateSurfaceLinesWithImportedData(IEnumerable surfaceLines, string sourceFilePath) { Updated = true; FilePath = sourceFilePath; - ReadSurfaceLines = readRingtoetsPipingSurfaceLines.ToArray(); + ReadSurfaceLines = surfaceLines.ToArray(); return UpdatedInstances; } } Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.TestUtil.Test/TestStochasticSoilModelUpdateModelStrategyTest.cs =================================================================== diff -u -r81fa8a9bf3bd503cbd280e88b8f6037a840cff12 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/Piping/test/Ringtoets.Piping.IO.TestUtil.Test/TestStochasticSoilModelUpdateModelStrategyTest.cs (.../TestStochasticSoilModelUpdateModelStrategyTest.cs) (revision 81fa8a9bf3bd503cbd280e88b8f6037a840cff12) +++ Ringtoets/Piping/test/Ringtoets.Piping.IO.TestUtil.Test/TestStochasticSoilModelUpdateModelStrategyTest.cs (.../TestStochasticSoilModelUpdateModelStrategyTest.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -57,7 +57,7 @@ var filePath = new string('x', new Random(21).Next(5, 23)); // Call - strategy.UpdateModelWithImportedData(null, readModels, filePath); + strategy.UpdateModelWithImportedData(readModels, filePath); // Assert Assert.IsTrue(strategy.Updated); @@ -78,7 +78,7 @@ strategy.UpdatedInstances = updatedInstances; // Call - IEnumerable updatedData = strategy.UpdateModelWithImportedData(null, readModels, filePath); + IEnumerable updatedData = strategy.UpdateModelWithImportedData(readModels, filePath); // Assert Assert.AreSame(updatedInstances, updatedData); Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.TestUtil/TestStochasticSoilModelUpdateModelStrategy.cs =================================================================== diff -u -r81fa8a9bf3bd503cbd280e88b8f6037a840cff12 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/Piping/test/Ringtoets.Piping.IO.TestUtil/TestStochasticSoilModelUpdateModelStrategy.cs (.../TestStochasticSoilModelUpdateModelStrategy.cs) (revision 81fa8a9bf3bd503cbd280e88b8f6037a840cff12) +++ Ringtoets/Piping/test/Ringtoets.Piping.IO.TestUtil/TestStochasticSoilModelUpdateModelStrategy.cs (.../TestStochasticSoilModelUpdateModelStrategy.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -54,12 +54,10 @@ /// public IEnumerable UpdatedInstances { get; set; } = Enumerable.Empty(); - public IEnumerable UpdateModelWithImportedData(StochasticSoilModelCollection targetDataCollection, - IEnumerable readStochasticSoilModels, - string sourceFilePath) + public IEnumerable UpdateModelWithImportedData(IEnumerable stochasticSoilModels, string sourceFilePath) { Updated = true; - EvaluateGetValidStochasticSoilModelsMethod(readStochasticSoilModels); + EvaluateGetValidStochasticSoilModelsMethod(stochasticSoilModels); FilePath = sourceFilePath; return UpdatedInstances; Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/RingtoetsPipingSurfaceLineReplaceDataStrategyTest.cs =================================================================== diff -u -r5bdbb282bc3a410b84c775addc32b221c4fb7bd6 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/RingtoetsPipingSurfaceLineReplaceDataStrategyTest.cs (.../RingtoetsPipingSurfaceLineReplaceDataStrategyTest.cs) (revision 5bdbb282bc3a410b84c775addc32b221c4fb7bd6) +++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/RingtoetsPipingSurfaceLineReplaceDataStrategyTest.cs (.../RingtoetsPipingSurfaceLineReplaceDataStrategyTest.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -63,28 +63,13 @@ } [Test] - public void UpdateSurfaceLinesWithImportedData_TargetCollectionNull_ThrowsArgumentNullException() - { - // Setup - var strategy = new PipingSurfaceLineReplaceDataStrategy(new PipingFailureMechanism()); - - // Call - TestDelegate test = () => strategy.UpdateSurfaceLinesWithImportedData(null, Enumerable.Empty(), string.Empty); - - // Assert - string paramName = Assert.Throws(test).ParamName; - Assert.AreEqual("targetDataCollection", paramName); - } - - [Test] public void UpdateSurfaceLinesWithImportedData_ReadSurfaceLinesNull_ThrowsArgumentNullException() { // Setup var strategy = new PipingSurfaceLineReplaceDataStrategy(new PipingFailureMechanism()); // Call - TestDelegate test = () => strategy.UpdateSurfaceLinesWithImportedData(new RingtoetsPipingSurfaceLineCollection(), - null, + TestDelegate test = () => strategy.UpdateSurfaceLinesWithImportedData(null, string.Empty); // Assert @@ -99,8 +84,7 @@ var strategy = new PipingSurfaceLineReplaceDataStrategy(new PipingFailureMechanism()); // Call - TestDelegate test = () => strategy.UpdateSurfaceLinesWithImportedData(new RingtoetsPipingSurfaceLineCollection(), - Enumerable.Empty(), + TestDelegate test = () => strategy.UpdateSurfaceLinesWithImportedData(Enumerable.Empty(), null); // Assert @@ -112,14 +96,14 @@ public void UpdateSurfaceLinesWithImportedData_DifferentSourcePath_UpdatesSourcePathOfTargetCollection() { // Setup - var targetCollection = new RingtoetsPipingSurfaceLineCollection(); + var failureMechanism = new PipingFailureMechanism(); + var targetCollection = failureMechanism.SurfaceLines; - var strategy = new PipingSurfaceLineReplaceDataStrategy(new PipingFailureMechanism()); + var strategy = new PipingSurfaceLineReplaceDataStrategy(failureMechanism); const string newSourcePath = "some/other/path"; // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(targetCollection, - Enumerable.Empty(), + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(Enumerable.Empty(), newSourcePath); // Assert @@ -144,8 +128,7 @@ var strategy = new PipingSurfaceLineReplaceDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(failureMechanism.SurfaceLines, - importedSurfaceLines, + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(importedSurfaceLines, sourceFilePath); // Assert @@ -179,12 +162,10 @@ var strategy = new PipingSurfaceLineReplaceDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData( - failureMechanism.SurfaceLines, - new[] - { - readSurfaceLine - }, sourceFilePath); + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(new[] + { + readSurfaceLine + }, sourceFilePath); // Assert CollectionAssert.AreEqual(new[] @@ -229,9 +210,7 @@ var strategy = new PipingSurfaceLineReplaceDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData( - failureMechanism.SurfaceLines, - Enumerable.Empty(), + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(Enumerable.Empty(), sourceFilePath).ToArray(); // Assert @@ -267,8 +246,7 @@ var strategy = new PipingSurfaceLineReplaceDataStrategy(new PipingFailureMechanism()); // Call - TestDelegate call = () => strategy.UpdateSurfaceLinesWithImportedData(targetCollection, - importedSurfaceLines, + TestDelegate call = () => strategy.UpdateSurfaceLinesWithImportedData(importedSurfaceLines, sourceFilePath); // Assert Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/RingtoetsPipingSurfaceLineUpdateDataStrategyTest.cs =================================================================== diff -u -r5bdbb282bc3a410b84c775addc32b221c4fb7bd6 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/RingtoetsPipingSurfaceLineUpdateDataStrategyTest.cs (.../RingtoetsPipingSurfaceLineUpdateDataStrategyTest.cs) (revision 5bdbb282bc3a410b84c775addc32b221c4fb7bd6) +++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/RingtoetsPipingSurfaceLineUpdateDataStrategyTest.cs (.../RingtoetsPipingSurfaceLineUpdateDataStrategyTest.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -65,28 +65,13 @@ } [Test] - public void UpdateSurfaceLinesWithImportedData_TargetCollectionNull_ThrowsArgumentNullException() - { - // Setup - var strategy = new PipingSurfaceLineUpdateDataStrategy(new PipingFailureMechanism()); - - // Call - TestDelegate test = () => strategy.UpdateSurfaceLinesWithImportedData(null, Enumerable.Empty(), string.Empty); - - // Assert - string paramName = Assert.Throws(test).ParamName; - Assert.AreEqual("targetDataCollection", paramName); - } - - [Test] public void UpdateSurfaceLinesWithImportedData_ReadSurfaceLinesNull_ThrowsArgumentNullException() { // Setup var strategy = new PipingSurfaceLineUpdateDataStrategy(new PipingFailureMechanism()); // Call - TestDelegate test = () => strategy.UpdateSurfaceLinesWithImportedData(new RingtoetsPipingSurfaceLineCollection(), - null, + TestDelegate test = () => strategy.UpdateSurfaceLinesWithImportedData(null, string.Empty); // Assert @@ -101,8 +86,7 @@ var strategy = new PipingSurfaceLineUpdateDataStrategy(new PipingFailureMechanism()); // Call - TestDelegate test = () => strategy.UpdateSurfaceLinesWithImportedData(new RingtoetsPipingSurfaceLineCollection(), - Enumerable.Empty(), + TestDelegate test = () => strategy.UpdateSurfaceLinesWithImportedData(Enumerable.Empty(), null); // Assert @@ -126,16 +110,16 @@ expectedGeometry.AddRange(surfaceLine.Points); surfaceLineToUpdateFrom.SetGeometry(expectedGeometry); - var targetCollection = new RingtoetsPipingSurfaceLineCollection(); + var failureMechanism = new PipingFailureMechanism(); + RingtoetsPipingSurfaceLineCollection targetCollection = failureMechanism.SurfaceLines; targetCollection.AddRange(new[] { surfaceLine }, sourceFilePath); - var strategy = new PipingSurfaceLineUpdateDataStrategy(new PipingFailureMechanism()); + var strategy = new PipingSurfaceLineUpdateDataStrategy(failureMechanism); // Call - strategy.UpdateSurfaceLinesWithImportedData(targetCollection, - new[] + strategy.UpdateSurfaceLinesWithImportedData(new[] { surfaceLineToUpdateFrom }, @@ -166,8 +150,7 @@ var strategy = new PipingSurfaceLineUpdateDataStrategy(new PipingFailureMechanism()); // Call - strategy.UpdateSurfaceLinesWithImportedData(targetCollection, - new[] + strategy.UpdateSurfaceLinesWithImportedData(new[] { surfaceLineToUpdateFrom }, @@ -192,16 +175,16 @@ }; surfaceLineToUpdateFrom.SetGeometry(surfaceLine.Points); - var targetCollection = new RingtoetsPipingSurfaceLineCollection(); + var failureMechanism = new PipingFailureMechanism(); + RingtoetsPipingSurfaceLineCollection targetCollection = failureMechanism.SurfaceLines; targetCollection.AddRange(new[] { surfaceLine }, sourceFilePath); - var strategy = new PipingSurfaceLineUpdateDataStrategy(new PipingFailureMechanism()); + var strategy = new PipingSurfaceLineUpdateDataStrategy(failureMechanism); // Call - strategy.UpdateSurfaceLinesWithImportedData(targetCollection, - new[] + strategy.UpdateSurfaceLinesWithImportedData(new[] { surfaceLineToUpdateFrom }, @@ -222,16 +205,16 @@ RingtoetsPipingSurfaceLine surfaceLine = CreateValidSurfaceLineForCalculations(); RingtoetsPipingSurfaceLine surfaceLineToUpdateFrom = DeepCloneAndModifyPoints(surfaceLine); - var targetCollection = new RingtoetsPipingSurfaceLineCollection(); + var failureMechanism = new PipingFailureMechanism(); + RingtoetsPipingSurfaceLineCollection targetCollection = failureMechanism.SurfaceLines; targetCollection.AddRange(new[] { surfaceLine }, sourceFilePath); - var strategy = new PipingSurfaceLineUpdateDataStrategy(new PipingFailureMechanism()); + var strategy = new PipingSurfaceLineUpdateDataStrategy(failureMechanism); // Call - strategy.UpdateSurfaceLinesWithImportedData(targetCollection, - new[] + strategy.UpdateSurfaceLinesWithImportedData(new[] { surfaceLineToUpdateFrom }, @@ -276,8 +259,7 @@ var strategy = new PipingSurfaceLineUpdateDataStrategy(new PipingFailureMechanism()); // Call - TestDelegate call = () => strategy.UpdateSurfaceLinesWithImportedData(targetCollection, - importedSurfaceLines, + TestDelegate call = () => strategy.UpdateSurfaceLinesWithImportedData(importedSurfaceLines, sourceFilePath); // Assert @@ -329,8 +311,7 @@ var strategy = new PipingSurfaceLineUpdateDataStrategy(new PipingFailureMechanism()); // Call - TestDelegate call = () => strategy.UpdateSurfaceLinesWithImportedData(targetCollection, - importedSurfaceLines, + TestDelegate call = () => strategy.UpdateSurfaceLinesWithImportedData(importedSurfaceLines, sourceFilePath); // Assert @@ -343,7 +324,7 @@ Assert.AreEqual(expectedSurfaceLine.Name, actualSurfaceLine.Name); CollectionAssert.AreEqual(expectedGeometry, actualSurfaceLine.Points); } - + [Test] public void UpdateSurfaceLinesWithImportedData_WithCurrentCollectionNotEmptyAndImportedDataHasFullOverlap_UpdatesTargetCollection() { @@ -353,7 +334,8 @@ { Name = collectionSurfaceLineName }; - var targetCollection = new RingtoetsPipingSurfaceLineCollection(); + var failureMechanism = new PipingFailureMechanism(); + RingtoetsPipingSurfaceLineCollection targetCollection = failureMechanism.SurfaceLines; targetCollection.AddRange(new[] { targetSurfaceLine @@ -365,11 +347,10 @@ readSurfaceLine }; - var strategy = new PipingSurfaceLineUpdateDataStrategy(new PipingFailureMechanism()); + var strategy = new PipingSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(targetCollection, - readSurfacelines, + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(readSurfacelines, sourceFilePath); // Assert @@ -414,8 +395,7 @@ var strategy = new PipingSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(surfaceLineCollection, - readSurfacelines, + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(readSurfacelines, sourceFilePath); // Assert @@ -468,8 +448,7 @@ var strategy = new PipingSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(surfaceLineCollection, - readSurfacelines, + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(readSurfacelines, sourceFilePath); // Assert @@ -521,8 +500,7 @@ var strategy = new PipingSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(surfaceLineCollection, - Enumerable.Empty(), + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(Enumerable.Empty(), sourceFilePath).ToArray(); // Assert @@ -582,14 +560,14 @@ SemiProbabilisticOutput = new TestPipingSemiProbabilisticOutput() }; - var collection = new RingtoetsPipingSurfaceLineCollection(); + var failureMechanism = new PipingFailureMechanism(); + RingtoetsPipingSurfaceLineCollection collection = failureMechanism.SurfaceLines; collection.AddRange(new[] { affectedSurfaceLine, unaffectedSurfaceLine }, sourceFilePath); - var failureMechanism = new PipingFailureMechanism(); failureMechanism.CalculationsGroup.Children.Add(affectedCalculation); failureMechanism.CalculationsGroup.Children.Add(unAffectedCalculation); @@ -600,12 +578,11 @@ var strategy = new PipingSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(collection, - new[] - { - importedAffectedSurfaceLine, - importedUnaffectedSurfaceLine - }, "path").ToArray(); + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(new[] + { + importedAffectedSurfaceLine, + importedUnaffectedSurfaceLine + }, "path").ToArray(); // Assert Assert.IsTrue(unAffectedCalculation.HasOutput); @@ -689,11 +666,10 @@ var strategy = new PipingSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(collection, - new[] - { - importedUnaffectedSurfaceLine - }, "path").ToArray(); + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(new[] + { + importedUnaffectedSurfaceLine + }, "path").ToArray(); // Assert Assert.IsTrue(unAffectedCalculation.HasOutput); @@ -772,11 +748,10 @@ var strategy = new PipingSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(failureMechanism.SurfaceLines, - new[] - { - importedSurfaceLine - }, "path").ToArray(); + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(new[] + { + importedSurfaceLine + }, "path").ToArray(); // Assert PipingInput calculationInput = calculation.InputParameters; @@ -863,11 +838,10 @@ var strategy = new PipingSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(failureMechanism.SurfaceLines, - new[] - { - importedSurfaceLine - }, "path").ToArray(); + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(new[] + { + importedSurfaceLine + }, "path").ToArray(); // Assert PipingInput calculationInput = calculation.InputParameters; @@ -924,8 +898,7 @@ var strategy = new PipingSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(failureMechanism.SurfaceLines, - Enumerable.Empty(), + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(Enumerable.Empty(), "path").ToArray(); // Assert @@ -977,8 +950,7 @@ var strategy = new PipingSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(failureMechanism.SurfaceLines, - Enumerable.Empty(), + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(Enumerable.Empty(), "path").ToArray(); // Assert @@ -1079,11 +1051,10 @@ var strategy = new PipingSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(failureMechanism.SurfaceLines, - new[] - { - importedSurfaceLine - }, "path").ToArray(); + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(new[] + { + importedSurfaceLine + }, "path").ToArray(); // Assert PipingInput affectedInput = affectedCalculation.InputParameters; @@ -1141,11 +1112,10 @@ var strategy = new PipingSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(failureMechanism.SurfaceLines, - new[] - { - importedSurfaceLine - }, "path").ToArray(); + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(new[] + { + importedSurfaceLine + }, "path").ToArray(); // Assert CollectionAssert.AreEquivalent(new IObservable[] @@ -1186,13 +1156,13 @@ SemiProbabilisticOutput = new TestPipingSemiProbabilisticOutput() }; - var collection = new RingtoetsPipingSurfaceLineCollection(); + var failureMechanism = new PipingFailureMechanism(); + RingtoetsPipingSurfaceLineCollection collection = failureMechanism.SurfaceLines; collection.AddRange(new[] { affectedSurfaceLine }, sourceFilePath); - var failureMechanism = new PipingFailureMechanism(); failureMechanism.CalculationsGroup.Children.Add(affectedCalculation); RingtoetsPipingSurfaceLine importedAffectedSurfaceLine = DeepCloneName(affectedSurfaceLine); @@ -1205,11 +1175,10 @@ var strategy = new PipingSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(collection, - new[] - { - importedAffectedSurfaceLine - }, "path").ToArray(); + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(new[] + { + importedAffectedSurfaceLine + }, "path").ToArray(); // Assert Assert.IsFalse(affectedCalculation.HasOutput); @@ -1257,13 +1226,13 @@ SemiProbabilisticOutput = new TestPipingSemiProbabilisticOutput() }; - var collection = new RingtoetsPipingSurfaceLineCollection(); + var failureMechanism = new PipingFailureMechanism(); + RingtoetsPipingSurfaceLineCollection collection = failureMechanism.SurfaceLines; collection.AddRange(new[] { affectedSurfaceLine }, sourceFilePath); - var failureMechanism = new PipingFailureMechanism(); failureMechanism.CalculationsGroup.Children.Add(affectedCalculation); RingtoetsPipingSurfaceLine importedAffectedSurfaceLine = DeepCloneName(affectedSurfaceLine); @@ -1276,11 +1245,10 @@ var strategy = new PipingSurfaceLineUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(collection, - new[] - { - importedAffectedSurfaceLine - }, "path").ToArray(); + IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(new[] + { + importedAffectedSurfaceLine + }, "path").ToArray(); // Assert Assert.IsFalse(affectedCalculation.HasOutput); Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/StochasticSoilModelReplaceDataStrategyTest.cs =================================================================== diff -u -r50597fbeb76b752bc250107dfa91b696bb6c4995 -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/StochasticSoilModelReplaceDataStrategyTest.cs (.../StochasticSoilModelReplaceDataStrategyTest.cs) (revision 50597fbeb76b752bc250107dfa91b696bb6c4995) +++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/StochasticSoilModelReplaceDataStrategyTest.cs (.../StochasticSoilModelReplaceDataStrategyTest.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -67,7 +67,7 @@ var strategy = new StochasticSoilModelReplaceDataStrategy(new PipingFailureMechanism()); // Call - TestDelegate test = () => strategy.UpdateModelWithImportedData(new StochasticSoilModelCollection(), null, string.Empty); + TestDelegate test = () => strategy.UpdateModelWithImportedData(null, string.Empty); // Assert string paramName = Assert.Throws(test).ParamName; @@ -81,28 +81,14 @@ var strategy = new StochasticSoilModelReplaceDataStrategy(new PipingFailureMechanism()); // Call - TestDelegate test = () => strategy.UpdateModelWithImportedData(new StochasticSoilModelCollection(), new List(), null); + TestDelegate test = () => strategy.UpdateModelWithImportedData(new List(), null); // Assert string paramName = Assert.Throws(test).ParamName; Assert.AreEqual("sourceFilePath", paramName); } [Test] - public void UpdateModelWithImportedData_TargetCollectionNull_ThrowsArgumentNullException() - { - // Setup - var strategy = new StochasticSoilModelReplaceDataStrategy(new PipingFailureMechanism()); - - // Call - TestDelegate test = () => strategy.UpdateModelWithImportedData(null, new List(), string.Empty); - - // Assert - string paramName = Assert.Throws(test).ParamName; - Assert.AreEqual("targetDataCollection", paramName); - } - - [Test] public void UpdateModelWithImportedData_WithoutCurrentModelAndModelsImported_NewModelsAdded() { // Setup @@ -116,8 +102,7 @@ var strategy = new StochasticSoilModelReplaceDataStrategy(pipingFailureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(pipingFailureMechanism.StochasticSoilModels, - importedStochasticSoilModels, + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(importedStochasticSoilModels, "path"); // Assert @@ -142,7 +127,7 @@ var strategy = new StochasticSoilModelReplaceDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(failureMechanism.StochasticSoilModels, new List(), sourceFilePath); + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(new List(), sourceFilePath); // Assert CollectionAssert.IsEmpty(failureMechanism.StochasticSoilModels); @@ -167,12 +152,10 @@ var readModel = new TestStochasticSoilModel("read"); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData( - pipingFailureMechanism.StochasticSoilModels, - new[] - { - readModel - }, sourceFilePath); + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(new[] + { + readModel + }, sourceFilePath); // Assert Assert.AreSame(readModel, pipingFailureMechanism.StochasticSoilModels[0]); @@ -204,7 +187,7 @@ }, sourceFilePath); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(targetCollection, new List(), sourceFilePath).ToArray(); + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(new List(), sourceFilePath).ToArray(); // Assert Assert.IsFalse(calculation.HasOutput); @@ -231,7 +214,7 @@ var targetCollection = new StochasticSoilModelCollection(); // Call - TestDelegate test = () => strategy.UpdateModelWithImportedData(targetCollection, importedStochasticSoilModels, "path"); + TestDelegate test = () => strategy.UpdateModelWithImportedData(importedStochasticSoilModels, "path"); // Assert var exception = Assert.Throws(test); Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/StochasticSoilModelUpdateDataStrategyTest.cs =================================================================== diff -u -r16df8541528639fd1e8d9f2584fae28808b63fad -rfe48b787571cbc5b0fa82df6c9bb718fbd869f04 --- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/StochasticSoilModelUpdateDataStrategyTest.cs (.../StochasticSoilModelUpdateDataStrategyTest.cs) (revision 16df8541528639fd1e8d9f2584fae28808b63fad) +++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/StochasticSoilModelUpdateDataStrategyTest.cs (.../StochasticSoilModelUpdateDataStrategyTest.cs) (revision fe48b787571cbc5b0fa82df6c9bb718fbd869f04) @@ -69,7 +69,7 @@ var strategy = new StochasticSoilModelUpdateDataStrategy(new PipingFailureMechanism()); // Call - TestDelegate test = () => strategy.UpdateModelWithImportedData(new StochasticSoilModelCollection(), null, string.Empty); + TestDelegate test = () => strategy.UpdateModelWithImportedData(null, string.Empty); // Assert string paramName = Assert.Throws(test).ParamName; @@ -83,28 +83,14 @@ var strategy = new StochasticSoilModelUpdateDataStrategy(new PipingFailureMechanism()); // Call - TestDelegate test = () => strategy.UpdateModelWithImportedData(new StochasticSoilModelCollection(), new List(), null); + TestDelegate test = () => strategy.UpdateModelWithImportedData(new List(), null); // Assert string paramName = Assert.Throws(test).ParamName; Assert.AreEqual("sourceFilePath", paramName); } [Test] - public void UpdateModelWithImportedData_TargetCollectionNull_ThrowsArgumentNullException() - { - // Setup - var strategy = new StochasticSoilModelUpdateDataStrategy(new PipingFailureMechanism()); - - // Call - TestDelegate test = () => strategy.UpdateModelWithImportedData(null, new List(), string.Empty); - - // Assert - string paramName = Assert.Throws(test).ParamName; - Assert.AreEqual("targetDataCollection", paramName); - } - - [Test] public void UpdateModelWithImportedData_WithCurrentModelsAndImportedMultipleModelsWithSameName_ThrowsUpdateDataException() { // Setup @@ -124,7 +110,7 @@ }; // Call - TestDelegate test = () => strategy.UpdateModelWithImportedData(targetCollection, importedStochasticSoilModels, sourceFilePath); + TestDelegate test = () => strategy.UpdateModelWithImportedData(importedStochasticSoilModels, sourceFilePath); // Assert var exception = Assert.Throws(test); @@ -148,7 +134,7 @@ }; // Call - TestDelegate test = () => strategy.UpdateModelWithImportedData(targetCollection, importedStochasticSoilModels, sourceFilePath); + TestDelegate test = () => strategy.UpdateModelWithImportedData(importedStochasticSoilModels, sourceFilePath); // Assert var exception = Assert.Throws(test); @@ -167,7 +153,7 @@ var targetCollection = new StochasticSoilModelCollection(); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(targetCollection, importedStochasticSoilModels, "path"); + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(importedStochasticSoilModels, "path"); // Assert Assert.IsEmpty(targetCollection); @@ -189,12 +175,10 @@ var readModel = new TestStochasticSoilModel("read"); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData( - pipingFailureMechanism.StochasticSoilModels, - new[] - { - readModel - }, sourceFilePath); + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(new[] + { + readModel + }, sourceFilePath); // Assert Assert.AreSame(readModel, pipingFailureMechanism.StochasticSoilModels[0]); @@ -211,17 +195,18 @@ const string modelsName = "same model"; var existingModel = new TestStochasticSoilModel(modelsName); - var targetCollection = new StochasticSoilModelCollection(); + var failureMechanism = new PipingFailureMechanism(); + var targetCollection = failureMechanism.StochasticSoilModels; targetCollection.AddRange(new[] { existingModel }, sourceFilePath); - var strategy = new StochasticSoilModelUpdateDataStrategy(new PipingFailureMechanism()); + var strategy = new StochasticSoilModelUpdateDataStrategy(failureMechanism); var readModel = new TestStochasticSoilModel(modelsName); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(targetCollection, new[] + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(new[] { readModel }, sourceFilePath); @@ -243,17 +228,18 @@ const string modelsName = "same model"; var existingModel = new TestStochasticSoilModel(modelsName); - var targetCollection = new StochasticSoilModelCollection(); + var failureMechanism = new PipingFailureMechanism(); + var targetCollection = failureMechanism.StochasticSoilModels; targetCollection.AddRange(new[] { existingModel }, sourceFilePath); - var strategy = new StochasticSoilModelUpdateDataStrategy(new PipingFailureMechanism()); + var strategy = new StochasticSoilModelUpdateDataStrategy(failureMechanism); StochasticSoilModel readModel = CreateSimpleModel(modelsName, "new profile A", "new profile B"); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(targetCollection, new[] + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(new[] { readModel }, sourceFilePath); @@ -276,7 +262,8 @@ const string modelsName = "same model"; var existingModel = new TestStochasticSoilModel(modelsName); - var targetCollection = new StochasticSoilModelCollection(); + var failureMechanism = new PipingFailureMechanism(); + var targetCollection = failureMechanism.StochasticSoilModels; targetCollection.AddRange(new[] { existingModel @@ -295,14 +282,13 @@ calculationWithDeletedProfile.InputParameters.StochasticSoilProfile = existingModel.StochasticSoilProfiles[1]; calculationWithDeletedProfile.Output = new PipingOutput(new PipingOutput.ConstructionProperties()); - var failureMechanism = new PipingFailureMechanism(); failureMechanism.CalculationsGroup.Children.Add(calculationWithDeletedProfile); failureMechanism.CalculationsGroup.Children.Add(calculationWithNotUpdatedProfile); var strategy = new StochasticSoilModelUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(targetCollection, new[] + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(new[] { readModel }, sourceFilePath).ToArray(); @@ -330,7 +316,8 @@ const string modelsName = "same model"; var existingModel = new TestStochasticSoilModel(modelsName); - var targetCollection = new StochasticSoilModelCollection(); + var failureMechanism = new PipingFailureMechanism(); + var targetCollection = failureMechanism.StochasticSoilModels; targetCollection.AddRange(new[] { existingModel @@ -350,14 +337,13 @@ calculationWithNotUpdatedProfile.InputParameters.StochasticSoilProfile = existingModel.StochasticSoilProfiles[1]; calculationWithNotUpdatedProfile.Output = new PipingOutput(new PipingOutput.ConstructionProperties()); - var failureMechanism = new PipingFailureMechanism(); failureMechanism.CalculationsGroup.Children.Add(calculationWithNotUpdatedProfile); failureMechanism.CalculationsGroup.Children.Add(calculationWithUpdatedProfile); var strategy = new StochasticSoilModelUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(targetCollection, new[] + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(new[] { readModel }, sourceFilePath).ToArray(); @@ -406,7 +392,7 @@ var strategy = new StochasticSoilModelUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(stochasticSoilModelCollection, new List(), sourceFilePath).ToArray(); + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(new List(), sourceFilePath).ToArray(); // Assert Assert.IsFalse(calculation.HasOutput); @@ -427,7 +413,8 @@ const string modelsName = "same model"; var existingModel = new TestStochasticSoilModel(modelsName); - var targetCollection = new StochasticSoilModelCollection(); + var failureMechanism = new PipingFailureMechanism(); + var targetCollection = failureMechanism.StochasticSoilModels; targetCollection.AddRange(new[] { existingModel @@ -447,15 +434,14 @@ calculationWithNotUpdatedProfile.InputParameters.StochasticSoilModel = existingModel; calculationWithNotUpdatedProfile.InputParameters.StochasticSoilProfile = unaffectedProfile; calculationWithNotUpdatedProfile.Output = new PipingOutput(new PipingOutput.ConstructionProperties()); - - var failureMechanism = new PipingFailureMechanism(); + failureMechanism.CalculationsGroup.Children.Add(calculationWithNotUpdatedProfile); failureMechanism.CalculationsGroup.Children.Add(calculationWithRemovedProfile); var strategy = new StochasticSoilModelUpdateDataStrategy(failureMechanism); // Call - IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(targetCollection, new[] + IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(new[] { readModel }, sourceFilePath).ToArray();