Index: Ringtoets/Common/src/Ringtoets.Common.Service/DesignWaterLevelCalculationService.cs
===================================================================
diff -u -r16f6bd5805e77d549cded91fc48fff35ffbdec00 -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/Common/src/Ringtoets.Common.Service/DesignWaterLevelCalculationService.cs (.../DesignWaterLevelCalculationService.cs) (revision 16f6bd5805e77d549cded91fc48fff35ffbdec00)
+++ Ringtoets/Common/src/Ringtoets.Common.Service/DesignWaterLevelCalculationService.cs (.../DesignWaterLevelCalculationService.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -91,6 +91,8 @@
calculator = HydraRingCalculatorFactory.Instance.CreateDesignWaterLevelCalculator(hlcdDirectory, ringId);
+ var exceptionThrown = false;
+
try
{
calculator.Calculate(CreateInput(hydraulicBoundaryLocation, norm, hydraulicBoundaryDatabaseFilePath));
@@ -108,14 +110,31 @@
{
if (!canceled)
{
- log.Error(messageProvider.GetCalculationFailedMessage(hydraulicBoundaryLocation.Name));
+ var lastErrorContent = calculator.LastErrorContent;
+ log.Error(string.IsNullOrEmpty(lastErrorContent)
+ ? messageProvider.GetCalculationFailedUnexplainedMessage(hydraulicBoundaryLocation.Name)
+ : messageProvider.GetCalculationFailedMessage(hydraulicBoundaryLocation.Name, lastErrorContent));
+
+ exceptionThrown = true;
throw;
}
}
finally
{
- log.InfoFormat(Resources.DesignWaterLevelCalculationService_Calculate_Calculation_temporary_directory_can_be_found_on_location_0, calculator.OutputDirectory);
- CalculationServiceHelper.LogCalculationEndTime(calculationName);
+ try
+ {
+ var lastErrorContent = calculator.LastErrorContent;
+ if (!exceptionThrown && !string.IsNullOrEmpty(lastErrorContent))
+ {
+ log.Error(messageProvider.GetCalculationFailedMessage(hydraulicBoundaryLocation.Name, lastErrorContent));
+ throw new HydraRingFileParserException(lastErrorContent);
+ }
+ }
+ finally
+ {
+ log.InfoFormat(Resources.DesignWaterLevelCalculationService_Calculate_Calculation_temporary_directory_can_be_found_on_location_0, calculator.OutputDirectory);
+ CalculationServiceHelper.LogCalculationEndTime(calculationName);
+ }
}
}
Index: Ringtoets/Common/src/Ringtoets.Common.Service/MessageProviders/ICalculationMessageProvider.cs
===================================================================
diff -u -r1042a38d3663daeda5a8e1083edbc63a4b6aae94 -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/Common/src/Ringtoets.Common.Service/MessageProviders/ICalculationMessageProvider.cs (.../ICalculationMessageProvider.cs) (revision 1042a38d3663daeda5a8e1083edbc63a4b6aae94)
+++ Ringtoets/Common/src/Ringtoets.Common.Service/MessageProviders/ICalculationMessageProvider.cs (.../ICalculationMessageProvider.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -44,10 +44,18 @@
/// Gets the message that should be used when a calculation fails.
///
/// The calculation subject used in the calculation name.
+ /// The failure message provided from the calculation.
/// The message.
- string GetCalculationFailedMessage(string calculationSubject);
+ string GetCalculationFailedMessage(string calculationSubject, string failureMessage);
///
+ /// Gets the message that should be used when a calculation fails without explanation.
+ ///
+ /// The calculation subject used in the calculation name.
+ /// The message.
+ string GetCalculationFailedUnexplainedMessage(string calculationSubject);
+
+ ///
/// Gets the message that should be used when a calculation cannot be converged.
///
/// The calculation subject used in the calculation name.
Index: Ringtoets/Common/src/Ringtoets.Common.Service/Properties/Resources.Designer.cs
===================================================================
diff -u -r6279011a954055d718ba3acf1144fc0da8923bf7 -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/Common/src/Ringtoets.Common.Service/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 6279011a954055d718ba3acf1144fc0da8923bf7)
+++ Ringtoets/Common/src/Ringtoets.Common.Service/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -147,16 +147,27 @@
}
///
- /// Looks up a localized string similar to Er is een fout opgetreden tijdens de toetspeil berekening '{0}': inspecteer het logbestand..
+ /// Looks up a localized string similar to Er is een fout opgetreden tijdens de toetspeil berekening '{0}'. Bekijk het foutrapport door op details te klikken.
+ ///{1}.
///
- public static string DesignWaterLevelCalculationService_Calculate_Error_in_design_water_level_0_calculation {
+ public static string DesignwaterlevelCalculationService_Calculate_Error_in_DesignWaterLevel_0_calculation_click_details_for_last_error_1 {
get {
- return ResourceManager.GetString("DesignWaterLevelCalculationService_Calculate_Error_in_design_water_level_0_calcul" +
- "ation", resourceCulture);
+ return ResourceManager.GetString("DesignwaterlevelCalculationService_Calculate_Error_in_DesignWaterLevel_0_calculat" +
+ "ion_click_details_for_last_error_1", resourceCulture);
}
}
///
+ /// Looks up a localized string similar to Er is een fout opgetreden tijdens de toetspeil berekening '{0}'. Er is geen foutrapport beschikbaar..
+ ///
+ public static string DesignWaterLevelCalculationService_Calculate_Unexplained_error_in_design_water_level_0_calculation {
+ get {
+ return ResourceManager.GetString("DesignWaterLevelCalculationService_Calculate_Unexplained_error_in_design_water_le" +
+ "vel_0_calculation", resourceCulture);
+ }
+ }
+
+ ///
/// Looks up a localized string similar to Toetspeil berekenen voor locatie '{0}'.
///
public static string DesignWaterLevelCalculationService_Name_Calculate_assessment_level_for_location_0_ {
@@ -288,15 +299,27 @@
}
///
- /// Looks up a localized string similar to Er is een fout opgetreden tijdens de golfhoogte berekening '{0}': inspecteer het logbestand..
+ /// Looks up a localized string similar to Er is een fout opgetreden tijdens de golfhoogte berekening '{0}'. Bekijk het foutrapport door op details te klikken.
+ ///{1}.
///
- public static string WaveHeightCalculationService_Calculate_Error_in_wave_height_0_calculation {
+ public static string WaveHeightCalculationService_Calculate_Error_in_wave_height_0_calculation_click_details_for_last_error_1 {
get {
- return ResourceManager.GetString("WaveHeightCalculationService_Calculate_Error_in_wave_height_0_calculation", resourceCulture);
+ return ResourceManager.GetString("WaveHeightCalculationService_Calculate_Error_in_wave_height_0_calculation_click_d" +
+ "etails_for_last_error_1", resourceCulture);
}
}
///
+ /// Looks up a localized string similar to Er is een fout opgetreden tijdens de golfhoogte berekening '{0}'. Er is geen foutrapport beschikbaar..
+ ///
+ public static string WaveHeightCalculationService_Calculate_Unexplained_error_in_wave_height_0_calculation {
+ get {
+ return ResourceManager.GetString("WaveHeightCalculationService_Calculate_Unexplained_error_in_wave_height_0_calcula" +
+ "tion", resourceCulture);
+ }
+ }
+
+ ///
/// Looks up a localized string similar to Golfhoogte berekenen voor locatie '{0}'.
///
public static string WaveHeightCalculationService_Name_Calculate_wave_height_for_location_0_ {
Index: Ringtoets/Common/src/Ringtoets.Common.Service/Properties/Resources.resx
===================================================================
diff -u -r6279011a954055d718ba3acf1144fc0da8923bf7 -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/Common/src/Ringtoets.Common.Service/Properties/Resources.resx (.../Resources.resx) (revision 6279011a954055d718ba3acf1144fc0da8923bf7)
+++ Ringtoets/Common/src/Ringtoets.Common.Service/Properties/Resources.resx (.../Resources.resx) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -141,8 +141,8 @@
Toetspeil berekening voor locatie {0} is niet geconvergeerd.
-
- Er is een fout opgetreden tijdens de toetspeil berekening '{0}': inspecteer het logbestand.
+
+ Er is een fout opgetreden tijdens de toetspeil berekening '{0}'. Er is geen foutrapport beschikbaar.
Toetspeil berekenen voor locatie '{0}'
@@ -153,8 +153,8 @@
Golfhoogte berekening voor locatie {0} is niet geconvergeerd.
-
- Er is een fout opgetreden tijdens de golfhoogte berekening '{0}': inspecteer het logbestand.
+
+ Er is een fout opgetreden tijdens de golfhoogte berekening '{0}'. Er is geen foutrapport beschikbaar.
Golfhoogte berekenen voor locatie '{0}'
@@ -189,4 +189,12 @@
Golfhoogte berekening is uitgevoerd op de tijdelijke locatie: {0}. Gedetailleerde invoer en uitvoer kan in de bestanden op deze locatie worden gevonden.
+
+ Er is een fout opgetreden tijdens de toetspeil berekening '{0}'. Bekijk het foutrapport door op details te klikken.
+{1}
+
+
+ Er is een fout opgetreden tijdens de golfhoogte berekening '{0}'. Bekijk het foutrapport door op details te klikken.
+{1}
+
\ No newline at end of file
Index: Ringtoets/Common/src/Ringtoets.Common.Service/WaveHeightCalculationService.cs
===================================================================
diff -u -r8e182435811ddd7f9cf29ae57f62b91a2ce5a29c -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/Common/src/Ringtoets.Common.Service/WaveHeightCalculationService.cs (.../WaveHeightCalculationService.cs) (revision 8e182435811ddd7f9cf29ae57f62b91a2ce5a29c)
+++ Ringtoets/Common/src/Ringtoets.Common.Service/WaveHeightCalculationService.cs (.../WaveHeightCalculationService.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -90,6 +90,8 @@
calculator = HydraRingCalculatorFactory.Instance.CreateWaveHeightCalculator(hlcdDirectory, ringId);
+ var exceptionThrown = false;
+
try
{
calculator.Calculate(CreateInput(hydraulicBoundaryLocation, norm));
@@ -107,14 +109,31 @@
{
if (!canceled)
{
- log.Error(messageProvider.GetCalculationFailedMessage(hydraulicBoundaryLocation.Name));
+ var lastErrorContent = calculator.LastErrorContent;
+ log.Error(string.IsNullOrEmpty(lastErrorContent)
+ ? messageProvider.GetCalculationFailedUnexplainedMessage(hydraulicBoundaryLocation.Name)
+ : messageProvider.GetCalculationFailedMessage(hydraulicBoundaryLocation.Name, lastErrorContent));
+
+ exceptionThrown = true;
throw;
}
}
finally
{
- log.InfoFormat(Resources.WaveHeightCalculationService_Calculate_Calculation_temporary_directory_can_be_found_on_location_0, calculator.OutputDirectory);
- CalculationServiceHelper.LogCalculationEndTime(calculationName);
+ try
+ {
+ var lastErrorContent = calculator.LastErrorContent;
+ if (!exceptionThrown && !string.IsNullOrEmpty(lastErrorContent))
+ {
+ log.Error(messageProvider.GetCalculationFailedMessage(hydraulicBoundaryLocation.Name, lastErrorContent));
+ throw new HydraRingFileParserException(lastErrorContent);
+ }
+ }
+ finally
+ {
+ log.InfoFormat(Resources.WaveHeightCalculationService_Calculate_Calculation_temporary_directory_can_be_found_on_location_0, calculator.OutputDirectory);
+ CalculationServiceHelper.LogCalculationEndTime(calculationName);
+ }
}
}
Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/DesignWaterLevelCalculationActivityTest.cs
===================================================================
diff -u -r18a3f0bab0ce260604820928c136e66abca7daab -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/Common/test/Ringtoets.Common.Service.Test/DesignWaterLevelCalculationActivityTest.cs (.../DesignWaterLevelCalculationActivityTest.cs) (revision 18a3f0bab0ce260604820928c136e66abca7daab)
+++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/DesignWaterLevelCalculationActivityTest.cs (.../DesignWaterLevelCalculationActivityTest.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -307,7 +307,7 @@
var calculationMessageProviderMock = mockRepository.StrictMock();
calculationMessageProviderMock.Stub(calc => calc.GetActivityName(locationName)).Return(string.Empty);
calculationMessageProviderMock.Stub(calc => calc.GetCalculationName(locationName)).Return(string.Empty);
- calculationMessageProviderMock.Stub(calc => calc.GetCalculationFailedMessage(locationName)).Return(calculationFailedMessage);
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationFailedMessage(null, null)).IgnoreArguments().Return(calculationFailedMessage);
mockRepository.ReplayAll();
var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(0, locationName, 0, 0)
@@ -325,7 +325,9 @@
using (new HydraRingCalculatorFactoryConfig())
{
- ((TestHydraRingCalculatorFactory) HydraRingCalculatorFactory.Instance).DesignWaterLevelCalculator.EndInFailure = true;
+ var calculator = ((TestHydraRingCalculatorFactory) HydraRingCalculatorFactory.Instance).DesignWaterLevelCalculator;
+ calculator.EndInFailure = true;
+ calculator.LastErrorContent = calculationFailedMessage;
// Call
Action call = () => activity.Run();
@@ -384,5 +386,110 @@
}
mockRepository.VerifyAll();
}
+
+ [Test]
+ public void Run_UnexplainedErrorInCalculation_PerformValidationAndCalculationAndLogStartAndEndAndError()
+ {
+ // Setup
+ const string locationName = "locationName 1";
+ string calculationFailedMessage = "Something went wrong";
+ var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(0, locationName, 0, 0)
+ {
+ DesignWaterLevel = new RoundedDouble(2, double.NaN),
+ DesignWaterLevelCalculationConvergence = CalculationConvergence.NotCalculated
+ };
+
+ var calculationMessageProviderMock = mockRepository.StrictMock();
+ calculationMessageProviderMock.Stub(calc => calc.GetActivityName(locationName)).Return(string.Empty);
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationName(locationName)).Return(locationName);
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationFailedUnexplainedMessage(locationName)).Return(calculationFailedMessage);
+ mockRepository.ReplayAll();
+
+ string validFilePath = Path.Combine(testDataPath, validFile);
+
+ var norm = 30;
+
+ var activity = new DesignWaterLevelCalculationActivity(hydraulicBoundaryLocation,
+ validFilePath,
+ string.Empty,
+ norm,
+ calculationMessageProviderMock);
+
+ using (new HydraRingCalculatorFactoryConfig())
+ {
+ var calculator = ((TestHydraRingCalculatorFactory)HydraRingCalculatorFactory.Instance).DesignWaterLevelCalculator;
+ calculator.EndInFailure = true;
+
+ // Call
+ Action call = () => activity.Run();
+
+ // Assert
+ TestHelper.AssertLogMessages(call, messages =>
+ {
+ var msgs = messages.ToArray();
+ Assert.AreEqual(6, msgs.Length);
+ StringAssert.StartsWith(string.Format("Validatie van '{0}' gestart om: ", locationName), msgs[0]);
+ StringAssert.StartsWith(string.Format("Validatie van '{0}' beëindigd om: ", locationName), msgs[1]);
+ StringAssert.StartsWith(string.Format("Berekening van '{0}' gestart om: ", locationName), msgs[2]);
+ Assert.AreEqual(calculationFailedMessage, msgs[3]);
+ StringAssert.StartsWith("Toetspeil berekening is uitgevoerd op de tijdelijke locatie:", msgs[4]);
+ StringAssert.StartsWith(string.Format("Berekening van '{0}' beëindigd om: ", locationName), msgs[5]);
+ });
+ Assert.AreEqual(ActivityState.Failed, activity.State);
+ }
+ }
+
+ [Test]
+ public void Run_ErrorInCalculation_PerformValidationAndCalculationAndLogStartAndEndAndError()
+ {
+ // Setup
+ const string locationName = "locationName 1";
+ string calculationFailedMessage = "Something went wrong";
+ var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(0, locationName, 0, 0)
+ {
+ DesignWaterLevel = new RoundedDouble(2, double.NaN),
+ DesignWaterLevelCalculationConvergence = CalculationConvergence.NotCalculated
+ };
+
+ var calculationMessageProviderMock = mockRepository.StrictMock();
+ calculationMessageProviderMock.Stub(calc => calc.GetActivityName(locationName)).Return(locationName);
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationName(locationName)).Return(locationName);
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationFailedMessage(null, null)).IgnoreArguments().Return(calculationFailedMessage);
+ mockRepository.ReplayAll();
+
+ string validFilePath = Path.Combine(testDataPath, validFile);
+
+ var norm = 30;
+
+ var activity = new DesignWaterLevelCalculationActivity(hydraulicBoundaryLocation,
+ validFilePath,
+ string.Empty,
+ norm,
+ calculationMessageProviderMock);
+
+ using (new HydraRingCalculatorFactoryConfig())
+ {
+ var calculator = ((TestHydraRingCalculatorFactory)HydraRingCalculatorFactory.Instance).DesignWaterLevelCalculator;
+ calculator.EndInFailure = false;
+ calculator.LastErrorContent = "An error occured";
+
+ // Call
+ Action call = () => activity.Run();
+
+ // Assert
+ TestHelper.AssertLogMessages(call, messages =>
+ {
+ var msgs = messages.ToArray();
+ Assert.AreEqual(6, msgs.Length);
+ StringAssert.StartsWith(string.Format("Validatie van '{0}' gestart om: ", locationName), msgs[0]);
+ StringAssert.StartsWith(string.Format("Validatie van '{0}' beëindigd om: ", locationName), msgs[1]);
+ StringAssert.StartsWith(string.Format("Berekening van '{0}' gestart om: ", locationName), msgs[2]);
+ Assert.AreEqual(calculationFailedMessage, msgs[3]);
+ StringAssert.StartsWith("Toetspeil berekening is uitgevoerd op de tijdelijke locatie:", msgs[4]);
+ StringAssert.StartsWith(string.Format("Berekening van '{0}' beëindigd om: ", locationName), msgs[5]);
+ });
+ Assert.AreEqual(ActivityState.Failed, activity.State);
+ }
+ }
}
}
\ No newline at end of file
Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/DesignWaterLevelCalculationServiceTest.cs
===================================================================
diff -u -r18a3f0bab0ce260604820928c136e66abca7daab -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/Common/test/Ringtoets.Common.Service.Test/DesignWaterLevelCalculationServiceTest.cs (.../DesignWaterLevelCalculationServiceTest.cs) (revision 18a3f0bab0ce260604820928c136e66abca7daab)
+++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/DesignWaterLevelCalculationServiceTest.cs (.../DesignWaterLevelCalculationServiceTest.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -194,7 +194,7 @@
var mockRepository = new MockRepository();
var calculationMessageProviderMock = mockRepository.StrictMock();
calculationMessageProviderMock.Stub(calc => calc.GetCalculationName(locationName)).Return(calculationName);
- calculationMessageProviderMock.Stub(calc => calc.GetCalculationFailedMessage(locationName)).Return(calculationFailedMessage);
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationFailedMessage(null, null)).IgnoreArguments().Return(calculationFailedMessage);
mockRepository.ReplayAll();
var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, locationName, 0, 0)
@@ -207,6 +207,7 @@
var testFactory = (TestHydraRingCalculatorFactory) HydraRingCalculatorFactory.Instance;
var testCalculator = testFactory.DesignWaterLevelCalculator;
testCalculator.EndInFailure = true;
+ testCalculator.LastErrorContent = calculationFailedMessage;
bool exceptionThrown = false;
// Call
@@ -242,6 +243,188 @@
mockRepository.VerifyAll();
}
+ [Test]
+ public void Calculate_CalculationFailedWithExceptionAndLastErrorPresent_LogErrorAndThrowException()
+ {
+ // Setup
+ string validFilePath = Path.Combine(testDataPath, validFile);
+
+ const string locationName = "punt_flw_ 1";
+ const string calculationName = "locationName";
+ const string calculationFailedMessage = "calculationFailedMessage";
+
+ var mockRepository = new MockRepository();
+ var calculationMessageProviderMock = mockRepository.StrictMock();
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationName(locationName)).Return(calculationName);
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationFailedMessage(null, null)).IgnoreArguments().Return(calculationFailedMessage);
+ mockRepository.ReplayAll();
+
+ var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, locationName, 0, 0)
+ {
+ DesignWaterLevel = new RoundedDouble(2, double.NaN)
+ };
+
+ using (new HydraRingCalculatorFactoryConfig())
+ {
+ var calculator = ((TestHydraRingCalculatorFactory) HydraRingCalculatorFactory.Instance).DesignWaterLevelCalculator;
+ calculator.LastErrorContent = "An error occured";
+ calculator.EndInFailure = true;
+
+ var exceptionThrown = false;
+
+ // Call
+ Action call = () =>
+ {
+ try
+ {
+ new DesignWaterLevelCalculationService().Calculate(hydraulicBoundaryLocation,
+ validFilePath,
+ "ringId",
+ 30,
+ calculationMessageProviderMock);
+ }
+ catch (HydraRingFileParserException)
+ {
+ exceptionThrown = true;
+ }
+ };
+
+ // Assert
+ TestHelper.AssertLogMessages(call, messages =>
+ {
+ var msgs = messages.ToArray();
+ Assert.AreEqual(4, msgs.Length);
+ StringAssert.StartsWith(string.Format("Berekening van '{0}' gestart om: ", calculationName), msgs[0]);
+ StringAssert.StartsWith(calculationFailedMessage, msgs[1]);
+ StringAssert.StartsWith("Toetspeil berekening is uitgevoerd op de tijdelijke locatie:", msgs[2]);
+ StringAssert.StartsWith(string.Format("Berekening van '{0}' beëindigd om: ", calculationName), msgs[3]);
+ });
+ Assert.IsTrue(exceptionThrown);
+ }
+ }
+
+ [Test]
+ public void Calculate_CalculationFailedWithExceptionAndNoLastErrorPresent_LogErrorAndThrowException()
+ {
+ // Setup
+ string validFilePath = Path.Combine(testDataPath, validFile);
+
+ const string locationName = "punt_flw_ 1";
+ const string calculationName = "locationName";
+ const string calculationFailedMessage = "calculationFailedUnexplainedMessage";
+
+ var mockRepository = new MockRepository();
+ var calculationMessageProviderMock = mockRepository.StrictMock();
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationName(locationName)).Return(calculationName);
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationFailedUnexplainedMessage(locationName)).Return(calculationFailedMessage);
+ mockRepository.ReplayAll();
+
+ var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, locationName, 0, 0)
+ {
+ DesignWaterLevel = new RoundedDouble(2, double.NaN)
+ };
+
+ using (new HydraRingCalculatorFactoryConfig())
+ {
+ var calculator = ((TestHydraRingCalculatorFactory) HydraRingCalculatorFactory.Instance).DesignWaterLevelCalculator;
+ calculator.EndInFailure = true;
+
+ var exceptionThrown = false;
+
+ // Call
+ Action call = () =>
+ {
+ try
+ {
+ new DesignWaterLevelCalculationService().Calculate(hydraulicBoundaryLocation,
+ validFilePath,
+ "ringId",
+ 30,
+ calculationMessageProviderMock);
+ }
+ catch (HydraRingFileParserException)
+ {
+ exceptionThrown = true;
+ }
+ };
+
+ // Assert
+ TestHelper.AssertLogMessages(call, messages =>
+ {
+ var msgs = messages.ToArray();
+ Assert.AreEqual(4, msgs.Length);
+ StringAssert.StartsWith(string.Format("Berekening van '{0}' gestart om: ", calculationName), msgs[0]);
+ StringAssert.StartsWith(calculationFailedMessage, msgs[1]);
+ StringAssert.StartsWith("Toetspeil berekening is uitgevoerd op de tijdelijke locatie:", msgs[2]);
+ StringAssert.StartsWith(string.Format("Berekening van '{0}' beëindigd om: ", calculationName), msgs[3]);
+ });
+ Assert.IsTrue(exceptionThrown);
+ }
+ }
+
+ [Test]
+ public void Calculate_CalculationFailedWithoutExceptionAndWithLastErrorPresent_LogErrorAndThrowException()
+ {
+ // Setup
+ string validFilePath = Path.Combine(testDataPath, validFile);
+
+ const string locationName = "punt_flw_ 1";
+ const string calculationName = "locationName";
+ const string calculationFailedMessage = "calculationFailedMessage";
+
+ var mockRepository = new MockRepository();
+ var calculationMessageProviderMock = mockRepository.StrictMock();
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationName(locationName)).Return(calculationName);
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationFailedMessage(null, null)).IgnoreArguments().Return(calculationFailedMessage);
+ mockRepository.ReplayAll();
+
+ var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, locationName, 0, 0)
+ {
+ DesignWaterLevel = new RoundedDouble(2, double.NaN)
+ };
+
+ using (new HydraRingCalculatorFactoryConfig())
+ {
+ var calculator = ((TestHydraRingCalculatorFactory) HydraRingCalculatorFactory.Instance).DesignWaterLevelCalculator;
+ calculator.EndInFailure = false;
+ calculator.LastErrorContent = "An error occured";
+
+ var exceptionThrown = false;
+ var exceptionMessage = string.Empty;
+
+ // Call
+ Action call = () =>
+ {
+ try
+ {
+ new DesignWaterLevelCalculationService().Calculate(hydraulicBoundaryLocation,
+ validFilePath,
+ "ringId",
+ 30,
+ calculationMessageProviderMock);
+ }
+ catch (HydraRingFileParserException e)
+ {
+ exceptionThrown = true;
+ exceptionMessage = e.Message;
+ }
+ };
+
+ // Assert
+ TestHelper.AssertLogMessages(call, messages =>
+ {
+ var msgs = messages.ToArray();
+ Assert.AreEqual(4, msgs.Length);
+ StringAssert.StartsWith(string.Format("Berekening van '{0}' gestart om: ", calculationName), msgs[0]);
+ StringAssert.StartsWith(calculationFailedMessage, msgs[1]);
+ StringAssert.StartsWith("Toetspeil berekening is uitgevoerd op de tijdelijke locatie:", msgs[2]);
+ StringAssert.StartsWith(string.Format("Berekening van '{0}' beëindigd om: ", calculationName), msgs[3]);
+ });
+ Assert.IsTrue(exceptionThrown);
+ Assert.AreEqual(calculator.LastErrorContent, exceptionMessage);
+ }
+ }
+
private static void AssertInput(AssessmentLevelCalculationInput expectedInput, HydraRingCalculationInput hydraRingCalculationInput)
{
Assert.AreEqual(expectedInput.Section.SectionId, hydraRingCalculationInput.Section.SectionId);
Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationActivityTest.cs
===================================================================
diff -u -r18a3f0bab0ce260604820928c136e66abca7daab -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationActivityTest.cs (.../WaveHeightCalculationActivityTest.cs) (revision 18a3f0bab0ce260604820928c136e66abca7daab)
+++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationActivityTest.cs (.../WaveHeightCalculationActivityTest.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -289,7 +289,7 @@
var calculationMessageProviderMock = mockRepository.Stub();
calculationMessageProviderMock.Stub(calc => calc.GetActivityName(locationName)).Return(string.Empty);
calculationMessageProviderMock.Stub(calc => calc.GetCalculationName(locationName)).Return(string.Empty);
- calculationMessageProviderMock.Stub(calc => calc.GetCalculationFailedMessage(locationName)).Return(calculationFailedMessage);
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationFailedMessage(null, null)).IgnoreArguments().Return(calculationFailedMessage);
mockRepository.ReplayAll();
var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, locationName, 0, 0)
@@ -308,7 +308,9 @@
using (new HydraRingCalculatorFactoryConfig())
{
- ((TestHydraRingCalculatorFactory) HydraRingCalculatorFactory.Instance).WaveHeightCalculator.EndInFailure = true;
+ var calculator = ((TestHydraRingCalculatorFactory) HydraRingCalculatorFactory.Instance).WaveHeightCalculator;
+ calculator.EndInFailure = true;
+ calculator.LastErrorContent = calculationFailedMessage;
// Call
Action call = () => activity.Run();
@@ -367,5 +369,110 @@
}
mockRepository.VerifyAll();
}
+
+ [Test]
+ public void Run_UnexplainedErrorInCalculation_PerformValidationAndCalculationAndLogStartAndEndAndError()
+ {
+ // Setup
+ const string locationName = "locationName 1";
+ string calculationFailedMessage = "Something went wrong";
+ var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(0, locationName, 0, 0)
+ {
+ DesignWaterLevel = new RoundedDouble(2, double.NaN),
+ DesignWaterLevelCalculationConvergence = CalculationConvergence.NotCalculated
+ };
+
+ var calculationMessageProviderMock = mockRepository.StrictMock();
+ calculationMessageProviderMock.Stub(calc => calc.GetActivityName(locationName)).Return(string.Empty);
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationName(locationName)).Return(locationName);
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationFailedUnexplainedMessage(locationName)).Return(calculationFailedMessage);
+ mockRepository.ReplayAll();
+
+ string validFilePath = Path.Combine(testDataPath, validFile);
+
+ var norm = 30;
+
+ var activity = new WaveHeightCalculationActivity(hydraulicBoundaryLocation,
+ validFilePath,
+ string.Empty,
+ norm,
+ calculationMessageProviderMock);
+
+ using (new HydraRingCalculatorFactoryConfig())
+ {
+ var calculator = ((TestHydraRingCalculatorFactory)HydraRingCalculatorFactory.Instance).WaveHeightCalculator;
+ calculator.EndInFailure = true;
+
+ // Call
+ Action call = () => activity.Run();
+
+ // Assert
+ TestHelper.AssertLogMessages(call, messages =>
+ {
+ var msgs = messages.ToArray();
+ Assert.AreEqual(6, msgs.Length);
+ StringAssert.StartsWith(string.Format("Validatie van '{0}' gestart om: ", locationName), msgs[0]);
+ StringAssert.StartsWith(string.Format("Validatie van '{0}' beëindigd om: ", locationName), msgs[1]);
+ StringAssert.StartsWith(string.Format("Berekening van '{0}' gestart om: ", locationName), msgs[2]);
+ Assert.AreEqual(calculationFailedMessage, msgs[3]);
+ StringAssert.StartsWith("Golfhoogte berekening is uitgevoerd op de tijdelijke locatie:", msgs[4]);
+ StringAssert.StartsWith(string.Format("Berekening van '{0}' beëindigd om: ", locationName), msgs[5]);
+ });
+ Assert.AreEqual(ActivityState.Failed, activity.State);
+ }
+ }
+
+ [Test]
+ public void Run_ErrorInCalculation_PerformValidationAndCalculationAndLogStartAndEndAndError()
+ {
+ // Setup
+ const string locationName = "locationName 1";
+ string calculationFailedMessage = "Something went wrong";
+ var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(0, locationName, 0, 0)
+ {
+ DesignWaterLevel = new RoundedDouble(2, double.NaN),
+ DesignWaterLevelCalculationConvergence = CalculationConvergence.NotCalculated
+ };
+
+ var calculationMessageProviderMock = mockRepository.StrictMock();
+ calculationMessageProviderMock.Stub(calc => calc.GetActivityName(locationName)).Return(locationName);
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationName(locationName)).Return(locationName);
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationFailedMessage(null, null)).IgnoreArguments().Return(calculationFailedMessage);
+ mockRepository.ReplayAll();
+
+ string validFilePath = Path.Combine(testDataPath, validFile);
+
+ var norm = 30;
+
+ var activity = new WaveHeightCalculationActivity(hydraulicBoundaryLocation,
+ validFilePath,
+ string.Empty,
+ norm,
+ calculationMessageProviderMock);
+
+ using (new HydraRingCalculatorFactoryConfig())
+ {
+ var calculator = ((TestHydraRingCalculatorFactory)HydraRingCalculatorFactory.Instance).WaveHeightCalculator;
+ calculator.EndInFailure = false;
+ calculator.LastErrorContent = "An error occured";
+
+ // Call
+ Action call = () => activity.Run();
+
+ // Assert
+ TestHelper.AssertLogMessages(call, messages =>
+ {
+ var msgs = messages.ToArray();
+ Assert.AreEqual(6, msgs.Length);
+ StringAssert.StartsWith(string.Format("Validatie van '{0}' gestart om: ", locationName), msgs[0]);
+ StringAssert.StartsWith(string.Format("Validatie van '{0}' beëindigd om: ", locationName), msgs[1]);
+ StringAssert.StartsWith(string.Format("Berekening van '{0}' gestart om: ", locationName), msgs[2]);
+ Assert.AreEqual(calculationFailedMessage, msgs[3]);
+ StringAssert.StartsWith("Golfhoogte berekening is uitgevoerd op de tijdelijke locatie:", msgs[4]);
+ StringAssert.StartsWith(string.Format("Berekening van '{0}' beëindigd om: ", locationName), msgs[5]);
+ });
+ Assert.AreEqual(ActivityState.Failed, activity.State);
+ }
+ }
}
}
\ No newline at end of file
Index: Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationServiceTest.cs
===================================================================
diff -u -r18a3f0bab0ce260604820928c136e66abca7daab -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationServiceTest.cs (.../WaveHeightCalculationServiceTest.cs) (revision 18a3f0bab0ce260604820928c136e66abca7daab)
+++ Ringtoets/Common/test/Ringtoets.Common.Service.Test/WaveHeightCalculationServiceTest.cs (.../WaveHeightCalculationServiceTest.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -192,7 +192,7 @@
var mockRepository = new MockRepository();
var calculationMessageProviderMock = mockRepository.StrictMock();
calculationMessageProviderMock.Stub(calc => calc.GetCalculationName(locationName)).Return(calculationName);
- calculationMessageProviderMock.Stub(calc => calc.GetCalculationFailedMessage(locationName)).Return(calculationFailedMessage).Repeat.AtLeastOnce();
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationFailedMessage(null, null)).IgnoreArguments().Return(calculationFailedMessage).Repeat.AtLeastOnce();
mockRepository.ReplayAll();
var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, locationName, 0, 0)
@@ -205,6 +205,7 @@
var testFactory = (TestHydraRingCalculatorFactory) HydraRingCalculatorFactory.Instance;
var testCalculator = testFactory.WaveHeightCalculator;
testCalculator.EndInFailure = true;
+ testCalculator.LastErrorContent = calculationFailedMessage;
bool exceptionThrown = false;
// Call
Action call = () =>
@@ -239,6 +240,188 @@
mockRepository.VerifyAll();
}
+ [Test]
+ public void Calculate_CalculationFailedWithExceptionAndLastErrorPresent_LogErrorAndThrowException()
+ {
+ // Setup
+ string validFilePath = Path.Combine(testDataPath, validFile);
+
+ const string locationName = "punt_flw_ 1";
+ const string calculationName = "locationName";
+ const string calculationFailedMessage = "calculationFailedMessage";
+
+ var mockRepository = new MockRepository();
+ var calculationMessageProviderMock = mockRepository.StrictMock();
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationName(locationName)).Return(calculationName);
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationFailedMessage(null, null)).IgnoreArguments().Return(calculationFailedMessage);
+ mockRepository.ReplayAll();
+
+ var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, locationName, 0, 0)
+ {
+ DesignWaterLevel = new RoundedDouble(2, double.NaN)
+ };
+
+ using (new HydraRingCalculatorFactoryConfig())
+ {
+ var calculator = ((TestHydraRingCalculatorFactory) HydraRingCalculatorFactory.Instance).WaveHeightCalculator;
+ calculator.LastErrorContent = "An error occured";
+ calculator.EndInFailure = true;
+
+ var exceptionThrown = false;
+
+ // Call
+ Action call = () =>
+ {
+ try
+ {
+ new WaveHeightCalculationService().Calculate(hydraulicBoundaryLocation,
+ validFilePath,
+ "ringId",
+ 30,
+ calculationMessageProviderMock);
+ }
+ catch (HydraRingFileParserException)
+ {
+ exceptionThrown = true;
+ }
+ };
+
+ // Assert
+ TestHelper.AssertLogMessages(call, messages =>
+ {
+ var msgs = messages.ToArray();
+ Assert.AreEqual(4, msgs.Length);
+ StringAssert.StartsWith(string.Format("Berekening van '{0}' gestart om: ", calculationName), msgs[0]);
+ StringAssert.StartsWith(calculationFailedMessage, msgs[1]);
+ StringAssert.StartsWith("Golfhoogte berekening is uitgevoerd op de tijdelijke locatie:", msgs[2]);
+ StringAssert.StartsWith(string.Format("Berekening van '{0}' beëindigd om: ", calculationName), msgs[3]);
+ });
+ Assert.IsTrue(exceptionThrown);
+ }
+ }
+
+ [Test]
+ public void Calculate_CalculationFailedWithExceptionAndNoLastErrorPresent_LogErrorAndThrowException()
+ {
+ // Setup
+ string validFilePath = Path.Combine(testDataPath, validFile);
+
+ const string locationName = "punt_flw_ 1";
+ const string calculationName = "locationName";
+ const string calculationFailedMessage = "calculationFailedUnexplainedMessage";
+
+ var mockRepository = new MockRepository();
+ var calculationMessageProviderMock = mockRepository.StrictMock();
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationName(locationName)).Return(calculationName);
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationFailedUnexplainedMessage(locationName)).Return(calculationFailedMessage);
+ mockRepository.ReplayAll();
+
+ var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, locationName, 0, 0)
+ {
+ DesignWaterLevel = new RoundedDouble(2, double.NaN)
+ };
+
+ using (new HydraRingCalculatorFactoryConfig())
+ {
+ var calculator = ((TestHydraRingCalculatorFactory) HydraRingCalculatorFactory.Instance).WaveHeightCalculator;
+ calculator.EndInFailure = true;
+
+ var exceptionThrown = false;
+
+ // Call
+ Action call = () =>
+ {
+ try
+ {
+ new WaveHeightCalculationService().Calculate(hydraulicBoundaryLocation,
+ validFilePath,
+ "ringId",
+ 30,
+ calculationMessageProviderMock);
+ }
+ catch (HydraRingFileParserException)
+ {
+ exceptionThrown = true;
+ }
+ };
+
+ // Assert
+ TestHelper.AssertLogMessages(call, messages =>
+ {
+ var msgs = messages.ToArray();
+ Assert.AreEqual(4, msgs.Length);
+ StringAssert.StartsWith(string.Format("Berekening van '{0}' gestart om: ", calculationName), msgs[0]);
+ StringAssert.StartsWith(calculationFailedMessage, msgs[1]);
+ StringAssert.StartsWith("Golfhoogte berekening is uitgevoerd op de tijdelijke locatie:", msgs[2]);
+ StringAssert.StartsWith(string.Format("Berekening van '{0}' beëindigd om: ", calculationName), msgs[3]);
+ });
+ Assert.IsTrue(exceptionThrown);
+ }
+ }
+
+ [Test]
+ public void Calculate_CalculationFailedWithoutExceptionAndWithLastErrorPresent_LogErrorAndThrowException()
+ {
+ // Setup
+ string validFilePath = Path.Combine(testDataPath, validFile);
+
+ const string locationName = "punt_flw_ 1";
+ const string calculationName = "locationName";
+ const string calculationFailedMessage = "calculationFailedMessage";
+
+ var mockRepository = new MockRepository();
+ var calculationMessageProviderMock = mockRepository.StrictMock();
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationName(locationName)).Return(calculationName);
+ calculationMessageProviderMock.Stub(calc => calc.GetCalculationFailedMessage(null, null)).IgnoreArguments().Return(calculationFailedMessage);
+ mockRepository.ReplayAll();
+
+ var hydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, locationName, 0, 0)
+ {
+ DesignWaterLevel = new RoundedDouble(2, double.NaN)
+ };
+
+ using (new HydraRingCalculatorFactoryConfig())
+ {
+ var calculator = ((TestHydraRingCalculatorFactory) HydraRingCalculatorFactory.Instance).WaveHeightCalculator;
+ calculator.EndInFailure = false;
+ calculator.LastErrorContent = "An error occured";
+
+ var exceptionThrown = false;
+ var exceptionMessage = string.Empty;
+
+ // Call
+ Action call = () =>
+ {
+ try
+ {
+ new WaveHeightCalculationService().Calculate(hydraulicBoundaryLocation,
+ validFilePath,
+ "ringId",
+ 30,
+ calculationMessageProviderMock);
+ }
+ catch (HydraRingFileParserException e)
+ {
+ exceptionThrown = true;
+ exceptionMessage = e.Message;
+ }
+ };
+
+ // Assert
+ TestHelper.AssertLogMessages(call, messages =>
+ {
+ var msgs = messages.ToArray();
+ Assert.AreEqual(4, msgs.Length);
+ StringAssert.StartsWith(string.Format("Berekening van '{0}' gestart om: ", calculationName), msgs[0]);
+ StringAssert.StartsWith(calculationFailedMessage, msgs[1]);
+ StringAssert.StartsWith("Golfhoogte berekening is uitgevoerd op de tijdelijke locatie:", msgs[2]);
+ StringAssert.StartsWith(string.Format("Berekening van '{0}' beëindigd om: ", calculationName), msgs[3]);
+ });
+ Assert.IsTrue(exceptionThrown);
+ Assert.AreEqual(calculator.LastErrorContent, exceptionMessage);
+ }
+ }
+
private static void AssertInput(AssessmentLevelCalculationInput expectedInput, HydraRingCalculationInput hydraRingCalculationInput)
{
Assert.AreEqual(expectedInput.Section.SectionId, hydraRingCalculationInput.Section.SectionId);
Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/MessageProviders/GrassCoverErosionOutwardsDesignWaterLevelCalculationMessageProvider.cs
===================================================================
diff -u -r2973c5f790a5131e427bd5f73e2a620044199639 -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/MessageProviders/GrassCoverErosionOutwardsDesignWaterLevelCalculationMessageProvider.cs (.../GrassCoverErosionOutwardsDesignWaterLevelCalculationMessageProvider.cs) (revision 2973c5f790a5131e427bd5f73e2a620044199639)
+++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/MessageProviders/GrassCoverErosionOutwardsDesignWaterLevelCalculationMessageProvider.cs (.../GrassCoverErosionOutwardsDesignWaterLevelCalculationMessageProvider.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -40,11 +40,16 @@
return string.Format(Resources.GrassCoverErosionOutwardsPlugin_Name_Calculate_DesignWaterLevel_for_location_0_, locationName);
}
- public string GetCalculationFailedMessage(string locationName)
+ public string GetCalculationFailedMessage(string locationName, string failureMessage)
{
- return string.Format(Resources.GrassCoverErosionOutwardsPlugin_Calculate_Error_in_DesignWaterLevel_0_calculation, locationName);
+ return string.Format(Resources.GrassCoverErosionOutwardsPlugin_Calculate_Error_in_DesignWaterLevel_0_calculation_click_details_for_last_error_1, locationName, failureMessage);
}
+ public string GetCalculationFailedUnexplainedMessage(string locationName)
+ {
+ return string.Format(Resources.GrassCoverErosionOutwardsPlugin_Calculate_Unexplained_error_in_DesignWaterLevel_0_calculation, locationName);
+ }
+
public string GetCalculatedNotConvergedMessage(string locationName)
{
return string.Format(Resources.GrassCoverErosionOutwardsPlugin_DesignWaterLevel_calculation_for_location_0_not_converged, locationName);
Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/MessageProviders/GrassCoverErosionOutwardsWaveHeightCalculationMessageProvider.cs
===================================================================
diff -u -r1e533850c7711172462df1e8f569b9f3ff950045 -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/MessageProviders/GrassCoverErosionOutwardsWaveHeightCalculationMessageProvider.cs (.../GrassCoverErosionOutwardsWaveHeightCalculationMessageProvider.cs) (revision 1e533850c7711172462df1e8f569b9f3ff950045)
+++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/MessageProviders/GrassCoverErosionOutwardsWaveHeightCalculationMessageProvider.cs (.../GrassCoverErosionOutwardsWaveHeightCalculationMessageProvider.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -40,11 +40,16 @@
return string.Format(Resources.GrassCoverErosionOutwardsPlugin_Name_Calculate_WaveHeight_for_location_0_, locationName);
}
- public string GetCalculationFailedMessage(string locationName)
+ public string GetCalculationFailedMessage(string locationName, string failureMessage)
{
- return string.Format(Resources.GrassCoverErosionOutwardsPlugin_Calculate_Error_in_WaveHeight_0_calculation, locationName);
+ return string.Format(Resources.GrassCoverErosionOutwardsPlugin_Calculate_Error_in_WaveHeight_0_calculation_click_details_for_last_error_1, locationName, failureMessage);
}
+ public string GetCalculationFailedUnexplainedMessage(string locationName)
+ {
+ return string.Format(Resources.GrassCoverErosionOutwardsPlugin_Calculate_Unexplained_error_in_WaveHeight_0_calculation, locationName);
+ }
+
public string GetCalculatedNotConvergedMessage(string locationName)
{
return string.Format(Resources.GrassCoverErosionOutwardsPlugin_WaveHeight_calculation_for_location_0_not_converged, locationName);
Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/Properties/Resources.Designer.cs
===================================================================
diff -u -r03ec489f1a084da620f85271fdbd28e081ea0eb5 -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 03ec489f1a084da620f85271fdbd28e081ea0eb5)
+++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -22,7 +22,7 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
+// Runtime Version:4.0.30319.17929
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -82,25 +82,48 @@
}
///
- /// Looks up a localized string similar to Er is een fout opgetreden tijdens de Waterstand bij doorsnede-eis berekening '{0}': inspecteer het logbestand..
+ /// Looks up a localized string similar to Er is een fout opgetreden tijdens de Waterstand bij doorsnede-eis berekening '{0}'. Bekijk het foutrapport door op details te klikken.
+ ///{1}.
///
- public static string GrassCoverErosionOutwardsPlugin_Calculate_Error_in_DesignWaterLevel_0_calculation {
+ public static string GrassCoverErosionOutwardsPlugin_Calculate_Error_in_DesignWaterLevel_0_calculation_click_details_for_last_error_1 {
get {
return ResourceManager.GetString("GrassCoverErosionOutwardsPlugin_Calculate_Error_in_DesignWaterLevel_0_calculation" +
- "", resourceCulture);
+ "_click_details_for_last_error_1", resourceCulture);
}
}
///
- /// Looks up a localized string similar to Er is een fout opgetreden tijdens de Golfhoogte bij doorsnede-eis berekening '{0}': inspecteer het logbestand..
+ /// Looks up a localized string similar to Er is een fout opgetreden tijdens de Golfhoogte bij doorsnede-eis berekening '{0}'. Bekijk het foutrapport door op details te klikken.
+ ///{1}.
///
- public static string GrassCoverErosionOutwardsPlugin_Calculate_Error_in_WaveHeight_0_calculation {
+ public static string GrassCoverErosionOutwardsPlugin_Calculate_Error_in_WaveHeight_0_calculation_click_details_for_last_error_1 {
get {
- return ResourceManager.GetString("GrassCoverErosionOutwardsPlugin_Calculate_Error_in_WaveHeight_0_calculation", resourceCulture);
+ return ResourceManager.GetString("GrassCoverErosionOutwardsPlugin_Calculate_Error_in_WaveHeight_0_calculation_click" +
+ "_details_for_last_error_1", resourceCulture);
}
}
///
+ /// Looks up a localized string similar to Er is een fout opgetreden tijdens de Waterstand bij doorsnede-eis berekening '{0}'. Er is geen foutrapport beschikbaar.
+ ///
+ public static string GrassCoverErosionOutwardsPlugin_Calculate_Unexplained_error_in_DesignWaterLevel_0_calculation {
+ get {
+ return ResourceManager.GetString("GrassCoverErosionOutwardsPlugin_Calculate_Unexplained_error_in_DesignWaterLevel_0" +
+ "_calculation", resourceCulture);
+ }
+ }
+
+ ///
+ /// Looks up a localized string similar to Er is een fout opgetreden tijdens de Golfhoogte bij doorsnede-eis berekening '{0}'. Er is geen foutrapport beschikbaar.
+ ///
+ public static string GrassCoverErosionOutwardsPlugin_Calculate_Unexplained_error_in_WaveHeight_0_calculation {
+ get {
+ return ResourceManager.GetString("GrassCoverErosionOutwardsPlugin_Calculate_Unexplained_error_in_WaveHeight_0_calcu" +
+ "lation", resourceCulture);
+ }
+ }
+
+ ///
/// Looks up a localized string similar to Waterstand bij doorsnede-eis berekening voor locatie '{0}' is niet geconvergeerd..
///
public static string GrassCoverErosionOutwardsPlugin_DesignWaterLevel_calculation_for_location_0_not_converged {
Index: Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/Properties/Resources.resx
===================================================================
diff -u -r03ec489f1a084da620f85271fdbd28e081ea0eb5 -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/Properties/Resources.resx (.../Resources.resx) (revision 03ec489f1a084da620f85271fdbd28e081ea0eb5)
+++ Ringtoets/GrassCoverErosionOutwards/src/Ringtoets.GrassCoverErosionOutwards.Service/Properties/Resources.resx (.../Resources.resx) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -117,12 +117,20 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- Er is een fout opgetreden tijdens de Waterstand bij doorsnede-eis berekening '{0}': inspecteer het logbestand.
+
+ Er is een fout opgetreden tijdens de Waterstand bij doorsnede-eis berekening '{0}'. Bekijk het foutrapport door op details te klikken.
+{1}
-
- Er is een fout opgetreden tijdens de Golfhoogte bij doorsnede-eis berekening '{0}': inspecteer het logbestand.
+
+ Er is een fout opgetreden tijdens de Golfhoogte bij doorsnede-eis berekening '{0}'. Bekijk het foutrapport door op details te klikken.
+{1}
+
+ Er is een fout opgetreden tijdens de Waterstand bij doorsnede-eis berekening '{0}'. Er is geen foutrapport beschikbaar
+
+
+ Er is een fout opgetreden tijdens de Golfhoogte bij doorsnede-eis berekening '{0}'. Er is geen foutrapport beschikbaar
+
Waterstand bij doorsnede-eis berekening voor locatie '{0}' is niet geconvergeerd.
Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/MessageProviders/GrassCoverErosionOutwardsDesignWaterLevelCalculationMessageProviderTest.cs
===================================================================
diff -u -r8aea6e032ff8aeb4a4f1b85210fd0e2fbbce3a4a -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/MessageProviders/GrassCoverErosionOutwardsDesignWaterLevelCalculationMessageProviderTest.cs (.../GrassCoverErosionOutwardsDesignWaterLevelCalculationMessageProviderTest.cs) (revision 8aea6e032ff8aeb4a4f1b85210fd0e2fbbce3a4a)
+++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/MessageProviders/GrassCoverErosionOutwardsDesignWaterLevelCalculationMessageProviderTest.cs (.../GrassCoverErosionOutwardsDesignWaterLevelCalculationMessageProviderTest.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -22,7 +22,6 @@
using NUnit.Framework;
using Ringtoets.Common.Service.MessageProviders;
using Ringtoets.GrassCoverErosionOutwards.Service.MessageProviders;
-using Ringtoets.GrassCoverErosionOutwards.Service.Properties;
namespace Ringtoets.GrassCoverErosionOutwards.Service.Test.MessageProviders
{
@@ -52,7 +51,7 @@
var calculationName = provider.GetCalculationName(name);
// Assert
- var expectedName = string.Format(Resources.GrassCoverErosionOutwardsPlugin_Name_DesignWaterLevel_for_location_0_, name);
+ var expectedName = string.Format("Waterstand bij doorsnede-eis voor locatie '{0}'", name);
Assert.AreEqual(expectedName, calculationName);
}
@@ -69,7 +68,7 @@
var activityName = provider.GetActivityName(name);
// Assert
- var expectedName = string.Format(Resources.GrassCoverErosionOutwardsPlugin_Name_Calculate_DesignWaterLevel_for_location_0_, name);
+ var expectedName = string.Format("Waterstand bij doorsnede-eis berekenen voor locatie '{0}'", name);
Assert.AreEqual(expectedName, activityName);
}
@@ -81,12 +80,14 @@
{
// Setup
var provider = new GrassCoverErosionOutwardsDesignWaterLevelCalculationMessageProvider();
+ var failureMessage = "It failed!";
// Call
- var message = provider.GetCalculationFailedMessage(name);
+ var message = provider.GetCalculationFailedMessage(name, failureMessage);
// Assert
- var expectedMessage = string.Format(Resources.GrassCoverErosionOutwardsPlugin_Calculate_Error_in_DesignWaterLevel_0_calculation, name);
+ var expectedMessage = string.Format("Er is een fout opgetreden tijdens de Waterstand bij doorsnede-eis berekening '{0}'. Bekijk het foutrapport door op details te klikken.\r\n{1}",
+ name, failureMessage);
Assert.AreEqual(expectedMessage, message);
}
@@ -103,8 +104,25 @@
var message = provider.GetCalculatedNotConvergedMessage(name);
// Assert
- var expectedMessage = string.Format(Resources.GrassCoverErosionOutwardsPlugin_DesignWaterLevel_calculation_for_location_0_not_converged, name);
+ var expectedMessage = string.Format("Waterstand bij doorsnede-eis berekening voor locatie '{0}' is niet geconvergeerd.", name);
Assert.AreEqual(expectedMessage, message);
}
+
+ [Test]
+ [TestCase(null)]
+ [TestCase("")]
+ [TestCase("value")]
+ public void GetCalculationFailedUnexplainedMessage_ValidNames_ExpectedValues(string name)
+ {
+ // Setup
+ var provider = new GrassCoverErosionOutwardsDesignWaterLevelCalculationMessageProvider();
+
+ // Call
+ var message = provider.GetCalculationFailedUnexplainedMessage(name);
+
+ // Assert
+ var expectedMessage = string.Format("Er is een fout opgetreden tijdens de Waterstand bij doorsnede-eis berekening '{0}'. Er is geen foutrapport beschikbaar", name);
+ Assert.AreEqual(expectedMessage, message);
+ }
}
}
\ No newline at end of file
Index: Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/MessageProviders/GrassCoverErosionOutwardsWaveHeightCalculationMessageProviderTest.cs
===================================================================
diff -u -r03ec489f1a084da620f85271fdbd28e081ea0eb5 -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/MessageProviders/GrassCoverErosionOutwardsWaveHeightCalculationMessageProviderTest.cs (.../GrassCoverErosionOutwardsWaveHeightCalculationMessageProviderTest.cs) (revision 03ec489f1a084da620f85271fdbd28e081ea0eb5)
+++ Ringtoets/GrassCoverErosionOutwards/test/Ringtoets.GrassCoverErosionOutwards.Service.Test/MessageProviders/GrassCoverErosionOutwardsWaveHeightCalculationMessageProviderTest.cs (.../GrassCoverErosionOutwardsWaveHeightCalculationMessageProviderTest.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -80,13 +80,14 @@
{
// Setup
var provider = new GrassCoverErosionOutwardsWaveHeightCalculationMessageProvider();
+ var failureMessage = "It failed!";
// Call
- var message = provider.GetCalculationFailedMessage(name);
+ var message = provider.GetCalculationFailedMessage(name, failureMessage);
// Assert
- var expectedMessage = string.Format("Er is een fout opgetreden tijdens de Golfhoogte bij " +
- "doorsnede-eis berekening '{0}': inspecteer het logbestand.", name);
+ var expectedMessage = string.Format("Er is een fout opgetreden tijdens de Golfhoogte bij doorsnede-eis berekening '{0}'. Bekijk het foutrapport door op details te klikken.\r\n{1}",
+ name, failureMessage);
Assert.AreEqual(expectedMessage, message);
}
@@ -106,5 +107,22 @@
var expectedMessage = string.Format("Golfhoogte bij doorsnede-eis berekening voor locatie '{0}' is niet geconvergeerd.", name);
Assert.AreEqual(expectedMessage, message);
}
+
+ [Test]
+ [TestCase(null)]
+ [TestCase("")]
+ [TestCase("value")]
+ public void GetCalculationFailedUnexplainedMessage_ValidNames_ExpectedValues(string name)
+ {
+ // Setup
+ var provider = new GrassCoverErosionOutwardsWaveHeightCalculationMessageProvider();
+
+ // Call
+ var message = provider.GetCalculationFailedUnexplainedMessage(name);
+
+ // Assert
+ var expectedMessage = string.Format("Er is een fout opgetreden tijdens de Golfhoogte bij doorsnede-eis berekening '{0}'. Er is geen foutrapport beschikbaar", name);
+ Assert.AreEqual(expectedMessage, message);
+ }
}
}
\ No newline at end of file
Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Service.Test/HeightStructuresCalculationServiceTest.cs
===================================================================
diff -u -r636633d6507bef2735fd9b712b3a20feb3ac88c4 -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Service.Test/HeightStructuresCalculationServiceTest.cs (.../HeightStructuresCalculationServiceTest.cs) (revision 636633d6507bef2735fd9b712b3a20feb3ac88c4)
+++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.Service.Test/HeightStructuresCalculationServiceTest.cs (.../HeightStructuresCalculationServiceTest.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -890,6 +890,7 @@
exceptionThrown = true;
}
};
+
// Assert
TestHelper.AssertLogMessages(call, messages =>
{
@@ -951,6 +952,7 @@
exceptionThrown = true;
}
};
+
// Assert
TestHelper.AssertLogMessages(call, messages =>
{
@@ -1015,6 +1017,7 @@
exceptionMessage = e.Message;
}
};
+
// Assert
TestHelper.AssertLogMessages(call, messages =>
{
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/IDesignWaterLevelCalculator.cs
===================================================================
diff -u -rbd73023d5f8926a411da214fb5ce522056a0e30a -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/IDesignWaterLevelCalculator.cs (.../IDesignWaterLevelCalculator.cs) (revision bd73023d5f8926a411da214fb5ce522056a0e30a)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/IDesignWaterLevelCalculator.cs (.../IDesignWaterLevelCalculator.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -45,6 +45,11 @@
string OutputDirectory { get; }
///
+ /// Gets the content of the last error file generated during the Hydra-Ring calculation.
+ ///
+ string LastErrorContent { get; }
+
+ ///
/// Performs the actual calculation by running the Hydra-Ring executable.
///
/// The which contains all the necessary input
Index: Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/IWaveHeightCalculator.cs
===================================================================
diff -u -rbd73023d5f8926a411da214fb5ce522056a0e30a -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/IWaveHeightCalculator.cs (.../IWaveHeightCalculator.cs) (revision bd73023d5f8926a411da214fb5ce522056a0e30a)
+++ Ringtoets/HydraRing/src/Ringtoets.HydraRing.Calculation/Calculator/IWaveHeightCalculator.cs (.../IWaveHeightCalculator.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -45,6 +45,11 @@
string OutputDirectory { get; }
///
+ /// Gets the content of the last error file generated during the Hydra-Ring calculation.
+ ///
+ string LastErrorContent { get; }
+
+ ///
/// Performs the actual calculation by running the Hydra-Ring executable.
///
/// The which contains all the necessary input
Index: Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.TestUtil/Calculator/TestHydraRingCalculatorFactory.cs
===================================================================
diff -u -re07044ef611f4a005447703ffba9f24b7c5acb90 -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.TestUtil/Calculator/TestHydraRingCalculatorFactory.cs (.../TestHydraRingCalculatorFactory.cs) (revision e07044ef611f4a005447703ffba9f24b7c5acb90)
+++ Ringtoets/HydraRing/test/Ringtoets.HydraRing.Calculation.TestUtil/Calculator/TestHydraRingCalculatorFactory.cs (.../TestHydraRingCalculatorFactory.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -102,6 +102,7 @@
public class TestWaveHeightCalculator : TestHydraRingCalculator, IWaveHeightCalculator
{
public string OutputDirectory { get; set; }
+ public string LastErrorContent { get; set; }
public double WaveHeight { get; set; }
public double ReliabilityIndex { get; set; }
}
@@ -132,6 +133,7 @@
public class TestDesignWaterLevelCalculator : TestHydraRingCalculator, IDesignWaterLevelCalculator
{
public string OutputDirectory { get; set; }
+ public string LastErrorContent { get; set; }
public double DesignWaterLevel { get; set; }
public double ReliabilityIndex { get; set; }
}
Index: Ringtoets/Integration/src/Ringtoets.Integration.Service/MessageProviders/DesignWaterLevelCalculationMessageProvider.cs
===================================================================
diff -u -rc399d2d0b6ce75c643c256bf605b748fc1dea88b -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/Integration/src/Ringtoets.Integration.Service/MessageProviders/DesignWaterLevelCalculationMessageProvider.cs (.../DesignWaterLevelCalculationMessageProvider.cs) (revision c399d2d0b6ce75c643c256bf605b748fc1dea88b)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Service/MessageProviders/DesignWaterLevelCalculationMessageProvider.cs (.../DesignWaterLevelCalculationMessageProvider.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -39,11 +39,16 @@
return string.Format(Resources.DesignWaterLevelCalculationService_Name_Calculate_assessment_level_for_location_0_, locationName);
}
- public string GetCalculationFailedMessage(string locationName)
+ public string GetCalculationFailedMessage(string locationName, string failureMessage)
{
- return string.Format(Resources.DesignWaterLevelCalculationService_Calculate_Error_in_design_water_level_0_calculation, locationName);
+ return string.Format(Resources.DesignwaterlevelCalculationService_Calculate_Error_in_DesignWaterLevel_0_calculation_click_details_for_last_error_1, locationName, failureMessage);
}
+ public string GetCalculationFailedUnexplainedMessage(string locationName)
+ {
+ return string.Format(Resources.DesignWaterLevelCalculationService_Calculate_Unexplained_error_in_design_water_level_0_calculation, locationName);
+ }
+
public string GetCalculatedNotConvergedMessage(string locationName)
{
return string.Format(Resources.DesignWaterLevelCalculationActivity_DesignWaterLevel_calculation_for_location_0_not_converged, locationName);
Index: Ringtoets/Integration/src/Ringtoets.Integration.Service/MessageProviders/WaveHeightCalculationMessageProvider.cs
===================================================================
diff -u -r06b2840a2bb64c0960c8ac29322b5a0971c73c77 -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/Integration/src/Ringtoets.Integration.Service/MessageProviders/WaveHeightCalculationMessageProvider.cs (.../WaveHeightCalculationMessageProvider.cs) (revision 06b2840a2bb64c0960c8ac29322b5a0971c73c77)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Service/MessageProviders/WaveHeightCalculationMessageProvider.cs (.../WaveHeightCalculationMessageProvider.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -39,11 +39,16 @@
return string.Format(Resources.WaveHeightCalculationService_Name_Calculate_wave_height_for_location_0_, locationName);
}
- public string GetCalculationFailedMessage(string locationName)
+ public string GetCalculationFailedMessage(string locationName, string failureMessage)
{
- return string.Format(Resources.WaveHeightCalculationService_Calculate_Error_in_wave_height_0_calculation, locationName);
+ return string.Format(Resources.WaveHeightCalculationService_Calculate_Error_in_wave_height_0_calculation_click_details_for_last_error_1, locationName, failureMessage);
}
+ public string GetCalculationFailedUnexplainedMessage(string locationName)
+ {
+ return string.Format(Resources.WaveHeightCalculationService_Calculate_Unexplained_error_in_wave_height_0_calculation, locationName);
+ }
+
public string GetCalculatedNotConvergedMessage(string locationName)
{
return string.Format(Resources.WaveHeightCalculationActivity_WaveHeight_calculation_for_location_0_not_converged, locationName);
Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/TreeNodeInfos/WaveHeightLocationsContextTreeNodeInfoTest.cs
===================================================================
diff -u -r74817f4dbb43aa0346f8b839e59370f786c5d452 -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/TreeNodeInfos/WaveHeightLocationsContextTreeNodeInfoTest.cs (.../WaveHeightLocationsContextTreeNodeInfoTest.cs) (revision 74817f4dbb43aa0346f8b839e59370f786c5d452)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/TreeNodeInfos/WaveHeightLocationsContextTreeNodeInfoTest.cs (.../WaveHeightLocationsContextTreeNodeInfoTest.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -409,7 +409,7 @@
StringAssert.StartsWith(string.Format("Validatie van 'Golfhoogte berekenen voor locatie '{0}'' gestart om:", locationName), msgs[0]);
StringAssert.StartsWith(string.Format("Validatie van 'Golfhoogte berekenen voor locatie '{0}'' beëindigd om:", locationName), msgs[1]);
StringAssert.StartsWith(string.Format("Berekening van 'Golfhoogte berekenen voor locatie '{0}'' gestart om:", locationName), msgs[2]);
- StringAssert.StartsWith(string.Format("Er is een fout opgetreden tijdens de golfhoogte berekening '{0}': inspecteer het logbestand.", locationName), msgs[3]);
+ StringAssert.StartsWith(string.Format("Er is een fout opgetreden tijdens de golfhoogte berekening '{0}'. Er is geen foutrapport beschikbaar.", locationName), msgs[3]);
StringAssert.StartsWith("Golfhoogte berekening is uitgevoerd op de tijdelijke locatie:", msgs[4]);
StringAssert.StartsWith(string.Format("Berekening van 'Golfhoogte berekenen voor locatie '{0}'' beëindigd om:", locationName), msgs[5]);
StringAssert.StartsWith(string.Format("Uitvoeren van 'Golfhoogte berekenen voor locatie '{0}'' is mislukt.", locationName), msgs[6]);
Index: Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/MessageProviders/DesignWaterLevelCalculationMessageProviderTest.cs
===================================================================
diff -u -rc399d2d0b6ce75c643c256bf605b748fc1dea88b -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/MessageProviders/DesignWaterLevelCalculationMessageProviderTest.cs (.../DesignWaterLevelCalculationMessageProviderTest.cs) (revision c399d2d0b6ce75c643c256bf605b748fc1dea88b)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/MessageProviders/DesignWaterLevelCalculationMessageProviderTest.cs (.../DesignWaterLevelCalculationMessageProviderTest.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -52,7 +52,7 @@
var calculationName = provider.GetCalculationName(name);
// Assert
- var expectedName = string.Format(Resources.DesignWaterLevelCalculationService_Name_Calculate_assessment_level_for_location_0_, name);
+ var expectedName = string.Format("Toetspeil berekenen voor locatie '{0}'", name);
Assert.AreEqual(expectedName, calculationName);
}
@@ -69,7 +69,7 @@
var activityName = provider.GetActivityName(name);
// Assert
- var expectedName = string.Format(Resources.DesignWaterLevelCalculationService_Name_Calculate_assessment_level_for_location_0_, name);
+ var expectedName = string.Format("Toetspeil berekenen voor locatie '{0}'", name);
Assert.AreEqual(expectedName, activityName);
}
@@ -81,12 +81,14 @@
{
// Setup
var provider = new DesignWaterLevelCalculationMessageProvider();
+ var failureMessage = "It failed!";
// Call
- var message = provider.GetCalculationFailedMessage(name);
+ var message = provider.GetCalculationFailedMessage(name, failureMessage);
// Assert
- var expectedMessage = string.Format(Resources.DesignWaterLevelCalculationService_Calculate_Error_in_design_water_level_0_calculation, name);
+ var expectedMessage = string.Format("Er is een fout opgetreden tijdens de toetspeil berekening '{0}'. Bekijk het foutrapport door op details te klikken.\r\n{1}",
+ name, failureMessage);
Assert.AreEqual(expectedMessage, message);
}
@@ -103,8 +105,25 @@
var message = provider.GetCalculatedNotConvergedMessage(name);
// Assert
- var expectedMessage = string.Format(Resources.DesignWaterLevelCalculationActivity_DesignWaterLevel_calculation_for_location_0_not_converged, name);
+ var expectedMessage = string.Format("Toetspeil berekening voor locatie {0} is niet geconvergeerd.", name);
Assert.AreEqual(expectedMessage, message);
}
+
+ [Test]
+ [TestCase(null)]
+ [TestCase("")]
+ [TestCase("value")]
+ public void GetCalculationFailedUnexplainedMessage_VariousParameters_ReturnsExpectedValue(string name)
+ {
+ // Setup
+ var provider = new DesignWaterLevelCalculationMessageProvider();
+
+ // Call
+ var message = provider.GetCalculationFailedUnexplainedMessage(name);
+
+ // Assert
+ var expectedMessage = string.Format("Er is een fout opgetreden tijdens de toetspeil berekening '{0}'. Er is geen foutrapport beschikbaar.", name);
+ Assert.AreEqual(expectedMessage, message);
+ }
}
}
\ No newline at end of file
Index: Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/MessageProviders/WaveHeightCalculationMessageProviderTest.cs
===================================================================
diff -u -r06b2840a2bb64c0960c8ac29322b5a0971c73c77 -rc7d39e2c22a5df98a9f398cab98040a51faba283
--- Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/MessageProviders/WaveHeightCalculationMessageProviderTest.cs (.../WaveHeightCalculationMessageProviderTest.cs) (revision 06b2840a2bb64c0960c8ac29322b5a0971c73c77)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Service.Test/MessageProviders/WaveHeightCalculationMessageProviderTest.cs (.../WaveHeightCalculationMessageProviderTest.cs) (revision c7d39e2c22a5df98a9f398cab98040a51faba283)
@@ -52,7 +52,7 @@
var calculationName = provider.GetCalculationName(name);
// Assert
- var expectedName = string.Format(Resources.WaveHeightCalculationService_Name_Calculate_wave_height_for_location_0_, name);
+ var expectedName = string.Format("Golfhoogte berekenen voor locatie '{0}'", name);
Assert.AreEqual(expectedName, calculationName);
}
@@ -69,24 +69,43 @@
var activityName = provider.GetActivityName(name);
// Assert
- var expectedName = string.Format(Resources.WaveHeightCalculationService_Name_Calculate_wave_height_for_location_0_, name);
+ var expectedName = string.Format("Golfhoogte berekenen voor locatie '{0}'", name);
Assert.AreEqual(expectedName, activityName);
}
[Test]
[TestCase(null)]
[TestCase("")]
[TestCase("value")]
+ public void GetCalculationFailedUnexplainedMessage_VariousParameters_ReturnsExpectedValue(string name)
+ {
+ // Setup
+ var provider = new WaveHeightCalculationMessageProvider();
+
+ // Call
+ var message = provider.GetCalculationFailedUnexplainedMessage(name);
+
+ // Assert
+ var expectedMessage = string.Format("Er is een fout opgetreden tijdens de golfhoogte berekening '{0}'. Er is geen foutrapport beschikbaar.", name);
+ Assert.AreEqual(expectedMessage, message);
+ }
+
+ [Test]
+ [TestCase(null)]
+ [TestCase("")]
+ [TestCase("value")]
public void GetCalculationFailedMessage_VariousParameters_ReturnsExpectedValue(string name)
{
// Setup
var provider = new WaveHeightCalculationMessageProvider();
+ var failureMessage = "It failed!";
// Call
- var message = provider.GetCalculationFailedMessage(name);
+ var message = provider.GetCalculationFailedMessage(name, failureMessage);
// Assert
- var expectedMessage = string.Format(Resources.WaveHeightCalculationService_Calculate_Error_in_wave_height_0_calculation, name);
+ var expectedMessage = string.Format("Er is een fout opgetreden tijdens de golfhoogte berekening '{0}'. Bekijk het foutrapport door op details te klikken.\r\n{1}",
+ name, failureMessage);
Assert.AreEqual(expectedMessage, message);
}
@@ -103,7 +122,7 @@
var message = provider.GetCalculatedNotConvergedMessage(name);
// Assert
- var expectedMessage = string.Format(Resources.WaveHeightCalculationActivity_WaveHeight_calculation_for_location_0_not_converged, name);
+ var expectedMessage = string.Format("Golfhoogte berekening voor locatie {0} is niet geconvergeerd.", name);
Assert.AreEqual(expectedMessage, message);
}
}