Index: Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingCalculationService.cs =================================================================== diff -u -r990dd12909ff8c0f941c5b06434ee6258085e5ec -rcc34c73b516e679baeb7f211c5b90027531a8403 --- Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingCalculationService.cs (.../PipingCalculationService.cs) (revision 990dd12909ff8c0f941c5b06434ee6258085e5ec) +++ Ringtoets/Piping/src/Ringtoets.Piping.Service/PipingCalculationService.cs (.../PipingCalculationService.cs) (revision cc34c73b516e679baeb7f211c5b90027531a8403) @@ -29,6 +29,7 @@ using Ringtoets.Piping.Primitives; using Ringtoets.Piping.Service.Properties; using RingtoetsCommonServiceResources = Ringtoets.Common.Service.Properties.Resources; +using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources; namespace Ringtoets.Piping.Service { @@ -105,16 +106,11 @@ { List validationResult = new List(); - var isHydraulicBoundaryLocationMissing = inputParameters.HydraulicBoundaryLocation == null; var isSoilProfileMissing = inputParameters.StochasticSoilProfile == null; var isSurfaceLineMissing = inputParameters.SurfaceLine == null; var isExitPointLMissing = double.IsNaN(inputParameters.ExitPointL); var isEntryPointLMissing = double.IsNaN(inputParameters.EntryPointL); - if (isHydraulicBoundaryLocationMissing) - { - validationResult.Add(Resources.PipingCalculationService_ValidateInput_No_HydraulicBoundaryLocation_selected); - } if (isSurfaceLineMissing) { @@ -136,17 +132,15 @@ validationResult.Add(Resources.PipingCalculationService_ValidateInput_No_value_for_ExitPointL); } - if (!isHydraulicBoundaryLocationMissing) + if (double.IsNaN(inputParameters.AssessmentLevel) || double.IsInfinity(inputParameters.AssessmentLevel)) { - if (double.IsNaN(inputParameters.AssessmentLevel)) - { - validationResult.Add(Resources.PipingCalculationService_ValidateInput_Cannot_determine_AssessmentLevel); - } - if (double.IsNaN(inputParameters.PiezometricHeadExit)) - { - validationResult.Add(Resources.PipingCalculationService_ValidateInput_Cannot_determine_PiezometricHeadExit); - } + validationResult.Add(string.Format(RingtoetsCommonServiceResources.Validation_ValidateInput_No_concrete_value_entered_for_ParameterName_0_, + ParameterNameExtractor.GetFromDisplayName(RingtoetsCommonFormsResources.AssessmentLevel_DisplayName))); } + if (double.IsNaN(inputParameters.PiezometricHeadExit) || double.IsInfinity(inputParameters.PiezometricHeadExit)) + { + validationResult.Add(Resources.PipingCalculationService_ValidateInput_Cannot_determine_PiezometricHeadExit); + } if (!isSurfaceLineMissing && !isSoilProfileMissing && !isExitPointLMissing) { Index: Ringtoets/Piping/src/Ringtoets.Piping.Service/Properties/Resources.Designer.cs =================================================================== diff -u -r7751f40a2df9299c4510003b45dac7d574cd97c2 -rcc34c73b516e679baeb7f211c5b90027531a8403 --- Ringtoets/Piping/src/Ringtoets.Piping.Service/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 7751f40a2df9299c4510003b45dac7d574cd97c2) +++ Ringtoets/Piping/src/Ringtoets.Piping.Service/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision cc34c73b516e679baeb7f211c5b90027531a8403) @@ -22,7 +22,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.17929 +// Runtime Version:4.0.30319.34209 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -148,15 +148,6 @@ } /// - /// Looks up a localized string similar to Kan het toetspeil niet afleiden op basis van de invoer.. - /// - internal static string PipingCalculationService_ValidateInput_Cannot_determine_AssessmentLevel { - get { - return ResourceManager.GetString("PipingCalculationService_ValidateInput_Cannot_determine_AssessmentLevel", resourceCulture); - } - } - - /// /// Looks up a localized string similar to Kan de stijghoogte bij het uittredepunt niet afleiden op basis van de invoer.. /// internal static string PipingCalculationService_ValidateInput_Cannot_determine_PiezometricHeadExit { @@ -204,15 +195,6 @@ } /// - /// Looks up a localized string similar to Er is geen hydraulische randvoorwaardenlocatie geselecteerd.. - /// - internal static string PipingCalculationService_ValidateInput_No_HydraulicBoundaryLocation_selected { - get { - return ResourceManager.GetString("PipingCalculationService_ValidateInput_No_HydraulicBoundaryLocation_selected", resourceCulture); - } - } - - /// /// Looks up a localized string similar to Er is geen ondergrondschematisatie geselecteerd.. /// internal static string PipingCalculationService_ValidateInput_No_StochasticSoilProfile_selected { Index: Ringtoets/Piping/src/Ringtoets.Piping.Service/Properties/Resources.resx =================================================================== diff -u -r7751f40a2df9299c4510003b45dac7d574cd97c2 -rcc34c73b516e679baeb7f211c5b90027531a8403 --- Ringtoets/Piping/src/Ringtoets.Piping.Service/Properties/Resources.resx (.../Resources.resx) (revision 7751f40a2df9299c4510003b45dac7d574cd97c2) +++ Ringtoets/Piping/src/Ringtoets.Piping.Service/Properties/Resources.resx (.../Resources.resx) (revision cc34c73b516e679baeb7f211c5b90027531a8403) @@ -135,15 +135,9 @@ Er is geen profielschematisatie geselecteerd. - - Er is geen hydraulische randvoorwaardenlocatie geselecteerd. - Kan de stijghoogte bij het uittredepunt niet afleiden op basis van de invoer. - - Kan het toetspeil niet afleiden op basis van de invoer. - Er is geen concreet getal ingevoerd voor 'Intredepunt'. Index: Ringtoets/Piping/src/Ringtoets.Piping.Service/Ringtoets.Piping.Service.csproj =================================================================== diff -u -rb1b25abeb595bff11389bbf0e695851995ef5221 -rcc34c73b516e679baeb7f211c5b90027531a8403 --- Ringtoets/Piping/src/Ringtoets.Piping.Service/Ringtoets.Piping.Service.csproj (.../Ringtoets.Piping.Service.csproj) (revision b1b25abeb595bff11389bbf0e695851995ef5221) +++ Ringtoets/Piping/src/Ringtoets.Piping.Service/Ringtoets.Piping.Service.csproj (.../Ringtoets.Piping.Service.csproj) (revision cc34c73b516e679baeb7f211c5b90027531a8403) @@ -76,6 +76,11 @@ Ringtoets.Common.Data False + + {4d840673-3812-4338-a352-84854e32b8a0} + Ringtoets.Common.Forms + False + {D951D6DA-FE83-4920-9FDB-63BF96480B54} Ringtoets.Common.Service Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationGroupContextTreeNodeInfoTest.cs =================================================================== diff -u -r753480c9461b7b5bb10eb7abe78224f24160a536 -rcc34c73b516e679baeb7f211c5b90027531a8403 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationGroupContextTreeNodeInfoTest.cs (.../PipingCalculationGroupContextTreeNodeInfoTest.cs) (revision 753480c9461b7b5bb10eb7abe78224f24160a536) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationGroupContextTreeNodeInfoTest.cs (.../PipingCalculationGroupContextTreeNodeInfoTest.cs) (revision cc34c73b516e679baeb7f211c5b90027531a8403) @@ -726,13 +726,13 @@ TestHelper.AssertLogMessages(call, messages => { var msgs = messages.ToArray(); - Assert.AreEqual(9, msgs.Length); + Assert.AreEqual(10, msgs.Length); StringAssert.StartsWith(String.Format("Validatie van '{0}' gestart om: ", validCalculation.Name), msgs[0]); StringAssert.StartsWith(String.Format("Validatie van '{0}' beëindigd om: ", validCalculation.Name), msgs[1]); StringAssert.StartsWith(String.Format("Validatie van '{0}' gestart om: ", invalidCalculation.Name), msgs[2]); // Some validation error from validation service - StringAssert.StartsWith(String.Format("Validatie van '{0}' beëindigd om: ", invalidCalculation.Name), msgs[8]); + StringAssert.StartsWith(String.Format("Validatie van '{0}' beëindigd om: ", invalidCalculation.Name), msgs[9]); }); } } Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationScenarioContextTreeNodeInfoTest.cs =================================================================== diff -u -r76095f14a847cd54fd958c5b326f7eb903dfd456 -rcc34c73b516e679baeb7f211c5b90027531a8403 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationScenarioContextTreeNodeInfoTest.cs (.../PipingCalculationScenarioContextTreeNodeInfoTest.cs) (revision 76095f14a847cd54fd958c5b326f7eb903dfd456) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationScenarioContextTreeNodeInfoTest.cs (.../PipingCalculationScenarioContextTreeNodeInfoTest.cs) (revision cc34c73b516e679baeb7f211c5b90027531a8403) @@ -440,7 +440,7 @@ Action action = () => contextMenuStrip.Items[calculateContextMenuItemIndex].PerformClick(); // Then - var expectedValidationMessageCount = 5; + var expectedValidationMessageCount = 6; TestHelper.AssertLogMessages(action, messages => { var msgs = messages.GetEnumerator(); @@ -495,7 +495,7 @@ Action action = () => contextMenuStrip.Items[validateContextMenuItemIndex].PerformClick(); // Then - var expectedValidationMessageCount = 5; + var expectedValidationMessageCount = 6; var expectedStatusMessageCount = 2; var expectedLogMessageCount = expectedValidationMessageCount + expectedStatusMessageCount; TestHelper.AssertLogMessagesCount(action, expectedLogMessageCount); Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingFailureMechanismContextTreeNodeInfoTest.cs =================================================================== diff -u -r753480c9461b7b5bb10eb7abe78224f24160a536 -rcc34c73b516e679baeb7f211c5b90027531a8403 --- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingFailureMechanismContextTreeNodeInfoTest.cs (.../PipingFailureMechanismContextTreeNodeInfoTest.cs) (revision 753480c9461b7b5bb10eb7abe78224f24160a536) +++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingFailureMechanismContextTreeNodeInfoTest.cs (.../PipingFailureMechanismContextTreeNodeInfoTest.cs) (revision cc34c73b516e679baeb7f211c5b90027531a8403) @@ -590,13 +590,13 @@ TestHelper.AssertLogMessages(call, messages => { var msgs = messages.ToArray(); - Assert.AreEqual(9, msgs.Length); + Assert.AreEqual(10, msgs.Length); StringAssert.StartsWith(string.Format("Validatie van '{0}' gestart om: ", validCalculation.Name), msgs[0]); StringAssert.StartsWith(string.Format("Validatie van '{0}' beëindigd om: ", validCalculation.Name), msgs[1]); StringAssert.StartsWith(string.Format("Validatie van '{0}' gestart om: ", invalidCalculation.Name), msgs[2]); // Some validation error from validation service - StringAssert.StartsWith(string.Format("Validatie van '{0}' beëindigd om: ", invalidCalculation.Name), msgs[8]); + StringAssert.StartsWith(string.Format("Validatie van '{0}' beëindigd om: ", invalidCalculation.Name), msgs[9]); }); } } Index: Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationActivityTest.cs =================================================================== diff -u -r122edb15a01ee908bf7774f862258b6606522c68 -rcc34c73b516e679baeb7f211c5b90027531a8403 --- Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationActivityTest.cs (.../PipingCalculationActivityTest.cs) (revision 122edb15a01ee908bf7774f862258b6606522c68) +++ Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationActivityTest.cs (.../PipingCalculationActivityTest.cs) (revision cc34c73b516e679baeb7f211c5b90027531a8403) @@ -96,13 +96,14 @@ TestHelper.AssertLogMessages(call, messages => { var msgs = messages.ToArray(); - Assert.AreEqual(7, msgs.Length); + Assert.AreEqual(8, msgs.Length); StringAssert.StartsWith(string.Format("Validatie van '{0}' gestart om: ", invalidPipingCalculation.Name), msgs.First()); StringAssert.StartsWith("Validatie mislukt: ", msgs[1]); StringAssert.StartsWith("Validatie mislukt: ", msgs[2]); StringAssert.StartsWith("Validatie mislukt: ", msgs[3]); StringAssert.StartsWith("Validatie mislukt: ", msgs[4]); StringAssert.StartsWith("Validatie mislukt: ", msgs[5]); + StringAssert.StartsWith("Validatie mislukt: ", msgs[6]); StringAssert.StartsWith(string.Format("Validatie van '{0}' beëindigd om: ", invalidPipingCalculation.Name), msgs.Last()); }); Assert.AreEqual(ActivityState.Failed, activity.State); Index: Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationServiceTest.cs =================================================================== diff -u -r990dd12909ff8c0f941c5b06434ee6258085e5ec -rcc34c73b516e679baeb7f211c5b90027531a8403 --- Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationServiceTest.cs (.../PipingCalculationServiceTest.cs) (revision 990dd12909ff8c0f941c5b06434ee6258085e5ec) +++ Ringtoets/Piping/test/Ringtoets.Piping.Service.Test/PipingCalculationServiceTest.cs (.../PipingCalculationServiceTest.cs) (revision cc34c73b516e679baeb7f211c5b90027531a8403) @@ -94,26 +94,30 @@ TestHelper.AssertLogMessages(call, messages => { var msgs = messages.ToArray(); - Assert.AreEqual(7, msgs.Length); + Assert.AreEqual(8, msgs.Length); StringAssert.StartsWith(string.Format("Validatie van '{0}' gestart om: ", name), msgs.First()); - StringAssert.StartsWith("Validatie mislukt: Er is geen hydraulische randvoorwaardenlocatie geselecteerd.", msgs[1]); - StringAssert.StartsWith("Validatie mislukt: Er is geen profielschematisatie geselecteerd.", msgs[2]); - StringAssert.StartsWith("Validatie mislukt: Er is geen ondergrondschematisatie geselecteerd.", msgs[3]); - StringAssert.StartsWith("Validatie mislukt: Er is geen concreet getal ingevoerd voor 'Intredepunt'.", msgs[4]); - StringAssert.StartsWith("Validatie mislukt: Er is geen concreet getal ingevoerd voor 'Uittredepunt'.", msgs[5]); + StringAssert.StartsWith("Validatie mislukt: Er is geen profielschematisatie geselecteerd.", msgs[1]); + StringAssert.StartsWith("Validatie mislukt: Er is geen ondergrondschematisatie geselecteerd.", msgs[2]); + StringAssert.StartsWith("Validatie mislukt: Er is geen concreet getal ingevoerd voor 'Intredepunt'.", msgs[3]); + StringAssert.StartsWith("Validatie mislukt: Er is geen concreet getal ingevoerd voor 'Uittredepunt'.", msgs[4]); + StringAssert.StartsWith("Validatie mislukt: Er is geen concreet getal ingevoerd voor 'toetspeil'.", msgs[5]); + StringAssert.StartsWith("Validatie mislukt: Kan de stijghoogte bij het uittredepunt niet afleiden op basis van de invoer.", msgs[6]); StringAssert.StartsWith(string.Format("Validatie van '{0}' beëindigd om: ", name), msgs.Last()); }); Assert.IsFalse(isValid); } [Test] - public void Validate_CalculationWithoutHydraulicBoundaryLocation_LogsErrorAndReturnsFalse() + public void Validate_CalculationWithHydraulicBoundaryLocationNotCalculated_LogsErrorAndReturnsFalse() { // Setup const string name = ""; PipingCalculation calculation = PipingCalculationScenarioFactory.CreatePipingCalculationScenarioWithValidInput(); - calculation.InputParameters.HydraulicBoundaryLocation = null; + calculation.InputParameters.HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, string.Empty, 1, 2) + { + DesignWaterLevel = RoundedDouble.NaN + }; calculation.Name = name; // Call @@ -124,25 +128,26 @@ TestHelper.AssertLogMessages(call, messages => { var msgs = messages.ToArray(); - Assert.AreEqual(3, msgs.Length); + Assert.AreEqual(4, msgs.Length); StringAssert.StartsWith(string.Format("Validatie van '{0}' gestart om: ", name), msgs.First()); - StringAssert.StartsWith("Validatie mislukt: Er is geen hydraulische randvoorwaardenlocatie geselecteerd.", msgs[1]); + StringAssert.StartsWith("Validatie mislukt: Er is geen concreet getal ingevoerd voor 'toetspeil'.", msgs[1]); + StringAssert.StartsWith("Validatie mislukt: Kan de stijghoogte bij het uittredepunt niet afleiden op basis van de invoer.", msgs[2]); StringAssert.StartsWith(string.Format("Validatie van '{0}' beëindigd om: ", name), msgs.Last()); }); Assert.IsFalse(isValid); } [Test] - public void Validate_CalculationWithHydraulicBoundaryLocationNotCalculated_LogsErrorAndReturnsFalse() + [TestCase(double.NaN)] + [TestCase(double.NegativeInfinity)] + [TestCase(double.PositiveInfinity)] + public void Validate_CalculationWithInvalidAssessmentLevel_LogsErrorAndReturnsFalse(double assessmentLevel) { // Setup const string name = ""; PipingCalculation calculation = PipingCalculationScenarioFactory.CreatePipingCalculationScenarioWithValidInput(); - calculation.InputParameters.HydraulicBoundaryLocation = new HydraulicBoundaryLocation(1, string.Empty, 1, 2) - { - DesignWaterLevel = RoundedDouble.NaN - }; + calculation.InputParameters.AssessmentLevel = (RoundedDouble) assessmentLevel; calculation.Name = name; // Call @@ -155,7 +160,7 @@ var msgs = messages.ToArray(); Assert.AreEqual(4, msgs.Length); StringAssert.StartsWith(string.Format("Validatie van '{0}' gestart om: ", name), msgs.First()); - StringAssert.StartsWith("Validatie mislukt: Kan het toetspeil niet afleiden op basis van de invoer.", msgs[1]); + StringAssert.StartsWith("Validatie mislukt: Er is geen concreet getal ingevoerd voor 'toetspeil'.", msgs[1]); StringAssert.StartsWith("Validatie mislukt: Kan de stijghoogte bij het uittredepunt niet afleiden op basis van de invoer.", msgs[2]); StringAssert.StartsWith(string.Format("Validatie van '{0}' beëindigd om: ", name), msgs.Last()); });