Index: Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Forms/GuiServices/DuneLocationCalculationGuiService.cs =================================================================== diff -u -r886f53016571b5d7a65318c6e29d6da9385bbade -rbf0bb686ee2b533188f8eabdc09732e52d775888 --- Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Forms/GuiServices/DuneLocationCalculationGuiService.cs (.../DuneLocationCalculationGuiService.cs) (revision 886f53016571b5d7a65318c6e29d6da9385bbade) +++ Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Forms/GuiServices/DuneLocationCalculationGuiService.cs (.../DuneLocationCalculationGuiService.cs) (revision bf0bb686ee2b533188f8eabdc09732e52d775888) @@ -26,6 +26,7 @@ using Core.Common.Gui.Forms.ProgressDialog; using log4net; using Ringtoets.Common.IO.HydraRing; +using Ringtoets.Common.Service; using Ringtoets.DuneErosion.Data; using Ringtoets.DuneErosion.Service; using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; @@ -78,6 +79,12 @@ string validationProblem = HydraulicBoundaryDatabaseHelper.ValidateFilesForCalculation(hydraulicBoundaryDatabaseFilePath, preprocessorDirectory); + + if (string.IsNullOrEmpty(validationProblem)) + { + TargetProbabilityCalculationServiceHelper.ValidateTargetProbability(norm, logMessage => validationProblem = logMessage); + } + if (!string.IsNullOrEmpty(validationProblem)) { log.ErrorFormat(RingtoetsCommonFormsResources.CalculateHydraulicBoundaryLocation_Start_calculation_failed_0_, Index: Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Forms/Ringtoets.DuneErosion.Forms.csproj =================================================================== diff -u -rbece430ab05641ddb6fe2976c5683028b82acb08 -rbf0bb686ee2b533188f8eabdc09732e52d775888 --- Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Forms/Ringtoets.DuneErosion.Forms.csproj (.../Ringtoets.DuneErosion.Forms.csproj) (revision bece430ab05641ddb6fe2976c5683028b82acb08) +++ Ringtoets/DuneErosion/src/Ringtoets.DuneErosion.Forms/Ringtoets.DuneErosion.Forms.csproj (.../Ringtoets.DuneErosion.Forms.csproj) (revision bf0bb686ee2b533188f8eabdc09732e52d775888) @@ -125,6 +125,11 @@ Ringtoets.Common.Primitives False + + {D951D6DA-FE83-4920-9FDB-63BF96480B54} + Ringtoets.Common.Service + False + {6A074D65-A81C-4C1C-8E24-F36C916E4ED7} Ringtoets.Common.Util Index: Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Forms.Test/GuiServices/DuneLocationCalculationGuiServiceTest.cs =================================================================== diff -u -re5e17b215166c0d4451d922e477cc4d0a4c15205 -rbf0bb686ee2b533188f8eabdc09732e52d775888 --- Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Forms.Test/GuiServices/DuneLocationCalculationGuiServiceTest.cs (.../DuneLocationCalculationGuiServiceTest.cs) (revision e5e17b215166c0d4451d922e477cc4d0a4c15205) +++ Ringtoets/DuneErosion/test/Ringtoets.DuneErosion.Forms.Test/GuiServices/DuneLocationCalculationGuiServiceTest.cs (.../DuneLocationCalculationGuiServiceTest.cs) (revision bf0bb686ee2b533188f8eabdc09732e52d775888) @@ -185,6 +185,37 @@ } [Test] + public void Calculate_InvalidNorm_LogsError() + { + // Setup + var calculatorFactory = mockRepository.StrictMock(); + mockRepository.ReplayAll(); + + using (var viewParent = new Form()) + using (new HydraRingCalculatorFactoryConfig(calculatorFactory)) + { + var guiService = new DuneLocationCalculationGuiService(viewParent); + + // Call + Action call = () => guiService.Calculate(Enumerable.Empty(), + validFilePath, + validPreprocessorDirectory, + 1.0); + + // Assert + TestHelper.AssertLogMessages(call, messages => + { + string[] msgs = messages.ToArray(); + Assert.AreEqual(1, msgs.Length); + Assert.AreEqual("Berekeningen konden niet worden gestart. Doelkans is te groot om een berekening uit te kunnen voeren.", msgs.First()); + }); + } + + mockRepository.VerifyAll(); + } + + + [Test] public void Calculate_ValidPathOneCalculationInTheList_LogsMessages() { // Setup