Index: Core/Components/src/Core.Components.Gis/Data/ImageBasedMapData.cs =================================================================== diff -u -r9f3f7c10efcf38e5b49973744e52307ddda3c0f7 -r0765637cd19a665cdd0ce28add4fc06499adc6b3 --- Core/Components/src/Core.Components.Gis/Data/ImageBasedMapData.cs (.../ImageBasedMapData.cs) (revision 9f3f7c10efcf38e5b49973744e52307ddda3c0f7) +++ Core/Components/src/Core.Components.Gis/Data/ImageBasedMapData.cs (.../ImageBasedMapData.cs) (revision 0765637cd19a665cdd0ce28add4fc06499adc6b3) @@ -30,6 +30,11 @@ /// public abstract class ImageBasedMapData : MapData { + private const int transparencyNumberOfDecimals = 2; + + private static readonly Range transparencyValidityRange = new Range(new RoundedDouble(transparencyNumberOfDecimals), + new RoundedDouble(transparencyNumberOfDecimals, 1)); + private RoundedDouble transparency; /// @@ -39,7 +44,7 @@ /// Thrown when is null or only whitespace. protected ImageBasedMapData(string name) : base(name) { - transparency = new RoundedDouble(2); + transparency = new RoundedDouble(transparencyNumberOfDecimals); } /// @@ -56,10 +61,11 @@ set { var newValue = new RoundedDouble(transparency.NumberOfDecimalPlaces, value); - if (double.IsNaN(newValue) || newValue < 0.0 || newValue > 1.0) + if (!transparencyValidityRange.InRange(newValue)) { throw new ArgumentOutOfRangeException(nameof(value), - Resources.ImageBasedMapData_Transparency_Value_must_be_in_zero_to_one_range); + string.Format(Resources.ImageBasedMapData_Transparency_Value_must_be_in_Range_0_, + transparencyValidityRange)); } transparency = newValue; Index: Core/Components/src/Core.Components.Gis/Properties/Resources.Designer.cs =================================================================== diff -u -r4b32064801ece7ab70357a2a942e21f113abc679 -r0765637cd19a665cdd0ce28add4fc06499adc6b3 --- Core/Components/src/Core.Components.Gis/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 4b32064801ece7ab70357a2a942e21f113abc679) +++ Core/Components/src/Core.Components.Gis/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 0765637cd19a665cdd0ce28add4fc06499adc6b3) @@ -127,11 +127,11 @@ } /// - /// Looks up a localized string similar to De transparantie moet in het bereik [0.0, 1.0] liggen.. + /// Looks up a localized string similar to De transparantie moet in het bereik {0} liggen.. /// - internal static string ImageBasedMapData_Transparency_Value_must_be_in_zero_to_one_range { + internal static string ImageBasedMapData_Transparency_Value_must_be_in_Range_0_ { get { - return ResourceManager.GetString("ImageBasedMapData_Transparency_Value_must_be_in_zero_to_one_range", resourceCulture); + return ResourceManager.GetString("ImageBasedMapData_Transparency_Value_must_be_in_Range_0_", resourceCulture); } } Index: Core/Components/src/Core.Components.Gis/Properties/Resources.resx =================================================================== diff -u -r4b32064801ece7ab70357a2a942e21f113abc679 -r0765637cd19a665cdd0ce28add4fc06499adc6b3 --- Core/Components/src/Core.Components.Gis/Properties/Resources.resx (.../Resources.resx) (revision 4b32064801ece7ab70357a2a942e21f113abc679) +++ Core/Components/src/Core.Components.Gis/Properties/Resources.resx (.../Resources.resx) (revision 0765637cd19a665cdd0ce28add4fc06499adc6b3) @@ -117,8 +117,8 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - De transparantie moet in het bereik [0.0, 1.0] liggen. + + De transparantie moet in het bereik {0} liggen. <niet bepaald> Index: Core/Components/test/Core.Components.Gis.Test/Data/ImageBasedMapDataTest.cs =================================================================== diff -u -r4b32064801ece7ab70357a2a942e21f113abc679 -r0765637cd19a665cdd0ce28add4fc06499adc6b3 --- Core/Components/test/Core.Components.Gis.Test/Data/ImageBasedMapDataTest.cs (.../ImageBasedMapDataTest.cs) (revision 4b32064801ece7ab70357a2a942e21f113abc679) +++ Core/Components/test/Core.Components.Gis.Test/Data/ImageBasedMapDataTest.cs (.../ImageBasedMapDataTest.cs) (revision 0765637cd19a665cdd0ce28add4fc06499adc6b3) @@ -79,6 +79,7 @@ } [Test] + [SetCulture("nl-NL")] [TestCase(-123.56)] [TestCase(0.0 - 1e-2)] [TestCase(1.0 + 1e-2)] @@ -93,7 +94,7 @@ TestDelegate call = () => mapData.Transparency = (RoundedDouble)invalidTransparency; // Assert - var message = "De transparantie moet in het bereik [0.0, 1.0] liggen."; + var message = "De transparantie moet in het bereik [0,00, 1,00] liggen."; string paramName = TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, message).ParamName; Assert.AreEqual("value", paramName); } Index: Core/Components/test/Core.Components.Gis.Test/Data/WmtsMapDataTest.cs =================================================================== diff -u -r4b32064801ece7ab70357a2a942e21f113abc679 -r0765637cd19a665cdd0ce28add4fc06499adc6b3 --- Core/Components/test/Core.Components.Gis.Test/Data/WmtsMapDataTest.cs (.../WmtsMapDataTest.cs) (revision 4b32064801ece7ab70357a2a942e21f113abc679) +++ Core/Components/test/Core.Components.Gis.Test/Data/WmtsMapDataTest.cs (.../WmtsMapDataTest.cs) (revision 0765637cd19a665cdd0ce28add4fc06499adc6b3) @@ -120,6 +120,7 @@ } [Test] + [SetCulture("nl-NL")] [TestCase(-123.56)] [TestCase(0.0 - 1e-2)] [TestCase(1.0 + 1e-2)] @@ -134,7 +135,7 @@ TestDelegate call = () => mapData.Transparency = (RoundedDouble) invalidTransparency; // Assert - var message = "De transparantie moet in het bereik [0.0, 1.0] liggen."; + var message = "De transparantie moet in het bereik [0,00, 1,00] liggen."; string paramName = TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, message).ParamName; Assert.AreEqual("value", paramName); } Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/ClosingStructuresImporterTest.cs =================================================================== diff -u -r8e8f8c83c45656f65adaa8e47600379dc5ae8f61 -r0765637cd19a665cdd0ce28add4fc06499adc6b3 --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/ClosingStructuresImporterTest.cs (.../ClosingStructuresImporterTest.cs) (revision 8e8f8c83c45656f65adaa8e47600379dc5ae8f61) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/ClosingStructuresImporterTest.cs (.../ClosingStructuresImporterTest.cs) (revision 0765637cd19a665cdd0ce28add4fc06499adc6b3) @@ -164,6 +164,7 @@ } [Test] + [SetCulture("nl-NL")] public void Import_InvalidCsvFile_LogAndTrue() { // Setup @@ -213,7 +214,7 @@ CreateExpectedErrorMessage(csvFilePath, "Coupure Den Oever (90k1)", "KUNST1", new[] { - "De waarde voor parameter 'KW_BETSLUIT3' op regel 13, kolom 'Numeriekewaarde', moet in het bereik [0, 360] liggen.", + "De waarde voor parameter 'KW_BETSLUIT3' op regel 13, kolom 'Numeriekewaarde', moet in het bereik [0,0, 360,0] liggen.", "Parameter 'KW_BETSLUIT5' komt meerdere keren voor." }), CreateExpectedErrorMessage(csvFilePath, "Gemaal Leemans (93k3)", "KUNST2", expectedSubMessages), Index: Ringtoets/Common/src/Ringtoets.Common.IO/DikeProfiles/DikeProfileDataReader.cs =================================================================== diff -u -r16bd8076863c03907abeee60b16704aba1bdb1a0 -r0765637cd19a665cdd0ce28add4fc06499adc6b3 --- Ringtoets/Common/src/Ringtoets.Common.IO/DikeProfiles/DikeProfileDataReader.cs (.../DikeProfileDataReader.cs) (revision 16bd8076863c03907abeee60b16704aba1bdb1a0) +++ Ringtoets/Common/src/Ringtoets.Common.IO/DikeProfiles/DikeProfileDataReader.cs (.../DikeProfileDataReader.cs) (revision 0765637cd19a665cdd0ce28add4fc06499adc6b3) @@ -20,11 +20,12 @@ // All rights reserved. using System; -using System.Collections.Generic; using System.Globalization; using System.IO; using System.Linq; using System.Text.RegularExpressions; +using Core.Common.Base; +using Core.Common.Base.Data; using Core.Common.Base.Geometry; using Core.Common.IO.Exceptions; using Core.Common.Utils; @@ -58,6 +59,9 @@ MEMO = 512, } + private static readonly Range orientationValidityRange = new Range(0, 360); + private static readonly Range roughnessValidityRange = new Range(0.5, 1.0); + private readonly string[] acceptedIds; private string fileBeingRead; @@ -383,10 +387,11 @@ /// is outside the [0, 360] range. private void ValidateOrientation(double orientation, int lineNumber) { - if (orientation < 0.0 || orientation > 360.0) + if (!orientationValidityRange.InRange(orientation)) { - string message = string.Format(Resources.DikeProfileDataReader_ValidateOrientation_Orientation_0_must_be_in_range, - orientation); + string rangeText = orientationValidityRange.ToString(FormattableConstants.ShowAtLeastOneDecimal, CultureInfo.CurrentCulture); + string message = string.Format(Resources.DikeProfileDataReader_ValidateOrientation_Orientation_0_must_be_in_Range_1_, + orientation, rangeText); throw CreateCriticalFileReadException(lineNumber, message); } } @@ -822,10 +827,11 @@ /// is outside the range [0.5, 1]. private void ValidateRoughness(double roughness, int lineNumber) { - if (roughness < 0.5 || roughness > 1.0) + if (!roughnessValidityRange.InRange(roughness)) { - string message = string.Format(Resources.DikeProfileDataReader_ReadRoughnessPoint_Roughness_0_must_be_in_range_LowerLimit_1_, - roughness, 0.5); + string rangeText = roughnessValidityRange.ToString(FormattableConstants.ShowAtLeastOneDecimal, CultureInfo.CurrentCulture); + string message = string.Format(Resources.DikeProfileDataReader_ReadRoughnessPoint_Roughness_0_must_be_Range_1_, + roughness, rangeText); throw CreateCriticalFileReadException(lineNumber, message); } } Index: Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.Designer.cs =================================================================== diff -u -r392383a267a69010698aef6948b1e53c6a889bae -r0765637cd19a665cdd0ce28add4fc06499adc6b3 --- Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 392383a267a69010698aef6948b1e53c6a889bae) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 0765637cd19a665cdd0ce28add4fc06499adc6b3) @@ -247,12 +247,11 @@ } /// - /// Looks up a localized string similar to De ingelezen ruwheid ('{0}') moet in het bereik [{1}, 1] liggen.. + /// Looks up a localized string similar to De ingelezen ruwheid ('{0}') moet in het bereik {1} liggen.. /// - public static string DikeProfileDataReader_ReadRoughnessPoint_Roughness_0_must_be_in_range_LowerLimit_1_ { + public static string DikeProfileDataReader_ReadRoughnessPoint_Roughness_0_must_be_Range_1_ { get { - return ResourceManager.GetString("DikeProfileDataReader_ReadRoughnessPoint_Roughness_0_must_be_in_range_LowerLimit_" + - "1_", resourceCulture); + return ResourceManager.GetString("DikeProfileDataReader_ReadRoughnessPoint_Roughness_0_must_be_Range_1_", resourceCulture); } } @@ -360,11 +359,11 @@ } /// - /// Looks up a localized string similar to De oriëntatie ('{0}') moet in het bereik [0, 360] liggen.. + /// Looks up a localized string similar to De oriëntatie ('{0}') moet in het bereik {1} liggen.. /// - public static string DikeProfileDataReader_ValidateOrientation_Orientation_0_must_be_in_range { + public static string DikeProfileDataReader_ValidateOrientation_Orientation_0_must_be_in_Range_1_ { get { - return ResourceManager.GetString("DikeProfileDataReader_ValidateOrientation_Orientation_0_must_be_in_range", resourceCulture); + return ResourceManager.GetString("DikeProfileDataReader_ValidateOrientation_Orientation_0_must_be_in_Range_1_", resourceCulture); } } @@ -972,14 +971,14 @@ } /// - /// Looks up a localized string similar to BEGIN TRANSACTION; - ///CREATE TABLE "TimeIntegrationSettings" ( - /// "LocationID" INTEGER NOT NULL, - /// "CalculationTypeID" INTEGER NOT NULL, - /// "TimeIntegrationSchemeID" INTEGER NOT NULL, - /// CONSTRAINT timeintegrationsettings_pk PRIMARY KEY ("LocationID", "CalculationTypeID"), - /// CONSTRAINT calculationtypes_timeintegrationsettings_fk FOREIGN KEY ("CalculationTypeID") REFERENCES CalculationTypes ("CalculationTypeID") ON DELETE NO ACTION ON UPDATE NO ACTION - ///); + /// Looks up a localized string similar to BEGIN TRANSACTION; + ///CREATE TABLE "TimeIntegrationSettings" ( + /// "LocationID" INTEGER NOT NULL, + /// "CalculationTypeID" INTEGER NOT NULL, + /// "TimeIntegrationSchemeID" INTEGER NOT NULL, + /// CONSTRAINT timeintegrationsettings_pk PRIMARY KEY ("LocationID", "CalculationTypeID"), + /// CONSTRAINT calculationtypes_timeintegrationsettings_fk FOREIGN KEY ("CalculationTypeID") REFERENCES CalculationTypes ("CalculationTypeID") ON DELETE NO ACTION ON UPDATE NO ACTION + ///); ///CREATE TABLE "Numeri [rest of string was truncated]";. /// public static string settings_schema { @@ -1251,12 +1250,12 @@ } /// - /// Looks up a localized string similar to De waarde voor parameter '{0}' op regel {1}, kolom '{2}', moet in het bereik [0, 360] liggen.. + /// Looks up a localized string similar to De waarde voor parameter '{0}' op regel {1}, kolom '{2}', moet in het bereik {3} liggen.. /// - public static string StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_orientation_out_of_range { + public static string StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_orientation_out_of_Range_3_ { get { return ResourceManager.GetString("StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_orientation_ou" + - "t_of_range", resourceCulture); + "t_of_Range_3_", resourceCulture); } } @@ -1281,12 +1280,12 @@ } /// - /// Looks up a localized string similar to De waarde voor parameter '{0}' op regel {1}, kolom '{2}', moet in het bereik [0, 1] liggen.. + /// Looks up a localized string similar to De waarde voor parameter '{0}' op regel {1}, kolom '{2}', moet in het bereik {3} liggen.. /// - public static string StructuresParameterRowsValidator_ProbabilityRule_ParameterId_0_Line_1_ColumnName_2_probability_out_of_range { + public static string StructuresParameterRowsValidator_ProbabilityRule_ParameterId_0_Line_1_ColumnName_2_probability_out_of_Range_3_ { get { return ResourceManager.GetString("StructuresParameterRowsValidator_ProbabilityRule_ParameterId_0_Line_1_ColumnName_" + - "2_probability_out_of_range", resourceCulture); + "2_probability_out_of_Range_3_", resourceCulture); } } Index: Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.resx =================================================================== diff -u -r392383a267a69010698aef6948b1e53c6a889bae -r0765637cd19a665cdd0ce28add4fc06499adc6b3 --- Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.resx (.../Resources.resx) (revision 392383a267a69010698aef6948b1e53c6a889bae) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.resx (.../Resources.resx) (revision 0765637cd19a665cdd0ce28add4fc06499adc6b3) @@ -234,8 +234,8 @@ De ingelezen regel ('{0}') is geen 'X Y ruwheid' definitie. - - De ingelezen ruwheid ('{0}') moet in het bereik [{1}, 1] liggen. + + De ingelezen ruwheid ('{0}') moet in het bereik {1} liggen. ruwheid @@ -270,8 +270,8 @@ De parameter {0} is al eerder in het bestand gedefinieerd. - - De oriëntatie ('{0}') moet in het bereik [0, 360] liggen. + + De oriëntatie ('{0}') moet in het bereik {1} liggen. Enkel bestanden van versie '4.0' worden ondersteund. @@ -439,11 +439,11 @@ De variatie voor parameter '{2}' van kunstwerk '{0}' ({1}) wordt omgerekend in een variatiecoëfficiënt (regel {3}). - - De waarde voor parameter '{0}' op regel {1}, kolom '{2}', moet in het bereik [0, 360] liggen. + + De waarde voor parameter '{0}' op regel {1}, kolom '{2}', moet in het bereik {3} liggen. - - De waarde voor parameter '{0}' op regel {1}, kolom '{2}', moet in het bereik [0, 1] liggen. + + De waarde voor parameter '{0}' op regel {1}, kolom '{2}', moet in het bereik {3} liggen. De waarde voor parameter '{0}' op regel {1}, kolom '{2}', moet een positief geheel getal zijn. Index: Ringtoets/Common/src/Ringtoets.Common.IO/Structures/StructuresParameterRowsValidator.cs =================================================================== diff -u -r4faae1433690b9b06b40c18ff322140aa16df739 -r0765637cd19a665cdd0ce28add4fc06499adc6b3 --- Ringtoets/Common/src/Ringtoets.Common.IO/Structures/StructuresParameterRowsValidator.cs (.../StructuresParameterRowsValidator.cs) (revision 4faae1433690b9b06b40c18ff322140aa16df739) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Structures/StructuresParameterRowsValidator.cs (.../StructuresParameterRowsValidator.cs) (revision 0765637cd19a665cdd0ce28add4fc06499adc6b3) @@ -21,7 +21,10 @@ using System; using System.Collections.Generic; +using System.Globalization; using System.Linq; +using Core.Common.Base; +using Core.Common.Base.Data; using Core.Common.Utils.Extensions; using Ringtoets.Common.IO.Properties; @@ -214,6 +217,10 @@ } }; + private static readonly Range meanValidityRange = new Range(0, 1); + + private static readonly Range orientationValidityRange = new Range(0, 360); + /// /// Validates a collection of for a height structure. /// @@ -348,10 +355,11 @@ var messages = new List(); double mean = row.NumericalValue; - if (double.IsNaN(mean) || double.IsInfinity(mean) || mean < 0 || mean > 1) + if (!meanValidityRange.InRange(mean)) { - messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ProbabilityRule_ParameterId_0_Line_1_ColumnName_2_probability_out_of_range, - row.ParameterId, row.LineNumber, StructureFilesKeywords.NumericalValueColumnName.FirstToUpper())); + messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ProbabilityRule_ParameterId_0_Line_1_ColumnName_2_probability_out_of_Range_3_, + row.ParameterId, row.LineNumber, StructureFilesKeywords.NumericalValueColumnName.FirstToUpper(), + meanValidityRange.ToString(FormattableConstants.ShowAtLeastOneDecimal, CultureInfo.CurrentCulture))); } return messages; @@ -433,10 +441,11 @@ var messages = new List(); double orientation = row.NumericalValue; - if (!(orientation >= 0 && orientation <= 360)) + if (!orientationValidityRange.InRange(orientation)) { - messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_orientation_out_of_range, - row.ParameterId, row.LineNumber, StructureFilesKeywords.NumericalValueColumnName.FirstToUpper())); + messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_orientation_out_of_Range_3_, + row.ParameterId, row.LineNumber, StructureFilesKeywords.NumericalValueColumnName.FirstToUpper(), + orientationValidityRange.ToString(FormattableConstants.ShowAtLeastOneDecimal, CultureInfo.CurrentCulture))); } return messages; Index: Ringtoets/Common/test/Ringtoets.Common.Data.Test/BackgroundMapDataContainerTest.cs =================================================================== diff -u -r628831ffd9aff6761fd03b24ef2df6163fb3cba4 -r0765637cd19a665cdd0ce28add4fc06499adc6b3 --- Ringtoets/Common/test/Ringtoets.Common.Data.Test/BackgroundMapDataContainerTest.cs (.../BackgroundMapDataContainerTest.cs) (revision 628831ffd9aff6761fd03b24ef2df6163fb3cba4) +++ Ringtoets/Common/test/Ringtoets.Common.Data.Test/BackgroundMapDataContainerTest.cs (.../BackgroundMapDataContainerTest.cs) (revision 0765637cd19a665cdd0ce28add4fc06499adc6b3) @@ -80,6 +80,7 @@ } [Test] + [SetCulture("nl-NL")] [TestCase(-123.56)] [TestCase(0.0 - 1e-2)] [TestCase(1.0 + 1e-2)] @@ -94,7 +95,7 @@ TestDelegate call = () => container.Transparency = (RoundedDouble) invalidTransparency; // Assert - var message = "De transparantie moet in het bereik [0.0, 1.0] liggen."; + var message = "De transparantie moet in het bereik [0,00, 1,00] liggen."; string paramName = TestHelper.AssertThrowsArgumentExceptionAndTestMessage(call, message).ParamName; Assert.AreEqual("value", paramName); } Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/DikeProfiles/DikeProfileDataReaderTest.cs =================================================================== diff -u -ra633912c0e5c538b2a0849eea7c1ab4957aaadeb -r0765637cd19a665cdd0ce28add4fc06499adc6b3 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/DikeProfiles/DikeProfileDataReaderTest.cs (.../DikeProfileDataReaderTest.cs) (revision a633912c0e5c538b2a0849eea7c1ab4957aaadeb) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/DikeProfiles/DikeProfileDataReaderTest.cs (.../DikeProfileDataReaderTest.cs) (revision 0765637cd19a665cdd0ce28add4fc06499adc6b3) @@ -20,8 +20,10 @@ // All rights reserved. using System; +using System.Globalization; using System.IO; -using System.Linq; +using Core.Common.Base; +using Core.Common.Base.Data; using Core.Common.Base.Geometry; using Core.Common.IO.Exceptions; using Core.Common.TestUtil; @@ -333,13 +335,13 @@ } [Test] + [SetCulture("nl-NL")] [TestCase("faulty_richtingTooBig.prfl", 360.5)] [TestCase("faulty_richtingTooSmall.prfl", -12.36)] public void ReadDikeProfileData_FileWithOrientationOutOfRange_ThrowCriticalFileReadException( string faultyFileName, double expectedOrientationInFile) { - string expectedMessage = string.Format("de oriëntatie ('{0}') moet in het bereik [0, 360] liggen.", - expectedOrientationInFile); + string expectedMessage = $"de oriëntatie ('{expectedOrientationInFile}') moet in het bereik [0,0, 360,0] liggen."; ReadFileAndExpectCriticalFileReadException("profiel001", faultyFileName, 4, expectedMessage); } @@ -380,7 +382,7 @@ string faultyFileName, double expectedFaultyRoughness, int expectedLineNumber) { ReadDikeProfileData_FileWithRoughnessOutOfRange_ThrowsCriticalFileReadException("profiel001", - faultyFileName, expectedFaultyRoughness, expectedLineNumber, "0,5"); + faultyFileName, expectedFaultyRoughness, expectedLineNumber); } [Test] @@ -391,7 +393,7 @@ string faultyFileName, double expectedFaultyRoughness, int expectedLineNumber) { ReadDikeProfileData_FileWithRoughnessOutOfRange_ThrowsCriticalFileReadException("profiel001", - faultyFileName, expectedFaultyRoughness, expectedLineNumber, "0.5"); + faultyFileName, expectedFaultyRoughness, expectedLineNumber); } [Test] @@ -777,10 +779,10 @@ } private void ReadDikeProfileData_FileWithRoughnessOutOfRange_ThrowsCriticalFileReadException(string acceptedId, - string faultyFileName, double expectedFaultyRoughness, int expectedLineNumber, string expectedLowerLimitText) + string faultyFileName, double expectedFaultyRoughness, int expectedLineNumber) { - string expectedMessage = string.Format("de ingelezen ruwheid ('{0}') moet in het bereik [{1}, 1] liggen.", - expectedFaultyRoughness, expectedLowerLimitText); + var range = new Range(0.5, 1.0); + string expectedMessage = $"de ingelezen ruwheid ('{expectedFaultyRoughness}') moet in het bereik {range.ToString(FormattableConstants.ShowAtLeastOneDecimal, CultureInfo.CurrentCulture)} liggen."; ReadFileAndExpectCriticalFileReadException(acceptedId, faultyFileName, expectedLineNumber, expectedMessage); } } Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/Structures/StructuresParameterRowsValidatorTest.cs =================================================================== diff -u -r4faae1433690b9b06b40c18ff322140aa16df739 -r0765637cd19a665cdd0ce28add4fc06499adc6b3 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/Structures/StructuresParameterRowsValidatorTest.cs (.../StructuresParameterRowsValidatorTest.cs) (revision 4faae1433690b9b06b40c18ff322140aa16df739) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/Structures/StructuresParameterRowsValidatorTest.cs (.../StructuresParameterRowsValidatorTest.cs) (revision 0765637cd19a665cdd0ce28add4fc06499adc6b3) @@ -76,6 +76,7 @@ } [Test] + [SetCulture("nl-NL")] public void ValidateHeightStructuresParameters_ParametersAllInvalid_ValidIsFalseAndErrorMessages() { // Setup @@ -147,7 +148,7 @@ Assert.IsFalse(validationResult.IsValid); List expectedErrorMessages = new List { - "De waarde voor parameter 'KW_HOOGTE1' op regel 1, kolom 'Numeriekewaarde', moet in het bereik [0, 360] liggen.", + "De waarde voor parameter 'KW_HOOGTE1' op regel 1, kolom 'Numeriekewaarde', moet in het bereik [0,0, 360,0] liggen.", "De waarde voor parameter 'KW_HOOGTE2' op regel 2, kolom 'Numeriekewaarde', is geen getal.", "De waarde voor parameter 'KW_HOOGTE2' op regel 2, kolom 'Boolean', moet '0' (variatiecoëfficiënt) of '1' (standaardafwijking) zijn.", "De waarde voor parameter 'KW_HOOGTE2' op regel 2, kolom 'Standaardafwijking.variatie', moet een positief getal zijn.", @@ -159,7 +160,7 @@ "De waarde voor parameter 'KW_HOOGTE4' op regel 4, kolom 'Standaardafwijking.variatie', moet een positief getal zijn.", "De waarde voor parameter 'KW_HOOGTE5' op regel 5, kolom 'Numeriekewaarde', is geen getal.", "De waarde voor parameter 'KW_HOOGTE5' op regel 5, kolom 'Boolean', moet '0' (variatiecoëfficiënt) of '1' (standaardafwijking) zijn.", - "De waarde voor parameter 'KW_HOOGTE6' op regel 6, kolom 'Numeriekewaarde', moet in het bereik [0, 1] liggen.", + "De waarde voor parameter 'KW_HOOGTE6' op regel 6, kolom 'Numeriekewaarde', moet in het bereik [0,0, 1,0] liggen.", "De waarde voor parameter 'KW_HOOGTE7' op regel 7, kolom 'Numeriekewaarde', is te dicht op 0 waardoor een betrouwbare conversie tussen standaardafwijking en variatiecoëfficiënt niet mogelijk is.", "De waarde voor parameter 'KW_HOOGTE8' op regel 8, kolom 'Numeriekewaarde', is te dicht op 0 waardoor een betrouwbare conversie tussen standaardafwijking en variatiecoëfficiënt niet mogelijk is." }; @@ -298,6 +299,7 @@ } [Test] + [SetCulture("nl-NL")] public void ValidateClosingStructuresParameters_ParametersAllInvalid_ValidIsFalseAndErrorMessages() { // Setup @@ -419,7 +421,7 @@ { "De waarde voor parameter 'KW_BETSLUIT1' op regel 1, kolom 'Numeriekewaarde', is te dicht op 0 waardoor een betrouwbare conversie tussen standaardafwijking en variatiecoëfficiënt niet mogelijk is.", "De waarde voor parameter 'KW_BETSLUIT2' op regel 2, kolom 'Numeriekewaarde', moet een getal zijn groter dan 0.", - "De waarde voor parameter 'KW_BETSLUIT3' op regel 3, kolom 'Numeriekewaarde', moet in het bereik [0, 360] liggen.", + "De waarde voor parameter 'KW_BETSLUIT3' op regel 3, kolom 'Numeriekewaarde', moet in het bereik [0,0, 360,0] liggen.", "De waarde voor parameter 'KW_BETSLUIT5' op regel 5, kolom 'Numeriekewaarde', is geen getal.", "De waarde voor parameter 'KW_BETSLUIT5' op regel 5, kolom 'Boolean', moet '0' (variatiecoëfficiënt) of '1' (standaardafwijking) zijn.", "De waarde voor parameter 'KW_BETSLUIT6' op regel 6, kolom 'Numeriekewaarde', is geen getal.", @@ -436,9 +438,9 @@ "De waarde voor parameter 'KW_BETSLUIT10' op regel 10, kolom 'Boolean', moet '0' (variatiecoëfficiënt) of '1' (standaardafwijking) zijn.", "De waarde voor parameter 'KW_BETSLUIT10' op regel 10, kolom 'Standaardafwijking.variatie', moet een positief getal zijn.", "De waarde voor parameter 'KW_BETSLUIT11' op regel 11, kolom 'Numeriekewaarde', moet een positief getal zijn.", - "De waarde voor parameter 'KW_BETSLUIT12' op regel 12, kolom 'Numeriekewaarde', moet in het bereik [0, 1] liggen.", + "De waarde voor parameter 'KW_BETSLUIT12' op regel 12, kolom 'Numeriekewaarde', moet in het bereik [0,0, 1,0] liggen.", "De waarde voor parameter 'KW_BETSLUIT13' op regel 13, kolom 'Numeriekewaarde', moet een positief geheel getal zijn.", - "De waarde voor parameter 'KW_BETSLUIT14' op regel 14, kolom 'Numeriekewaarde', moet in het bereik [0, 1] liggen.", + "De waarde voor parameter 'KW_BETSLUIT14' op regel 14, kolom 'Numeriekewaarde', moet in het bereik [0,0, 1,0] liggen.", "De waarde voor parameter 'KW_BETSLUIT15' op regel 15, kolom 'Alfanumeriekewaarde', moet een geldig kunstwerk type zijn." }; CollectionAssert.AreEqual(expectedErrorMessages, validationResult.ErrorMessages); @@ -761,6 +763,7 @@ } [Test] + [SetCulture("nl-NL")] public void ValidateStabilityPointStructuresParameters_ParametersAllInvalid_ValidIsFalseAndErrorMessages() { // Setup @@ -964,7 +967,7 @@ Assert.IsFalse(validationResult.IsValid); List expectedErrorMessages = new List { - "De waarde voor parameter 'KW_STERSTAB1' op regel 1, kolom 'Numeriekewaarde', moet in het bereik [0, 360] liggen.", + "De waarde voor parameter 'KW_STERSTAB1' op regel 1, kolom 'Numeriekewaarde', moet in het bereik [0,0, 360,0] liggen.", "De waarde voor parameter 'KW_STERSTAB2' op regel 2, kolom 'Numeriekewaarde', is te dicht op 0 waardoor een betrouwbare conversie tussen standaardafwijking en variatiecoëfficiënt niet mogelijk is.", "De waarde voor parameter 'KW_STERSTAB3' op regel 3, kolom 'Numeriekewaarde', moet een getal zijn groter dan 0.", "De waarde voor parameter 'KW_STERSTAB3' op regel 3, kolom 'Boolean', moet '0' (variatiecoëfficiënt) of '1' (standaardafwijking) zijn.", @@ -987,12 +990,12 @@ "De waarde voor parameter 'KW_STERSTAB14' op regel 14, kolom 'Numeriekewaarde', is geen getal.", "De waarde voor parameter 'KW_STERSTAB14' op regel 14, kolom 'Boolean', moet '0' (variatiecoëfficiënt) of '1' (standaardafwijking) zijn.", "De waarde voor parameter 'KW_STERSTAB15' op regel 15, kolom 'Numeriekewaarde', moet een positief getal zijn.", - "De waarde voor parameter 'KW_STERSTAB16' op regel 16, kolom 'Numeriekewaarde', moet in het bereik [0, 1] liggen.", + "De waarde voor parameter 'KW_STERSTAB16' op regel 16, kolom 'Numeriekewaarde', moet in het bereik [0,0, 1,0] liggen.", "De waarde voor parameter 'KW_STERSTAB17' op regel 17, kolom 'Numeriekewaarde', moet een getal zijn groter dan 0.", "De waarde voor parameter 'KW_STERSTAB17' op regel 17, kolom 'Boolean', moet '0' (variatiecoëfficiënt) of '1' (standaardafwijking) zijn.", "De waarde voor parameter 'KW_STERSTAB17' op regel 17, kolom 'Standaardafwijking.variatie', moet een positief getal zijn.", "De waarde voor parameter 'KW_STERSTAB20' op regel 20, kolom 'Numeriekewaarde', moet een positief getal zijn.", - "De waarde voor parameter 'KW_STERSTAB21' op regel 21, kolom 'Numeriekewaarde', moet in het bereik [0, 1] liggen.", + "De waarde voor parameter 'KW_STERSTAB21' op regel 21, kolom 'Numeriekewaarde', moet in het bereik [0,0, 1,0] liggen.", "De waarde voor parameter 'KW_STERSTAB22' op regel 22, kolom 'Numeriekewaarde', is geen getal.", "De waarde voor parameter 'KW_STERSTAB23' op regel 23, kolom 'Numeriekewaarde', is te dicht op 0 waardoor een betrouwbare conversie tussen standaardafwijking en variatiecoëfficiënt niet mogelijk is.", "De waarde voor parameter 'KW_STERSTAB24' op regel 24, kolom 'Numeriekewaarde', is te dicht op 0 waardoor een betrouwbare conversie tussen standaardafwijking en variatiecoëfficiënt niet mogelijk is.", Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/HeightStructuresImporterTest.cs =================================================================== diff -u -r8e8f8c83c45656f65adaa8e47600379dc5ae8f61 -r0765637cd19a665cdd0ce28add4fc06499adc6b3 --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/HeightStructuresImporterTest.cs (.../HeightStructuresImporterTest.cs) (revision 8e8f8c83c45656f65adaa8e47600379dc5ae8f61) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/HeightStructuresImporterTest.cs (.../HeightStructuresImporterTest.cs) (revision 0765637cd19a665cdd0ce28add4fc06499adc6b3) @@ -150,6 +150,7 @@ } [Test] + [SetCulture("nl-NL")] public void Import_InvalidCsvFile_LogAndTrue() { // Setup @@ -192,7 +193,7 @@ CreateExpectedErrorMessage(csvFilePath, "Coupure Den Oever (90k1)", "KUNST1", new[] { - "De waarde voor parameter 'KW_HOOGTE1' op regel 2, kolom 'Numeriekewaarde', moet in het bereik [0, 360] liggen.", + "De waarde voor parameter 'KW_HOOGTE1' op regel 2, kolom 'Numeriekewaarde', moet in het bereik [0,0, 360,0] liggen.", "Parameter 'KW_HOOGTE2' komt meerdere keren voor." }), CreateExpectedErrorMessage(csvFilePath, "Gemaal Leemans (93k3)", "KUNST2", expectedSubMessages),