Index: Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/FailureMechanismSectionReplaceStrategy.cs
===================================================================
diff -u -r47a96e6294e02b226c41cceb2cbf0a4fc41b058c -rb0bfd022ad9960dc878810c36dfc10ee2046b7b6
--- Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/FailureMechanismSectionReplaceStrategy.cs (.../FailureMechanismSectionReplaceStrategy.cs) (revision 47a96e6294e02b226c41cceb2cbf0a4fc41b058c)
+++ Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/FailureMechanismSectionReplaceStrategy.cs (.../FailureMechanismSectionReplaceStrategy.cs) (revision b0bfd022ad9960dc878810c36dfc10ee2046b7b6)
@@ -67,7 +67,7 @@
{
failureMechanism.SetSections(importedFailureMechanismSections, sourcePath);
}
- catch (Exception e)
+ catch (ArgumentException e)
{
throw new UpdateDataException(e.Message, e);
}
Index: Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/FailureMechanismSectionUpdateStrategy.cs
===================================================================
diff -u -r47a96e6294e02b226c41cceb2cbf0a4fc41b058c -rb0bfd022ad9960dc878810c36dfc10ee2046b7b6
--- Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/FailureMechanismSectionUpdateStrategy.cs (.../FailureMechanismSectionUpdateStrategy.cs) (revision 47a96e6294e02b226c41cceb2cbf0a4fc41b058c)
+++ Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/FailureMechanismSectionUpdateStrategy.cs (.../FailureMechanismSectionUpdateStrategy.cs) (revision b0bfd022ad9960dc878810c36dfc10ee2046b7b6)
@@ -41,7 +41,7 @@
///
/// Creates a new instance of .
///
- /// The to update the secitons for.
+ /// The to update the sections for.
/// The to use when updating
/// the section results.
/// Thrown when any parameter is null.
@@ -81,7 +81,7 @@
{
failureMechanism.SetSections(importedFailureMechanismSections, sourcePath);
}
- catch (Exception e)
+ catch (ArgumentException e)
{
throw new UpdateDataException(e.Message, e);
}
Index: Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/FailureMechanismSectionsImporter.cs
===================================================================
diff -u -r47a96e6294e02b226c41cceb2cbf0a4fc41b058c -rb0bfd022ad9960dc878810c36dfc10ee2046b7b6
--- Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/FailureMechanismSectionsImporter.cs (.../FailureMechanismSectionsImporter.cs) (revision 47a96e6294e02b226c41cceb2cbf0a4fc41b058c)
+++ Ringtoets/Common/src/Ringtoets.Common.IO/FileImporters/FailureMechanismSectionsImporter.cs (.../FailureMechanismSectionsImporter.cs) (revision b0bfd022ad9960dc878810c36dfc10ee2046b7b6)
@@ -162,14 +162,10 @@
{
return new FailureMechanismSectionReader(FilePath);
}
- catch (CriticalFileReadException exception)
+ catch (Exception exception) when (exception is CriticalFileReadException || exception is ArgumentException)
{
LogCriticalError(exception.Message);
}
- catch (ArgumentException exception)
- {
- LogCriticalError(exception.Message);
- }
return null;
}
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/UpdateInfos/RingtoetsUpdateInfoFactoryTest.cs
===================================================================
diff -u -r47a96e6294e02b226c41cceb2cbf0a4fc41b058c -rb0bfd022ad9960dc878810c36dfc10ee2046b7b6
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/UpdateInfos/RingtoetsUpdateInfoFactoryTest.cs (.../RingtoetsUpdateInfoFactoryTest.cs) (revision 47a96e6294e02b226c41cceb2cbf0a4fc41b058c)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/UpdateInfos/RingtoetsUpdateInfoFactoryTest.cs (.../RingtoetsUpdateInfoFactoryTest.cs) (revision b0bfd022ad9960dc878810c36dfc10ee2046b7b6)
@@ -123,7 +123,7 @@
}
[Test]
- public void CreateFailureMechanismSectionsUpdateInfo_WithoutSetSourcePath_ReturnsIsEnabledFalse()
+ public void CreateFailureMechanismSectionsUpdateInfo_WithSourcePath_ReturnsSourcePath()
{
// Setup
var mocks = new MockRepository();
@@ -137,13 +137,36 @@
FailureMechanismSectionsContext, TestFailureMechanism, FailureMechanismSectionResult>(sectionResultUpdateStrategy);
// Assert
+ var testFailureMechanism = new TestFailureMechanism();
+ testFailureMechanism.SetSections(Enumerable.Empty(), "path/to/sections");
+ var failureMechanismSectionsContext = new FailureMechanismSectionsContext(testFailureMechanism, assessmentSection);
+ Assert.AreEqual(testFailureMechanism.FailureMechanismSectionSourcePath,
+ updateInfo.CurrentPath(failureMechanismSectionsContext));
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void CreateFailureMechanismSectionsUpdateInfo_WithoutSourcePath_ReturnsIsEnabledFalse()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var sectionResultUpdateStrategy = mocks.Stub>();
+ var assessmentSection = mocks.Stub();
+ assessmentSection.ReferenceLine = new ReferenceLine();
+ mocks.ReplayAll();
+
+ // Call
+ UpdateInfo updateInfo = RingtoetsUpdateInfoFactory.CreateFailureMechanismSectionsUpdateInfo<
+ FailureMechanismSectionsContext, TestFailureMechanism, FailureMechanismSectionResult>(sectionResultUpdateStrategy);
+
+ // Assert
var failureMechanismSectionsContext = new FailureMechanismSectionsContext(new TestFailureMechanism(), assessmentSection);
Assert.IsFalse(updateInfo.IsEnabled(failureMechanismSectionsContext));
mocks.VerifyAll();
}
[Test]
- public void CreateFailureMechanismSectionsUpdateInfo_WithoutSetSourcePath_ReturnsNullPath()
+ public void CreateFailureMechanismSectionsUpdateInfo_WithoutSourcePath_ReturnsNullPath()
{
// Setup
var mocks = new MockRepository();
Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/FileImporters/FailureMechanismSectionUpdateStrategyTest.cs
===================================================================
diff -u -r47a96e6294e02b226c41cceb2cbf0a4fc41b058c -rb0bfd022ad9960dc878810c36dfc10ee2046b7b6
--- Ringtoets/Common/test/Ringtoets.Common.IO.Test/FileImporters/FailureMechanismSectionUpdateStrategyTest.cs (.../FailureMechanismSectionUpdateStrategyTest.cs) (revision 47a96e6294e02b226c41cceb2cbf0a4fc41b058c)
+++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/FileImporters/FailureMechanismSectionUpdateStrategyTest.cs (.../FailureMechanismSectionUpdateStrategyTest.cs) (revision b0bfd022ad9960dc878810c36dfc10ee2046b7b6)
@@ -27,7 +27,6 @@
using Core.Common.TestUtil;
using NUnit.Framework;
using Rhino.Mocks;
-using Ringtoets.Common.Data.Calculation;
using Ringtoets.Common.Data.Exceptions;
using Ringtoets.Common.Data.FailureMechanism;
using Ringtoets.Common.Data.TestUtil;
@@ -133,7 +132,7 @@
// Setup
string sourcePath = TestHelper.GetScratchPadPath();
- var failureMechanism = new TestUpdateFailureMechanism();
+ var failureMechanism = new TestFailureMechanism();
FailureMechanismSection failureMechanismSection1 = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(new[]
{
new Point2D(0.0, 0.0),
@@ -150,11 +149,11 @@
failureMechanismSection2
}, sourcePath);
- IObservableEnumerable failureMechanismSectionResults = failureMechanism.SectionResults;
- TestFailureMechanismSectionResult oldSectionResult = failureMechanismSectionResults.First();
+ IObservableEnumerable failureMechanismSectionResults = failureMechanism.SectionResults;
+ FailureMechanismSectionResult oldSectionResult = failureMechanismSectionResults.First();
var sectionResultUpdateStrategy = new TestUpdateFailureMechanismSectionResultUpdateStrategy();
- var failureMechanismSectionUpdateStrategy = new FailureMechanismSectionUpdateStrategy(failureMechanism, sectionResultUpdateStrategy);
+ var failureMechanismSectionUpdateStrategy = new FailureMechanismSectionUpdateStrategy(failureMechanism, sectionResultUpdateStrategy);
FailureMechanismSection[] sections =
{
@@ -189,7 +188,7 @@
// Setup
string sourcePath = TestHelper.GetScratchPadPath();
- var failureMechanism = new TestUpdateFailureMechanism();
+ var failureMechanism = new TestFailureMechanism();
FailureMechanismSection failureMechanismSection1 = FailureMechanismSectionTestFactory.CreateFailureMechanismSection(new[]
{
new Point2D(0.0, 0.0),
@@ -202,7 +201,7 @@
});
var sectionResultUpdateStrategy = new TestUpdateFailureMechanismSectionResultUpdateStrategy();
- var failureMechanismSectionUpdateStrategy = new FailureMechanismSectionUpdateStrategy(failureMechanism, sectionResultUpdateStrategy);
+ var failureMechanismSectionUpdateStrategy = new FailureMechanismSectionUpdateStrategy(failureMechanism, sectionResultUpdateStrategy);
FailureMechanismSection[] sections =
{
@@ -227,14 +226,14 @@
const string oldSourcePath = "old/path";
string sourcePath = TestHelper.GetScratchPadPath();
- var failureMechanism = new TestUpdateFailureMechanism();
+ var failureMechanism = new TestFailureMechanism();
failureMechanism.SetSections(new[]
{
FailureMechanismSectionTestFactory.CreateFailureMechanismSection()
}, oldSourcePath);
var sectionResultUpdateStrategy = new TestUpdateFailureMechanismSectionResultUpdateStrategy();
- var failureMechanismSectionUpdateStrategy = new FailureMechanismSectionUpdateStrategy(
+ var failureMechanismSectionUpdateStrategy = new FailureMechanismSectionUpdateStrategy(
failureMechanism, sectionResultUpdateStrategy);
// Precondition
@@ -251,44 +250,14 @@
Assert.IsFalse(sectionResultUpdateStrategy.Updated);
}
- private class TestUpdateFailureMechanism : FailureMechanismBase, IHasSectionResults
+ private class TestUpdateFailureMechanismSectionResultUpdateStrategy : IFailureMechanismSectionResultUpdateStrategy
{
- private readonly ObservableList sectionResults;
+ public bool Updated { get; private set; }
+ public FailureMechanismSectionResult Origin { get; private set; }
+ public FailureMechanismSectionResult Target { get; private set; }
- public TestUpdateFailureMechanism() : base("Test", "TST", 2)
+ public void UpdateSectionResult(FailureMechanismSectionResult origin, FailureMechanismSectionResult target)
{
- sectionResults = new ObservableList();
- }
-
- public override IEnumerable Calculations { get; }
-
- public IObservableEnumerable SectionResults
- {
- get
- {
- return sectionResults;
- }
- }
-
- protected override void AddSectionResult(FailureMechanismSection section)
- {
- sectionResults.Add(new TestFailureMechanismSectionResult(section));
- }
-
- protected override void ClearSectionResults()
- {
- sectionResults.Clear();
- }
- }
-
- private class TestUpdateFailureMechanismSectionResultUpdateStrategy : IFailureMechanismSectionResultUpdateStrategy
- {
- public bool Updated { get; set; }
- public TestFailureMechanismSectionResult Origin { get; set; }
- public TestFailureMechanismSectionResult Target { get; set; }
-
- public void UpdateSectionResult(TestFailureMechanismSectionResult origin, TestFailureMechanismSectionResult target)
- {
Updated = true;
Origin = origin;
Target = target;
Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/FileImporters/FailureMechanismSectionsImporterTest.cs
===================================================================
diff -u -r47a96e6294e02b226c41cceb2cbf0a4fc41b058c -rb0bfd022ad9960dc878810c36dfc10ee2046b7b6
--- Ringtoets/Common/test/Ringtoets.Common.IO.Test/FileImporters/FailureMechanismSectionsImporterTest.cs (.../FailureMechanismSectionsImporterTest.cs) (revision 47a96e6294e02b226c41cceb2cbf0a4fc41b058c)
+++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/FileImporters/FailureMechanismSectionsImporterTest.cs (.../FailureMechanismSectionsImporterTest.cs) (revision b0bfd022ad9960dc878810c36dfc10ee2046b7b6)
@@ -125,7 +125,7 @@
[Test]
[TestCase("traject_1-1.shp", "traject_1-1_vakken.shp", 62)]
[TestCase("traject_19-1.shp", "traject_19-1_vakken.shp", 17)]
- public void Import_ValidFileCorrespondingToReferenceLineAndNoSectionImportedYet_CallsUpdateStrategy(string referenceLineFileName, string sectionsFileName, int sectionCount)
+ public void Import_ValidFileCorrespondingToReferenceLine_CallsUpdateStrategy(string referenceLineFileName, string sectionsFileName, int sectionCount)
{
// Setup
var mocks = new MockRepository();
@@ -160,7 +160,7 @@
[TestCase("StartSectionReversedCoordinates")]
[TestCase("EndSectionReversedCoordinates")]
[TestCase("InBetweenSectionReversedCoordinates")]
- public void Import_ValidArtificialFileWithReversedSectionCoordinatesImperfectlyCorrespondingToReferenceLineAndNoSectionImportedYet_CallsUpdateStrategy(
+ public void Import_ValidArtificialFileWithReversedSectionCoordinatesImperfectlyCorrespondingToReferenceLine_CallsUpdateStrategy(
string affectedSection)
{
// Setup