Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/AssessmentSectionMerger.cs
===================================================================
diff -u -r31fe9de8d235e39e7cfd722a89bc39af495f99a7 -r36fb70b04307e0805488e2862cd94b1820f6bb1e
--- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/AssessmentSectionMerger.cs (.../AssessmentSectionMerger.cs) (revision 31fe9de8d235e39e7cfd722a89bc39af495f99a7)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/AssessmentSectionMerger.cs (.../AssessmentSectionMerger.cs) (revision 36fb70b04307e0805488e2862cd94b1820f6bb1e)
@@ -131,6 +131,12 @@
LogCancelMessage();
return;
}
+
+ if (mergeDataProvider.SelectedAssessmentSection == null || mergeDataProvider.SelectedFailureMechanisms == null)
+ {
+ LogError(Resources.AssessmentSectionMerger_No_AssessmentSection_selected);
+ return;
+ }
}
private string SelectProject()
Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Properties/Resources.Designer.cs
===================================================================
diff -u -r03733ab29bedcd18c213b3d62b87080514a9a67b -r36fb70b04307e0805488e2862cd94b1820f6bb1e
--- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 03733ab29bedcd18c213b3d62b87080514a9a67b)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 36fb70b04307e0805488e2862cd94b1820f6bb1e)
@@ -142,6 +142,15 @@
}
///
+ /// Looks up a localized string similar to Er is geen traject geselecteerd..
+ ///
+ public static string AssessmentSectionMerger_No_AssessmentSection_selected {
+ get {
+ return ResourceManager.GetString("AssessmentSectionMerger_No_AssessmentSection_selected", resourceCulture);
+ }
+ }
+
+ ///
/// Looks up a localized string similar to Er zijn geen trajecten gevonden die samengevoegd kunnen worden..
///
public static string AssessmentSectionMerger_No_matching_AssessmentSections {
Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Properties/Resources.resx
===================================================================
diff -u -r03733ab29bedcd18c213b3d62b87080514a9a67b -r36fb70b04307e0805488e2862cd94b1820f6bb1e
--- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Properties/Resources.resx (.../Resources.resx) (revision 03733ab29bedcd18c213b3d62b87080514a9a67b)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/Properties/Resources.resx (.../Resources.resx) (revision 36fb70b04307e0805488e2862cd94b1820f6bb1e)
@@ -188,4 +188,7 @@
Er zijn geen trajecten gevonden die samengevoegd kunnen worden.
+
+ Er is geen traject geselecteerd.
+
\ No newline at end of file
Index: Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/AssessmentSectionMergerTest.cs
===================================================================
diff -u -r31fe9de8d235e39e7cfd722a89bc39af495f99a7 -r36fb70b04307e0805488e2862cd94b1820f6bb1e
--- Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/AssessmentSectionMergerTest.cs (.../AssessmentSectionMergerTest.cs) (revision 31fe9de8d235e39e7cfd722a89bc39af495f99a7)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Plugin.Test/AssessmentSectionMergerTest.cs (.../AssessmentSectionMergerTest.cs) (revision 36fb70b04307e0805488e2862cd94b1820f6bb1e)
@@ -258,5 +258,70 @@
TestHelper.AssertLogMessageWithLevelIsGenerated(call, new Tuple("Importeren van gegevens is geannuleerd.", LogLevelConstant.Info), 1);
mocks.VerifyAll();
}
+
+ [Test]
+ public void GivenMatchedAssessmentSection_WhenMergeDataProviderReturnTrueButSelectedAssessmentSectionNull_ThenLogErrorMessageAndAbort()
+ {
+ // Given
+ var mocks = new MockRepository();
+ var inquiryHelper = mocks.StrictMock();
+ inquiryHelper.Expect(helper => helper.GetSourceFileLocation(null)).IgnoreArguments().Return(string.Empty);
+ var comparer = mocks.StrictMock();
+ comparer.Expect(c => c.Compare(null, null)).IgnoreArguments().Return(true);
+ var mergeDataProvider = mocks.StrictMock();
+ mergeDataProvider.Expect(mdp => mdp.SelectData(null)).IgnoreArguments().Return(true);
+ mergeDataProvider.Expect(mdp => mdp.SelectedAssessmentSection).Return(null);
+ mocks.ReplayAll();
+
+ Action getAssessmentSectionsAction = (path, owner) =>
+ {
+ owner.AssessmentSections = new []
+ {
+ new AssessmentSection(AssessmentSectionComposition.Dike)
+ };
+ };
+
+ var merger = new AssessmentSectionMerger(inquiryHelper, getAssessmentSectionsAction, comparer, mergeDataProvider);
+
+ // When
+ Action call = () => merger.StartMerge(new AssessmentSection(AssessmentSectionComposition.Dike));
+
+ // Then
+ TestHelper.AssertLogMessageWithLevelIsGenerated(call, new Tuple("Er is geen traject geselecteerd.", LogLevelConstant.Error), 1);
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void GivenMatchedAssessmentSection_WhenMergeDataProviderReturnTrueButSelectedFailureMechanismsnNull_ThenLogErrorMessageAndAbort()
+ {
+ // Given
+ var mocks = new MockRepository();
+ var inquiryHelper = mocks.StrictMock();
+ inquiryHelper.Expect(helper => helper.GetSourceFileLocation(null)).IgnoreArguments().Return(string.Empty);
+ var comparer = mocks.StrictMock();
+ comparer.Expect(c => c.Compare(null, null)).IgnoreArguments().Return(true);
+ var mergeDataProvider = mocks.StrictMock();
+ mergeDataProvider.Expect(mdp => mdp.SelectData(null)).IgnoreArguments().Return(true);
+ mergeDataProvider.Expect(mdp => mdp.SelectedAssessmentSection).Return(new AssessmentSection(AssessmentSectionComposition.Dike));
+ mergeDataProvider.Expect(mdp => mdp.SelectedFailureMechanisms).Return(null);
+ mocks.ReplayAll();
+
+ Action getAssessmentSectionsAction = (path, owner) =>
+ {
+ owner.AssessmentSections = new []
+ {
+ new AssessmentSection(AssessmentSectionComposition.Dike)
+ };
+ };
+
+ var merger = new AssessmentSectionMerger(inquiryHelper, getAssessmentSectionsAction, comparer, mergeDataProvider);
+
+ // When
+ Action call = () => merger.StartMerge(new AssessmentSection(AssessmentSectionComposition.Dike));
+
+ // Then
+ TestHelper.AssertLogMessageWithLevelIsGenerated(call, new Tuple("Er is geen traject geselecteerd.", LogLevelConstant.Error), 1);
+ mocks.VerifyAll();
+ }
}
}
\ No newline at end of file