Index: Ringtoets/Common/src/Ringtoets.Common.Data/UpdateDataStrategies/UpdateDataStrategyBase.cs
===================================================================
diff -u -rdd4e75e27880fc06f6823cca424a010ab19adb33 -r85b53922d59e2d43ef299322b89e0de7ea085c63
--- Ringtoets/Common/src/Ringtoets.Common.Data/UpdateDataStrategies/UpdateDataStrategyBase.cs (.../UpdateDataStrategyBase.cs) (revision dd4e75e27880fc06f6823cca424a010ab19adb33)
+++ Ringtoets/Common/src/Ringtoets.Common.Data/UpdateDataStrategies/UpdateDataStrategyBase.cs (.../UpdateDataStrategyBase.cs) (revision 85b53922d59e2d43ef299322b89e0de7ea085c63)
@@ -67,21 +67,21 @@
}
///
- /// Updates the (dependent) objects with new data from the imported data.
+ /// Updates the object and its dependent data with data from the imported data.
///
- /// Objects that need to be updated.
- /// The data that was imported.
+ /// Object that needs to be updated.
+ /// The object to update from.
/// An with affected objects.
/// Thrown when duplicate items are found.
- protected abstract IEnumerable UpdateData(IEnumerable objectsToUpdate,
- IEnumerable importedDataCollection);
+ protected abstract IEnumerable UpdateObjectAndDependentData(TTargetData objectToUpdate,
+ TTargetData objectToUpdateFrom);
///
/// Removes the objects and their dependent data.
///
- /// The objects that are removed.
+ /// The object that is removed.
/// An with affected objects.
- protected abstract IEnumerable RemoveData(IEnumerable removedObjects);
+ protected abstract IEnumerable RemoveObjectAndDependentData(TTargetData removedObject);
///
/// Updates the items and their associated data within the target collection with the data contained
@@ -141,7 +141,7 @@
TTargetData[] objectsToBeUpdated = GetObjectsToBeUpdated(targetDataCollection, importedObjects).ToArray();
var affectedObjects = new List();
- if (objectsToBeAdded.Any())
+ if (objectsToBeAdded.Any() || objectsToBeRemoved.Any())
{
affectedObjects.Add(targetDataCollection);
}
@@ -167,5 +167,42 @@
{
return importedDataObjects.Where(source => !existingCollection.Contains(source, equalityComparer));
}
+
+ ///
+ /// Updates all the objects and their dependent data that needs to be updated with data from the imported data collection.
+ ///
+ /// The objects that need to be updated.
+ /// The data to update from.
+ /// A of affected items.
+ private IEnumerable UpdateData(IEnumerable objectsToUpdate,
+ IEnumerable importedDataCollection)
+ {
+ var affectedObjects = new List();
+
+ foreach (TTargetData objectToUpdate in objectsToUpdate)
+ {
+ TTargetData objectToUpdateFrom = importedDataCollection.Single(importedObject =>
+ equalityComparer.Equals(importedObject, objectToUpdate));
+ affectedObjects.AddRange(UpdateObjectAndDependentData(objectToUpdate, objectToUpdateFrom));
+ }
+
+ return affectedObjects;
+ }
+
+ ///
+ /// Removes all the objects and their dependent data.
+ ///
+ /// The objects that need to be removed.
+ /// A of affected items.
+ private IEnumerable RemoveData(IEnumerable objectsToRemove)
+ {
+ var affectedObjects = new List();
+
+ foreach (TTargetData objectToRemove in objectsToRemove)
+ {
+ affectedObjects.AddRange(RemoveObjectAndDependentData(objectToRemove));
+ }
+ return affectedObjects;
+ }
}
}
\ No newline at end of file
Index: Ringtoets/Common/test/Ringtoets.Common.Data.Test/UpdateDataStrategies/UpdateDataStrategyBaseTest.cs
===================================================================
diff -u -rdd4e75e27880fc06f6823cca424a010ab19adb33 -r85b53922d59e2d43ef299322b89e0de7ea085c63
--- Ringtoets/Common/test/Ringtoets.Common.Data.Test/UpdateDataStrategies/UpdateDataStrategyBaseTest.cs (.../UpdateDataStrategyBaseTest.cs) (revision dd4e75e27880fc06f6823cca424a010ab19adb33)
+++ Ringtoets/Common/test/Ringtoets.Common.Data.Test/UpdateDataStrategies/UpdateDataStrategyBaseTest.cs (.../UpdateDataStrategyBaseTest.cs) (revision 85b53922d59e2d43ef299322b89e0de7ea085c63)
@@ -147,47 +147,41 @@
IEnumerable affectedObjects = strategy.ConcreteUpdateData(collection, Enumerable.Empty(), filePath);
// Assert
- CollectionAssert.AreEquivalent(itemsRemoved, affectedObjects);
+ IEnumerable expectedAffectedItems = itemsRemoved.Concat(new IObservable[]
+ {
+ collection
+ });
+ CollectionAssert.AreEquivalent(expectedAffectedItems, affectedObjects);
CollectionAssert.IsEmpty(collection);
Assert.AreEqual(filePath, collection.SourcePath);
}
[Test]
- public void UpdateTargetCollectionData_Call_CallsFunctions()
- {
- // Setup
- var collection = new TestUniqueItemCollection();
-
- var strategy = new ConcreteUpdateDataStrategy(new TestFailureMechanism());
-
- // Call
- strategy.ConcreteUpdateData(collection, Enumerable.Empty(), sourceFilePath);
-
- // Assert
- Assert.IsTrue(strategy.IsUpdateDataCalled);
- Assert.IsTrue(strategy.IsRemoveDataCalled);
- }
-
- [Test]
public void UpdateTargetCollectionData_GetObjectsToRemoveCall_ReturnsExpectedAffectedItems()
{
// Setup
var collection = new TestUniqueItemCollection();
const string filePath = "path";
- var expectedAffectedItems = new[]
+ var currentCollection = new[]
{
new TestItem("Name A"),
new TestItem("Name B")
};
- collection.AddRange(expectedAffectedItems, filePath);
+ collection.AddRange(currentCollection, filePath);
var strategy = new ConcreteUpdateDataStrategy(new TestFailureMechanism());
// Call
- IObservable[] affectedObjects = strategy.ConcreteUpdateData(collection, Enumerable.Empty(), filePath).ToArray();
+ IEnumerable affectedObjects = strategy.ConcreteUpdateData(collection, Enumerable.Empty(), filePath).ToArray();
// Assert
- CollectionAssert.AreEquivalent(expectedAffectedItems, affectedObjects);
+ Assert.IsTrue(strategy.IsRemoveObjectAndDependentDataCalled);
+
+ IEnumerable expectedAffectedObjects = currentCollection.Concat(new IObservable[]
+ {
+ collection
+ });
+ CollectionAssert.AreEquivalent(expectedAffectedObjects, affectedObjects);
CollectionAssert.IsEmpty(collection);
Assert.AreEqual(filePath, collection.SourcePath);
}
@@ -209,16 +203,17 @@
var importedItems = new[]
{
- new TestItem("Name A"),
- new TestItem("Name B")
+ DeepCloneTestItem(updatedItems[0]),
+ DeepCloneTestItem(updatedItems[1])
};
// Call
IObservable[] affectedObjects = strategy.ConcreteUpdateData(collection, importedItems, filePath).ToArray();
// Assert
- IEnumerable expectedAffectedObjects = updatedItems.Concat(importedItems);
+ Assert.IsTrue(strategy.IsUpdateDataCalled);
+ IEnumerable expectedAffectedObjects = updatedItems.Concat(importedItems);
CollectionAssert.AreEquivalent(expectedAffectedObjects, affectedObjects);
CollectionAssert.AreEqual(updatedItems, collection);
Assert.AreEqual(filePath, collection.SourcePath);
@@ -242,11 +237,10 @@
// Assert
CollectionAssert.AreEqual(importedItems, collection);
- IEnumerable expectedAffectedObjects = importedItems.Concat(new IObservable[]
+ CollectionAssert.AreEquivalent(new[]
{
collection
- });
- CollectionAssert.AreEquivalent(expectedAffectedObjects, affectedObjects);
+ }, affectedObjects);
}
[Test]
@@ -296,8 +290,8 @@
var importedItems = new[]
{
- new TestItem(itemOneName),
- new TestItem(itemTwoName)
+ DeepCloneTestItem(currentCollection[0]),
+ DeepCloneTestItem(currentCollection[1])
};
var strategy = new ConcreteUpdateDataStrategy(new TestFailureMechanism());
@@ -310,27 +304,27 @@
// Assert
CollectionAssert.AreEqual(currentCollection, collection);
- IEnumerable expectedAffectedObjects = currentCollection.Concat(importedItems);
- CollectionAssert.AreEqual(expectedAffectedObjects, affectedObjects);
+ IEnumerable expectedAffectedObjects = currentCollection.Concat(importedItems);
+ CollectionAssert.AreEquivalent(expectedAffectedObjects, affectedObjects);
}
[Test]
public void UpdateTargetCollectionData_CollectionNotEmptyAndImportedDataPartiallyOverlaps_UpdatesCollection()
{
// Setup
- const string itemOneName = "Item one";
+ const string updateItemName = "Item one";
var currentCollection = new[]
{
- new TestItem(itemOneName),
+ new TestItem(updateItemName),
new TestItem("Item Two")
};
var collection = new TestUniqueItemCollection();
collection.AddRange(currentCollection, sourceFilePath);
var importedItems = new[]
{
- new TestItem(itemOneName),
+ DeepCloneTestItem(currentCollection[0]),
new TestItem("Item Four")
};
@@ -354,8 +348,7 @@
collection,
currentCollection[0],
currentCollection[1],
- importedItems[0],
- importedItems[1]
+ importedItems[0]
};
CollectionAssert.AreEquivalent(expectedAffectedItems, affectedObjects);
}
@@ -387,8 +380,7 @@
// Assert
CollectionAssert.AreEqual(importedItems, collection);
- IEnumerable expectedAffectedObjects = currentCollection.Concat(importedItems)
- .Concat(new IObservable[]
+ IEnumerable expectedAffectedObjects = currentCollection .Concat(new IObservable[]
{
collection
});
@@ -440,7 +432,7 @@
: base(failureMechanism, new NameComparer()) {}
public bool IsUpdateDataCalled { get; private set; }
- public bool IsRemoveDataCalled { get; private set; }
+ public bool IsRemoveObjectAndDependentDataCalled { get; private set; }
public IEnumerable ConcreteUpdateData(ObservableUniqueItemCollectionWithSourcePath targetCollection,
IEnumerable importedDataCollection,
@@ -449,22 +441,25 @@
return UpdateTargetCollectionData(targetCollection, importedDataCollection, sourceFilePath);
}
- protected override IEnumerable UpdateData(IEnumerable objectsToUpdate, IEnumerable importedDataCollection)
+ protected override IEnumerable UpdateObjectAndDependentData(TestItem objectToUpdate, TestItem objectToUpdateFrom)
{
IsUpdateDataCalled = true;
- var affectedObjects = new List();
- affectedObjects.AddRange(objectsToUpdate);
- affectedObjects.AddRange(importedDataCollection);
- return affectedObjects;
+
+ return new []
+ {
+ objectToUpdate,
+ objectToUpdateFrom
+ };
}
- protected override IEnumerable RemoveData(IEnumerable removedObjects)
+ protected override IEnumerable RemoveObjectAndDependentData(TestItem removedObject)
{
- IsRemoveDataCalled = true;
+ IsRemoveObjectAndDependentDataCalled = true;
- var affectedObjects = new List();
- affectedObjects.AddRange(removedObjects);
- return affectedObjects;
+ return new []
+ {
+ removedObject
+ };
}
private class NameComparer : IEqualityComparer
@@ -500,5 +495,11 @@
return Name;
}
}
+
+ private static TestItem DeepCloneTestItem(TestItem item)
+ {
+ var newItem = new TestItem(item.Name);
+ return newItem;
+ }
}
}
\ No newline at end of file
Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/RingtoetsPipingSurfaceLineUpdateStrategy.cs
===================================================================
diff -u -rdd4e75e27880fc06f6823cca424a010ab19adb33 -r85b53922d59e2d43ef299322b89e0de7ea085c63
--- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/RingtoetsPipingSurfaceLineUpdateStrategy.cs (.../RingtoetsPipingSurfaceLineUpdateStrategy.cs) (revision dd4e75e27880fc06f6823cca424a010ab19adb33)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/RingtoetsPipingSurfaceLineUpdateStrategy.cs (.../RingtoetsPipingSurfaceLineUpdateStrategy.cs) (revision 85b53922d59e2d43ef299322b89e0de7ea085c63)
@@ -90,22 +90,17 @@
#region Updating Data Functions
- protected override IEnumerable UpdateData(IEnumerable objectsToUpdate,
- IEnumerable importedDataCollection)
+ protected override IEnumerable UpdateObjectAndDependentData(RingtoetsPipingSurfaceLine surfaceLineToUpdate,
+ RingtoetsPipingSurfaceLine matchingSurfaceLine)
{
var affectedObjects = new List();
- foreach (RingtoetsPipingSurfaceLine updatedSurfaceLine in objectsToUpdate)
+ if (!surfaceLineToUpdate.Equals(matchingSurfaceLine))
{
- RingtoetsPipingSurfaceLine matchingSurfaceLine = importedDataCollection.Single(sl => sl.Name == updatedSurfaceLine.Name);
+ surfaceLineToUpdate.Update(matchingSurfaceLine);
- if (!updatedSurfaceLine.Equals(matchingSurfaceLine))
- {
- updatedSurfaceLine.Update(matchingSurfaceLine);
-
- affectedObjects.AddRange(UpdateSurfaceLineDependentData(updatedSurfaceLine));
- affectedObjects.AddRange(UpdateStochasticSoilModel(updatedSurfaceLine));
- }
+ affectedObjects.AddRange(UpdateSurfaceLineDependentData(surfaceLineToUpdate));
+ affectedObjects.AddRange(UpdateStochasticSoilModel(surfaceLineToUpdate));
}
return affectedObjects;
@@ -162,22 +157,11 @@
#region Removing Data Functions
- protected override IEnumerable RemoveData(IEnumerable removedObjects)
+ protected override IEnumerable RemoveObjectAndDependentData(RingtoetsPipingSurfaceLine removedSurfaceLine)
{
- var affectedObjects = new List();
-
- foreach (RingtoetsPipingSurfaceLine surfaceLine in removedObjects)
- {
- affectedObjects.AddRange(ClearSurfaceLineDependentData(surfaceLine));
- }
- return affectedObjects;
+ return PipingDataSynchronizationService.RemoveSurfaceLine(failureMechanism, removedSurfaceLine);
}
- private IEnumerable ClearSurfaceLineDependentData(RingtoetsPipingSurfaceLine surfaceLine)
- {
- return PipingDataSynchronizationService.RemoveSurfaceLine(failureMechanism, surfaceLine);
- }
-
#endregion
}
}
\ No newline at end of file
Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelUpdateDataStrategy.cs
===================================================================
diff -u -r7172df944db7fd2d59d68a7a8def96110a44ed9b -r85b53922d59e2d43ef299322b89e0de7ea085c63
--- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelUpdateDataStrategy.cs (.../StochasticSoilModelUpdateDataStrategy.cs) (revision 7172df944db7fd2d59d68a7a8def96110a44ed9b)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/StochasticSoilModelUpdateDataStrategy.cs (.../StochasticSoilModelUpdateDataStrategy.cs) (revision 85b53922d59e2d43ef299322b89e0de7ea085c63)
@@ -89,28 +89,25 @@
#region Update Data Functions
- protected override IEnumerable UpdateData(IEnumerable objectsToUpdate,
- IEnumerable importedDataCollection)
+ protected override IEnumerable UpdateObjectAndDependentData(StochasticSoilModel soilModelToUpdate,
+ StochasticSoilModel soilModelToUpdateFrom)
{
var affectedObjects = new List();
- foreach (StochasticSoilModel updatedModel in objectsToUpdate)
- {
- affectedObjects.Add(updatedModel);
- StochasticSoilModel readModel = importedDataCollection.Single(r => r.Name.Equals(updatedModel.Name));
- affectedObjects.AddRange(UpdateStochasticSoilModel(updatedModel, readModel));
- }
+ affectedObjects.AddRange(UpdateStochasticSoilModel(soilModelToUpdate, soilModelToUpdateFrom));
+
return affectedObjects;
}
- private IEnumerable UpdateStochasticSoilModel(StochasticSoilModel existingModel, StochasticSoilModel readModel)
+ private IEnumerable UpdateStochasticSoilModel(StochasticSoilModel modelToUpdate, StochasticSoilModel modelToUpdateFrom)
{
- Dictionary oldProfiles = existingModel
+ Dictionary oldProfiles = modelToUpdate
.StochasticSoilProfiles
.ToDictionary(ssp => ssp, ssp => ssp.SoilProfile, new ReferenceEqualityComparer());
- StochasticSoilModelProfileDifference difference = existingModel.Update(readModel);
+ StochasticSoilModelProfileDifference difference = modelToUpdate.Update(modelToUpdateFrom);
var affectedObjects = new List();
+ affectedObjects.Add(modelToUpdate);
foreach (StochasticSoilProfile removedProfile in difference.RemovedProfiles)
{
affectedObjects.AddRange(PipingDataSynchronizationService.RemoveStochasticSoilProfileFromInput(failureMechanism, removedProfile));
@@ -130,19 +127,8 @@
#region Remove Data Functions
- protected override IEnumerable RemoveData(IEnumerable removedObjects)
+ protected override IEnumerable RemoveObjectAndDependentData(StochasticSoilModel removedModel)
{
- var affectedObjects = new List();
-
- foreach (StochasticSoilModel model in removedObjects)
- {
- affectedObjects.AddRange(ClearStochasticSoilModelDependentData(model));
- }
- return affectedObjects;
- }
-
- private IEnumerable ClearStochasticSoilModelDependentData(StochasticSoilModel removedModel)
- {
return PipingDataSynchronizationService.RemoveStochasticSoilModel(failureMechanism, removedModel);
}
Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/RingtoetsPipingSurfaceLineUpdateDataStrategyTest.cs
===================================================================
diff -u -rdd4e75e27880fc06f6823cca424a010ab19adb33 -r85b53922d59e2d43ef299322b89e0de7ea085c63
--- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/RingtoetsPipingSurfaceLineUpdateDataStrategyTest.cs (.../RingtoetsPipingSurfaceLineUpdateDataStrategyTest.cs) (revision dd4e75e27880fc06f6823cca424a010ab19adb33)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/RingtoetsPipingSurfaceLineUpdateDataStrategyTest.cs (.../RingtoetsPipingSurfaceLineUpdateDataStrategyTest.cs) (revision 85b53922d59e2d43ef299322b89e0de7ea085c63)
@@ -264,28 +264,30 @@
public void UpdateSurfaceLinesWithImportedData_WithCurrentLinesAndImportedDataEmpty_SurfaceLinesRemoved()
{
// Setup
- var targetCollection = new RingtoetsPipingSurfaceLineCollection();
const string collectionSurfaceLineName = "Name A";
- targetCollection.AddRange(new[]
+
+ var failureMechanism = new PipingFailureMechanism();
+ RingtoetsPipingSurfaceLineCollection surfaceLineCollection = failureMechanism.SurfaceLines;
+ surfaceLineCollection.AddRange(new[]
{
new RingtoetsPipingSurfaceLine
{
Name = collectionSurfaceLineName
}
}, sourceFilePath);
- var strategy = new RingtoetsPipingSurfaceLineUpdateDataStrategy(new PipingFailureMechanism());
+ var strategy = new RingtoetsPipingSurfaceLineUpdateDataStrategy(failureMechanism);
// Call
- IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(targetCollection,
+ IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(surfaceLineCollection,
Enumerable.Empty(),
sourceFilePath);
// Assert
- CollectionAssert.IsEmpty(targetCollection);
+ CollectionAssert.IsEmpty(surfaceLineCollection);
CollectionAssert.AreEqual(new[]
{
- targetCollection
+ surfaceLineCollection
}, affectedObjects);
}
@@ -453,17 +455,16 @@
var failureMechanism = new PipingFailureMechanism();
failureMechanism.CalculationsGroup.Children.Add(calculation);
-
- var strategy = new RingtoetsPipingSurfaceLineUpdateDataStrategy(failureMechanism);
-
- var collection = new RingtoetsPipingSurfaceLineCollection();
- collection.AddRange(new[]
- {
+ RingtoetsPipingSurfaceLineCollection surfaceLineCollection = failureMechanism.SurfaceLines;
+ surfaceLineCollection.AddRange(new[]
+{
surfaceLine
}, sourceFilePath);
+ var strategy = new RingtoetsPipingSurfaceLineUpdateDataStrategy(failureMechanism);
+
// Call
- IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(collection,
+ IEnumerable affectedObjects = strategy.UpdateSurfaceLinesWithImportedData(surfaceLineCollection,
Enumerable.Empty(),
sourceFilePath).ToArray();
@@ -472,7 +473,7 @@
Assert.IsNull(calculation.InputParameters.SurfaceLine);
CollectionAssert.AreEquivalent(new IObservable[]
{
- collection,
+ surfaceLineCollection,
calculation,
calculation.InputParameters
}, affectedObjects);
Index: Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/StochasticSoilModelUpdateDataStrategyTest.cs
===================================================================
diff -u -r7172df944db7fd2d59d68a7a8def96110a44ed9b -r85b53922d59e2d43ef299322b89e0de7ea085c63
--- Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/StochasticSoilModelUpdateDataStrategyTest.cs (.../StochasticSoilModelUpdateDataStrategyTest.cs) (revision 7172df944db7fd2d59d68a7a8def96110a44ed9b)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Plugin.Test/FileImporter/StochasticSoilModelUpdateDataStrategyTest.cs (.../StochasticSoilModelUpdateDataStrategyTest.cs) (revision 85b53922d59e2d43ef299322b89e0de7ea085c63)
@@ -185,23 +185,26 @@
public void UpdateModelWithImportedData_WithCurrentModelsAndImportedDataEmpty_ModelsRemoved()
{
// Setup
- var targetCollection = new StochasticSoilModelCollection();
- targetCollection.AddRange(new[]
+ var failureMechanism = new PipingFailureMechanism();
+ StochasticSoilModelCollection stochasticSoilModelCollection = failureMechanism.StochasticSoilModels;
+ stochasticSoilModelCollection.AddRange(new[]
{
new TestStochasticSoilModel("A"),
new TestStochasticSoilModel("B")
}, sourceFilePath);
- var strategy = new StochasticSoilModelUpdateDataStrategy(new PipingFailureMechanism());
+ var strategy = new StochasticSoilModelUpdateDataStrategy(failureMechanism);
// Call
- IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(targetCollection, new List(), sourceFilePath);
+ IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(stochasticSoilModelCollection,
+ new List(),
+ sourceFilePath);
// Assert
- CollectionAssert.IsEmpty(targetCollection);
- CollectionAssert.AreEqual(new[]
+ CollectionAssert.IsEmpty(stochasticSoilModelCollection);
+ CollectionAssert.AreEquivalent(new[]
{
- targetCollection
+ stochasticSoilModelCollection
}, affectedObjects);
}
@@ -425,25 +428,24 @@
var failureMechanism = new PipingFailureMechanism();
failureMechanism.CalculationsGroup.Children.Add(calculation);
-
- var strategy = new StochasticSoilModelUpdateDataStrategy(failureMechanism);
-
- var targetCollection = new StochasticSoilModelCollection();
- targetCollection.AddRange(new[]
+ StochasticSoilModelCollection stochasticSoilModelCollection = failureMechanism.StochasticSoilModels;
+ stochasticSoilModelCollection.AddRange(new[]
{
existingModel
}, sourceFilePath);
+ var strategy = new StochasticSoilModelUpdateDataStrategy(failureMechanism);
+
// Call
- IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(targetCollection, new List(), sourceFilePath).ToArray();
+ IEnumerable affectedObjects = strategy.UpdateModelWithImportedData(stochasticSoilModelCollection, new List(), sourceFilePath).ToArray();
// Assert
Assert.IsFalse(calculation.HasOutput);
Assert.IsNull(calculation.InputParameters.StochasticSoilModel);
Assert.IsNull(calculation.InputParameters.StochasticSoilProfile);
CollectionAssert.AreEquivalent(new IObservable[]
{
- targetCollection,
+ stochasticSoilModelCollection,
calculation,
calculation.InputParameters
}, affectedObjects);