Index: Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/ClosingStructuresImporterTest.cs =================================================================== diff -u -rd75706d5c26b844e76d93f6c1879d3acbf98cf77 -r485254f159763215292faa9bc7f5251f2730ce90 --- Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/ClosingStructuresImporterTest.cs (.../ClosingStructuresImporterTest.cs) (revision d75706d5c26b844e76d93f6c1879d3acbf98cf77) +++ Ringtoets/ClosingStructures/test/Ringtoets.ClosingStructures.IO.Test/ClosingStructuresImporterTest.cs (.../ClosingStructuresImporterTest.cs) (revision 485254f159763215292faa9bc7f5251f2730ce90) @@ -197,7 +197,7 @@ CreateExpectedErrorMessage(csvFilePath, "Coupure Den Oever (90k1)", "KUNST1", new[] { - "De waarde op regel 13, kolom 'NumeriekeWaarde' valt buiten het bereik [0, 360].", + "De waarde voor parameter 'KW_BETSLUIT3' op regel 13, kolom 'numeriekewaarde', valt buiten het bereik [0, 360].", "Parameter 'KW_BETSLUIT5' komt meermaals voor." }), CreateExpectedErrorMessage(csvFilePath, "Gemaal Leemans (93k3)", "KUNST2", Index: Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.Designer.cs =================================================================== diff -u -rd75706d5c26b844e76d93f6c1879d3acbf98cf77 -r485254f159763215292faa9bc7f5251f2730ce90 --- Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision d75706d5c26b844e76d93f6c1879d3acbf98cf77) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 485254f159763215292faa9bc7f5251f2730ce90) @@ -1,4 +1,25 @@ -//------------------------------------------------------------------------------ +// Copyright (C) Stichting Deltares 2016. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +//------------------------------------------------------------------------------ // // This code was generated by a tool. // Runtime Version:4.0.30319.18444 @@ -1227,71 +1248,104 @@ } /// - /// Looks up a localized string similar to De waarde op regel {0}, kolom '{1}' valt buiten het bereik [0, 360].. + /// Looks up a localized string similar to Parameter '{0}' ontbreekt.. /// - public static string StructuresParameterRowsValidator_Line_0_ColumnName_1_orientation_out_of_range { + public static string StructuresParameterRowsValidator_Parameter_0_missing { get { - return ResourceManager.GetString("StructuresParameterRowsValidator_Line_0_ColumnName_1_orientation_out_of_range", resourceCulture); + return ResourceManager.GetString("StructuresParameterRowsValidator_Parameter_0_missing", resourceCulture); } } /// - /// Looks up a localized string similar to De waarde op regel {0}, kolom '{1}' valt buiten het bereik (0, 1].. + /// Looks up a localized string similar to Parameter '{0}' komt meermaals voor.. /// - public static string StructuresParameterRowsValidator_Line_0_ColumnName_1_probability_out_of_range { + public static string StructuresParameterRowsValidator_Parameter_0_repeated { get { - return ResourceManager.GetString("StructuresParameterRowsValidator_Line_0_ColumnName_1_probability_out_of_range", resourceCulture); + return ResourceManager.GetString("StructuresParameterRowsValidator_Parameter_0_repeated", resourceCulture); } } /// - /// Looks up a localized string similar to De waarde op regel {0}, kolom '{1}' mag niet kleiner dan nul zijn.. + /// Looks up a localized string similar to De waarde voor parameter '{0}' op regel {1}, kolom '{2}', moet de waarde 0 (variatiecoëfficiënt) of 1 (standaard deviatie) hebben.. /// - public static string StructuresParameterRowsValidator_Line_0_ColumnName_1_value_cannot_be_smaller_than_zero { + public static string StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_invalid_variancetype_value { get { - return ResourceManager.GetString("StructuresParameterRowsValidator_Line_0_ColumnName_1_value_cannot_be_smaller_than" + - "_zero", resourceCulture); + return ResourceManager.GetString("StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_invalid_varian" + + "cetype_value", resourceCulture); } } /// - /// Looks up a localized string similar to De waarde op regel {0}, kolom '{1}' is ongeldig.. + /// Looks up a localized string similar to De waarde voor parameter '{0}' op regel {1}, kolom '{2}', is te dicht op 0 waardoor een betrouwbare conversie tussen standaard deviatie en variatiecoëfficiënt niet mogelijk is.. /// - public static string StructuresParameterRowsValidator_Line_0_ColumnName_1_value_invalid { + public static string StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_mean_too_small_for_reliable_variation_value_conversion { get { - return ResourceManager.GetString("StructuresParameterRowsValidator_Line_0_ColumnName_1_value_invalid", resourceCulture); + return ResourceManager.GetString("StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_mean_too_small" + + "_for_reliable_variation_value_conversion", resourceCulture); } } /// - /// Looks up a localized string similar to Voor een betrouwbare conversie tussen standaard deviatie en variatiecoëfficiënt mag de gemiddelde waarde (op regel {0}, kolom {1}) niet te dicht op 0 zijn.. + /// Looks up a localized string similar to De waarde voor parameter '{0}' op regel {1}, kolom '{2}', valt buiten het bereik [0, 360].. /// - public static string StructuresParameterRowsValidator_Mean_on_Line_0_ColumnName_1_causes_unreliable_variation_value_conversion { + public static string StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_orientation_out_of_range { get { - return ResourceManager.GetString("StructuresParameterRowsValidator_Mean_on_Line_0_ColumnName_1_causes_unreliable_va" + - "riation_value_conversion", resourceCulture); + return ResourceManager.GetString("StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_orientation_ou" + + "t_of_range", resourceCulture); } } /// - /// Looks up a localized string similar to Parameter '{0}' ontbreekt.. + /// Looks up a localized string similar to De waarde voor parameter '{0}' op regel {1}, kolom '{2}', moet een geldig kunstwerk type zijn.. /// - public static string StructuresParameterRowsValidator_Parameter_0_missing { + public static string StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_structure_type_invalid { get { - return ResourceManager.GetString("StructuresParameterRowsValidator_Parameter_0_missing", resourceCulture); + return ResourceManager.GetString("StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_structure_type" + + "_invalid", resourceCulture); } } /// - /// Looks up a localized string similar to Parameter '{0}' komt meermaals voor.. + /// Looks up a localized string similar to De waarde voor parameter '{0}' op regel {1}, kolom '{2}', moet een positief geheel getal zijn.. /// - public static string StructuresParameterRowsValidator_Parameter_0_repeated { + public static string StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_value_must_be_positive_whole_number { get { - return ResourceManager.GetString("StructuresParameterRowsValidator_Parameter_0_repeated", resourceCulture); + return ResourceManager.GetString("StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_value_must_be_" + + "positive_whole_number", resourceCulture); } } /// + /// Looks up a localized string similar to De waarde voor parameter '{0}' op regel {1}, kolom '{2}', valt buiten het bereik (0, 1].. + /// + public static string StructuresParameterRowsValidator_ProbabilityRule_ParameterId_0_Line_1_ColumnName_2_probability_out_of_range { + get { + return ResourceManager.GetString("StructuresParameterRowsValidator_ProbabilityRule_ParameterId_0_Line_1_ColumnName_" + + "2_probability_out_of_range", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to De waarde voor parameter '{0}' op regel {1}, kolom '{2}', is geen getal.. + /// + public static string StructuresParameterRowsValidator_ValidateDoubleParameter_ParameterId_0_Line_1_ColumnName_2_not_number { + get { + return ResourceManager.GetString("StructuresParameterRowsValidator_ValidateDoubleParameter_ParameterId_0_Line_1_Col" + + "umnName_2_not_number", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to De waarde voor parameter '{0}' op regel {1}, kolom '{2}', moet een getal zijn dat niet negatief is.. + /// + public static string StructuresParameterRowsValidator_ValidatePositiveDoubleParameter_ParameterId_0_Line_1_ColumnName_2_not_positive_number { + get { + return ResourceManager.GetString("StructuresParameterRowsValidator_ValidatePositiveDoubleParameter_ParameterId_0_Li" + + "ne_1_ColumnName_2_not_positive_number", resourceCulture); + } + } + + /// /// Looks up a localized string similar to Het kunstwerk heeft geen geldige waarde voor attribuut '{0}'.. /// public static string StructuresReader_GetNextStructure_Invalid_KWKIDENT { Index: Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.resx =================================================================== diff -u -rd75706d5c26b844e76d93f6c1879d3acbf98cf77 -r485254f159763215292faa9bc7f5251f2730ce90 --- Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.resx (.../Resources.resx) (revision d75706d5c26b844e76d93f6c1879d3acbf98cf77) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.resx (.../Resources.resx) (revision 485254f159763215292faa9bc7f5251f2730ce90) @@ -447,23 +447,23 @@ De variatie voor parameter '{2}' van kunstwerk '{0}' ({1}) wordt omgerekend in een standaard deviatie (regel {3}). - - Voor een betrouwbare conversie tussen standaard deviatie en variatiecoëfficiënt mag de gemiddelde waarde (op regel {0}, kolom {1}) niet te dicht op 0 zijn. + + De waarde voor parameter '{0}' op regel {1}, kolom '{2}', is te dicht op 0 waardoor een betrouwbare conversie tussen standaard deviatie en variatiecoëfficiënt niet mogelijk is. De variatie voor parameter '{2}' van kunstwerk '{0}' ({1}) wordt omgerekend in een variatiecoëfficiënt (regel {3}). - - De waarde op regel {0}, kolom '{1}' valt buiten het bereik [0, 360]. + + De waarde voor parameter '{0}' op regel {1}, kolom '{2}', valt buiten het bereik [0, 360]. - - De waarde op regel {0}, kolom '{1}' valt buiten het bereik (0, 1]. + + De waarde voor parameter '{0}' op regel {1}, kolom '{2}', valt buiten het bereik (0, 1]. - - De waarde op regel {0}, kolom '{1}' mag niet kleiner dan nul zijn. + + De waarde voor parameter '{0}' op regel {1}, kolom '{2}', moet een positief geheel getal zijn. - - De waarde op regel {0}, kolom '{1}' is ongeldig. + + De waarde voor parameter '{0}' op regel {1}, kolom '{2}', moet een geldig kunstwerk type zijn. Kan geen geldige gegevens vinden voor kunstwerklocatie met KWKIDENT '{0}'. @@ -478,4 +478,13 @@ Er zijn 1 of meerdere fouten gevonden waardoor dit kunstwerk niet ingelezen kan worden: {0} + + De waarde voor parameter '{0}' op regel {1}, kolom '{2}', is geen getal. + + + De waarde voor parameter '{0}' op regel {1}, kolom '{2}', moet een getal zijn dat niet negatief is. + + + De waarde voor parameter '{0}' op regel {1}, kolom '{2}', moet de waarde 0 (variatiecoëfficiënt) of 1 (standaard deviatie) hebben. + \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.IO/Structures/StructuresParameterRowsValidator.cs =================================================================== diff -u -rba9ec373e2589d5ab99c881af5a32f387ef93c56 -r485254f159763215292faa9bc7f5251f2730ce90 --- Ringtoets/Common/src/Ringtoets.Common.IO/Structures/StructuresParameterRowsValidator.cs (.../StructuresParameterRowsValidator.cs) (revision ba9ec373e2589d5ab99c881af5a32f387ef93c56) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Structures/StructuresParameterRowsValidator.cs (.../StructuresParameterRowsValidator.cs) (revision 485254f159763215292faa9bc7f5251f2730ce90) @@ -31,11 +31,6 @@ /// public static class StructuresParameterRowsValidator { - private const string alphanumericalValueColumn = "AlphanumeriekeWaarde"; - private const string numericalValueColumn = "NumeriekeWaarde"; - private const string varianceValueColumn = "Standarddeviatie.variance"; - private const string varianceTypeColumn = "Boolean"; - /// /// Denotes a small enough value, taking possible rounding into account, that the /// value is too close to the value 0.0 that makes a coefficient of variation @@ -284,38 +279,64 @@ private static List DoubleRule(StructuresParameterRow row) { + return ValidateDoubleParameter(row, StructureFilesKeywords.NumericalValueColumnName); + } + + private static List PositiveDoubleRule(StructuresParameterRow row) + { + return ValidatePositiveDoubleParameter(row, StructureFilesKeywords.NumericalValueColumnName); + } + + private static List ValidateDoubleParameter(StructuresParameterRow row, string columnName) + { var messages = new List(); - double value = row.NumericalValue; + double value = GetValueFromRowForColumn(row, columnName); if (double.IsNaN(value) || double.IsInfinity(value)) { - messages.Add(string.Format(Resources.StructuresParameterRowsValidator_Line_0_ColumnName_1_probability_out_of_range, row.LineNumber, numericalValueColumn)); + messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ValidateDoubleParameter_ParameterId_0_Line_1_ColumnName_2_not_number, + row.ParameterId, row.LineNumber, columnName)); } return messages; } - private static List PositiveDoubleRule(StructuresParameterRow row) + private static List ValidatePositiveDoubleParameter(StructuresParameterRow row, string columnName) { - List messages = new List(); + var messages = new List(); - double value = row.NumericalValue; + double value = GetValueFromRowForColumn(row, columnName); if (double.IsNaN(value) || double.IsInfinity(value) || value < 0) { - messages.Add(string.Format(Resources.StructuresParameterRowsValidator_Line_0_ColumnName_1_probability_out_of_range, row.LineNumber, numericalValueColumn)); + messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ValidatePositiveDoubleParameter_ParameterId_0_Line_1_ColumnName_2_not_positive_number, + row.ParameterId, row.LineNumber, columnName)); } return messages; } + private static double GetValueFromRowForColumn(StructuresParameterRow row, string columnName) + { + switch (columnName) + { + case StructureFilesKeywords.NumericalValueColumnName: + return row.NumericalValue; + case StructureFilesKeywords.VariationValueColumnName: + return row.VarianceValue; + default: + throw new NotImplementedException(); + } + } + private static List ProbabilityRule(StructuresParameterRow row) { var messages = new List(); double mean = row.NumericalValue; if (double.IsNaN(mean) || double.IsInfinity(mean) || mean <= 0 || mean > 1) { - messages.Add(string.Format(Resources.StructuresParameterRowsValidator_Line_0_ColumnName_1_probability_out_of_range, row.LineNumber, numericalValueColumn)); + messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ProbabilityRule_ParameterId_0_Line_1_ColumnName_2_probability_out_of_range, + row.ParameterId, row.LineNumber, StructureFilesKeywords.NumericalValueColumnName)); } return messages; @@ -346,38 +367,35 @@ var messages = new List(); double mean = row.NumericalValue; - if (double.IsNaN(mean) || double.IsInfinity(mean) || (meanMustBeGreaterThanZero && mean <= 0)) - { - messages.Add(string.Format(Resources.StructuresParameterRowsValidator_Line_0_ColumnName_1_value_invalid, row.LineNumber, numericalValueColumn)); - } + var numericalValueColumn1 = StructureFilesKeywords.NumericalValueColumnName; + messages.AddRange(meanMustBeGreaterThanZero ? + ValidatePositiveDoubleParameter(row, numericalValueColumn1) : + ValidateDoubleParameter(row, numericalValueColumn1)); VarianceType type = row.VarianceType; if (type != VarianceType.StandardDeviation && type != VarianceType.CoefficientOfVariation) { - messages.Add(string.Format(Resources.StructuresParameterRowsValidator_Line_0_ColumnName_1_value_invalid, row.LineNumber, varianceTypeColumn)); + messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_invalid_variancetype_value, + row.ParameterId, row.LineNumber, StructureFilesKeywords.VariationTypeColumnName)); } - double variance = row.VarianceValue; - if (double.IsNaN(variance) || double.IsInfinity(variance) || variance < 0.0) - { - messages.Add(string.Format(Resources.StructuresParameterRowsValidator_Line_0_ColumnName_1_value_invalid, row.LineNumber, varianceValueColumn)); - } + messages.AddRange(ValidatePositiveDoubleParameter(row, StructureFilesKeywords.VariationValueColumnName)); double absoluteMean = Math.Abs(mean); if (variationAsStandardDeviation) { if (row.VarianceType == VarianceType.CoefficientOfVariation && absoluteMean < valueTooCloseToZero) { - messages.Add(string.Format(Resources.StructuresParameterRowsValidator_Mean_on_Line_0_ColumnName_1_causes_unreliable_variation_value_conversion, - row.LineNumber, StructureFilesKeywords.NumericalValueColumnName)); + messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_mean_too_small_for_reliable_variation_value_conversion, + row.ParameterId, row.LineNumber, StructureFilesKeywords.NumericalValueColumnName)); } } else { if (row.VarianceType == VarianceType.StandardDeviation && absoluteMean < valueTooCloseToZero) { - messages.Add(string.Format(Resources.StructuresParameterRowsValidator_Mean_on_Line_0_ColumnName_1_causes_unreliable_variation_value_conversion, - row.LineNumber, StructureFilesKeywords.NumericalValueColumnName)); + messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_mean_too_small_for_reliable_variation_value_conversion, + row.ParameterId, row.LineNumber, StructureFilesKeywords.NumericalValueColumnName)); } } @@ -391,7 +409,8 @@ double orientation = row.NumericalValue; if (!(orientation >= 0 && orientation <= 360)) { - messages.Add(string.Format(Resources.StructuresParameterRowsValidator_Line_0_ColumnName_1_orientation_out_of_range, row.LineNumber, numericalValueColumn)); + messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_orientation_out_of_range, + row.ParameterId, row.LineNumber, StructureFilesKeywords.NumericalValueColumnName)); } return messages; @@ -401,20 +420,27 @@ { var messages = new List(); double value = row.NumericalValue; - if (value < 0) + if (!IsValueWholeNumber(value) || value < 0) { - messages.Add(string.Format(Resources.StructuresParameterRowsValidator_Line_0_ColumnName_1_value_cannot_be_smaller_than_zero, row.LineNumber, numericalValueColumn)); + messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_value_must_be_positive_whole_number, + row.ParameterId, row.LineNumber, StructureFilesKeywords.NumericalValueColumnName)); } return messages; } + private static bool IsValueWholeNumber(double value) + { + return (value%1) < double.Epsilon; + } + private static List ClosingStructureInflowModelTypeRule(StructuresParameterRow row) { var messages = new List(); string value = row.AlphanumericValue.ToLower(); if (!closingStructureInflowModelTypeRuleKeywords.Contains(value)) { - messages.Add(string.Format(Resources.StructuresParameterRowsValidator_Line_0_ColumnName_1_value_invalid, row.LineNumber, alphanumericalValueColumn)); + messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_structure_type_invalid, + row.ParameterId, row.LineNumber, StructureFilesKeywords.AlphanumericalValueColumnName)); } return messages; } @@ -425,7 +451,8 @@ string value = row.AlphanumericValue.ToLower(); if (!stabilityPointStructureInflowModelTypeRuleKeywords.Contains(value)) { - messages.Add(string.Format(Resources.StructuresParameterRowsValidator_Line_0_ColumnName_1_value_invalid, row.LineNumber, alphanumericalValueColumn)); + messages.Add(string.Format(Resources.StructuresParameterRowsValidator_ParameterId_0_Line_1_ColumnName_2_structure_type_invalid, + row.ParameterId, row.LineNumber, StructureFilesKeywords.AlphanumericalValueColumnName)); } return messages; } Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/Structures/StructuresParameterRowsValidatorTest.cs =================================================================== diff -u -rba9ec373e2589d5ab99c881af5a32f387ef93c56 -r485254f159763215292faa9bc7f5251f2730ce90 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/Structures/StructuresParameterRowsValidatorTest.cs (.../StructuresParameterRowsValidatorTest.cs) (revision ba9ec373e2589d5ab99c881af5a32f387ef93c56) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/Structures/StructuresParameterRowsValidatorTest.cs (.../StructuresParameterRowsValidatorTest.cs) (revision 485254f159763215292faa9bc7f5251f2730ce90) @@ -147,22 +147,21 @@ Assert.IsFalse(validationResult.IsValid); List expectedErrorMessages = new List { - "De waarde op regel 1, kolom 'NumeriekeWaarde' valt buiten het bereik [0, 360].", - "De waarde op regel 2, kolom 'NumeriekeWaarde' is ongeldig.", - "De waarde op regel 2, kolom 'Boolean' is ongeldig.", - "De waarde op regel 2, kolom 'Standarddeviatie.variance' is ongeldig.", - "De waarde op regel 3, kolom 'NumeriekeWaarde' is ongeldig.", - "De waarde op regel 3, kolom 'Boolean' is ongeldig.", - "De waarde op regel 3, kolom 'Standarddeviatie.variance' is ongeldig.", - "De waarde op regel 4, kolom 'NumeriekeWaarde' is ongeldig.", - "De waarde op regel 4, kolom 'Boolean' is ongeldig.", - "De waarde op regel 4, kolom 'Standarddeviatie.variance' is ongeldig.", - "De waarde op regel 5, kolom 'NumeriekeWaarde' is ongeldig.", - "De waarde op regel 5, kolom 'Boolean' is ongeldig.", - "De waarde op regel 6, kolom 'NumeriekeWaarde' valt buiten het bereik (0, 1].", - "Voor een betrouwbare conversie tussen standaard deviatie en variatiecoëfficiënt mag de gemiddelde waarde (op regel 7, kolom numeriekewaarde) niet te dicht op 0 zijn.", - "De waarde op regel 8, kolom 'NumeriekeWaarde' is ongeldig.", - "Voor een betrouwbare conversie tussen standaard deviatie en variatiecoëfficiënt mag de gemiddelde waarde (op regel 8, kolom numeriekewaarde) niet te dicht op 0 zijn." + "De waarde voor parameter 'KW_HOOGTE1' op regel 1, kolom 'numeriekewaarde', valt buiten het bereik [0, 360].", + "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 de waarde 0 (variatiecoëfficiënt) of 1 (standaard deviatie) hebben.", + "De waarde voor parameter 'KW_HOOGTE2' op regel 2, kolom 'standarddeviatie.variance', moet een getal zijn dat niet negatief is.", + "De waarde voor parameter 'KW_HOOGTE3' op regel 3, kolom 'numeriekewaarde', moet een getal zijn dat niet negatief is.", + "De waarde voor parameter 'KW_HOOGTE3' op regel 3, kolom 'boolean', moet de waarde 0 (variatiecoëfficiënt) of 1 (standaard deviatie) hebben.", + "De waarde voor parameter 'KW_HOOGTE3' op regel 3, kolom 'standarddeviatie.variance', moet een getal zijn dat niet negatief is.", + "De waarde voor parameter 'KW_HOOGTE4' op regel 4, kolom 'numeriekewaarde', moet een getal zijn dat niet negatief is.", + "De waarde voor parameter 'KW_HOOGTE4' op regel 4, kolom 'boolean', moet de waarde 0 (variatiecoëfficiënt) of 1 (standaard deviatie) hebben.", + "De waarde voor parameter 'KW_HOOGTE4' op regel 4, kolom 'standarddeviatie.variance', moet een getal zijn dat niet negatief is.", + "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 de waarde 0 (variatiecoëfficiënt) of 1 (standaard deviatie) hebben.", + "De waarde voor parameter 'KW_HOOGTE6' op regel 6, kolom 'numeriekewaarde', valt buiten het bereik (0, 1].", + "De waarde voor parameter 'KW_HOOGTE7' op regel 7, kolom 'numeriekewaarde', is te dicht op 0 waardoor een betrouwbare conversie tussen standaard deviatie 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 standaard deviatie en variatiecoëfficiënt niet mogelijk is.", }; CollectionAssert.AreEqual(expectedErrorMessages, validationResult.ErrorMessages); } @@ -416,29 +415,29 @@ Assert.IsFalse(validationResult.IsValid); List expectedErrorMessages = new List { - "Voor een betrouwbare conversie tussen standaard deviatie en variatiecoëfficiënt mag de gemiddelde waarde (op regel 1, kolom numeriekewaarde) niet te dicht op 0 zijn.", - "De waarde op regel 2, kolom 'NumeriekeWaarde' is ongeldig.", - "De waarde op regel 3, kolom 'NumeriekeWaarde' valt buiten het bereik [0, 360].", - "De waarde op regel 5, kolom 'NumeriekeWaarde' is ongeldig.", - "De waarde op regel 5, kolom 'Boolean' is ongeldig.", - "De waarde op regel 6, kolom 'NumeriekeWaarde' is ongeldig.", - "De waarde op regel 6, kolom 'Boolean' is ongeldig.", - "De waarde op regel 7, kolom 'NumeriekeWaarde' is ongeldig.", - "De waarde op regel 7, kolom 'Boolean' is ongeldig.", - "De waarde op regel 8, kolom 'NumeriekeWaarde' is ongeldig.", - "De waarde op regel 8, kolom 'Boolean' is ongeldig.", - "De waarde op regel 8, kolom 'Standarddeviatie.variance' is ongeldig.", - "De waarde op regel 9, kolom 'NumeriekeWaarde' is ongeldig.", - "De waarde op regel 9, kolom 'Boolean' is ongeldig.", - "De waarde op regel 9, kolom 'Standarddeviatie.variance' is ongeldig.", - "De waarde op regel 10, kolom 'NumeriekeWaarde' is ongeldig.", - "De waarde op regel 10, kolom 'Boolean' is ongeldig.", - "De waarde op regel 10, kolom 'Standarddeviatie.variance' is ongeldig.", - "De waarde op regel 11, kolom 'NumeriekeWaarde' valt buiten het bereik (0, 1].", - "De waarde op regel 12, kolom 'NumeriekeWaarde' valt buiten het bereik (0, 1].", - "De waarde op regel 13, kolom 'NumeriekeWaarde' mag niet kleiner dan nul zijn.", - "De waarde op regel 14, kolom 'NumeriekeWaarde' valt buiten het bereik (0, 1].", - "De waarde op regel 15, kolom 'AlphanumeriekeWaarde' is ongeldig." + "De waarde voor parameter 'KW_BETSLUIT1' op regel 1, kolom 'numeriekewaarde', is te dicht op 0 waardoor een betrouwbare conversie tussen standaard deviatie en variatiecoëfficiënt niet mogelijk is.", + "De waarde voor parameter 'KW_BETSLUIT2' op regel 2, kolom 'numeriekewaarde', moet een getal zijn dat niet negatief is.", + "De waarde voor parameter 'KW_BETSLUIT3' op regel 3, kolom 'numeriekewaarde', valt buiten het bereik [0, 360].", + "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 de waarde 0 (variatiecoëfficiënt) of 1 (standaard deviatie) hebben.", + "De waarde voor parameter 'KW_BETSLUIT6' op regel 6, kolom 'numeriekewaarde', is geen getal.", + "De waarde voor parameter 'KW_BETSLUIT6' op regel 6, kolom 'boolean', moet de waarde 0 (variatiecoëfficiënt) of 1 (standaard deviatie) hebben.", + "De waarde voor parameter 'KW_BETSLUIT7' op regel 7, kolom 'numeriekewaarde', is geen getal.", + "De waarde voor parameter 'KW_BETSLUIT7' op regel 7, kolom 'boolean', moet de waarde 0 (variatiecoëfficiënt) of 1 (standaard deviatie) hebben.", + "De waarde voor parameter 'KW_BETSLUIT8' op regel 8, kolom 'numeriekewaarde', moet een getal zijn dat niet negatief is.", + "De waarde voor parameter 'KW_BETSLUIT8' op regel 8, kolom 'boolean', moet de waarde 0 (variatiecoëfficiënt) of 1 (standaard deviatie) hebben.", + "De waarde voor parameter 'KW_BETSLUIT8' op regel 8, kolom 'standarddeviatie.variance', moet een getal zijn dat niet negatief is.", + "De waarde voor parameter 'KW_BETSLUIT9' op regel 9, kolom 'numeriekewaarde', moet een getal zijn dat niet negatief is.", + "De waarde voor parameter 'KW_BETSLUIT9' op regel 9, kolom 'boolean', moet de waarde 0 (variatiecoëfficiënt) of 1 (standaard deviatie) hebben.", + "De waarde voor parameter 'KW_BETSLUIT9' op regel 9, kolom 'standarddeviatie.variance', moet een getal zijn dat niet negatief is.", + "De waarde voor parameter 'KW_BETSLUIT10' op regel 10, kolom 'numeriekewaarde', moet een getal zijn dat niet negatief is.", + "De waarde voor parameter 'KW_BETSLUIT10' op regel 10, kolom 'boolean', moet de waarde 0 (variatiecoëfficiënt) of 1 (standaard deviatie) hebben.", + "De waarde voor parameter 'KW_BETSLUIT10' op regel 10, kolom 'standarddeviatie.variance', moet een getal zijn dat niet negatief is.", + "De waarde voor parameter 'KW_BETSLUIT11' op regel 11, kolom 'numeriekewaarde', valt buiten het bereik (0, 1].", + "De waarde voor parameter 'KW_BETSLUIT12' op regel 12, kolom 'numeriekewaarde', valt buiten het bereik (0, 1].", + "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', valt buiten het bereik (0, 1].", + "De waarde voor parameter 'KW_BETSLUIT15' op regel 15, kolom 'alfanumeriekewaarde', moet een geldig kunstwerk type zijn." }; CollectionAssert.AreEqual(expectedErrorMessages, validationResult.ErrorMessages); } @@ -837,41 +836,41 @@ Assert.IsFalse(validationResult.IsValid); List expectedErrorMessages = new List { - "De waarde op regel 1, kolom 'NumeriekeWaarde' valt buiten het bereik [0, 360].", - "Voor een betrouwbare conversie tussen standaard deviatie en variatiecoëfficiënt mag de gemiddelde waarde (op regel 2, kolom numeriekewaarde) niet te dicht op 0 zijn.", - "De waarde op regel 3, kolom 'NumeriekeWaarde' is ongeldig.", - "De waarde op regel 3, kolom 'Boolean' is ongeldig.", - "De waarde op regel 3, kolom 'Standarddeviatie.variance' is ongeldig.", - "De waarde op regel 5, kolom 'NumeriekeWaarde' is ongeldig.", - "De waarde op regel 5, kolom 'Boolean' is ongeldig.", - "De waarde op regel 6, kolom 'NumeriekeWaarde' is ongeldig.", - "De waarde op regel 6, kolom 'Boolean' is ongeldig.", - "Voor een betrouwbare conversie tussen standaard deviatie en variatiecoëfficiënt mag de gemiddelde waarde (op regel 7, kolom numeriekewaarde) niet te dicht op 0 zijn.", - "De waarde op regel 8, kolom 'NumeriekeWaarde' is ongeldig.", - "De waarde op regel 8, kolom 'Boolean' is ongeldig.", - "De waarde op regel 8, kolom 'Standarddeviatie.variance' is ongeldig.", - "Voor een betrouwbare conversie tussen standaard deviatie en variatiecoëfficiënt mag de gemiddelde waarde (op regel 9, kolom numeriekewaarde) niet te dicht op 0 zijn.", - "Voor een betrouwbare conversie tussen standaard deviatie en variatiecoëfficiënt mag de gemiddelde waarde (op regel 10, kolom numeriekewaarde) niet te dicht op 0 zijn.", - "De waarde op regel 11, kolom 'NumeriekeWaarde' is ongeldig.", - "De waarde op regel 11, kolom 'Boolean' is ongeldig.", - "De waarde op regel 12, kolom 'NumeriekeWaarde' is ongeldig.", - "De waarde op regel 12, kolom 'Boolean' is ongeldig.", - "De waarde op regel 13, kolom 'NumeriekeWaarde' valt buiten het bereik (0, 1].", - "De waarde op regel 14, kolom 'NumeriekeWaarde' is ongeldig.", - "De waarde op regel 14, kolom 'Boolean' is ongeldig.", - "De waarde op regel 15, kolom 'NumeriekeWaarde' valt buiten het bereik (0, 1].", - "De waarde op regel 16, kolom 'NumeriekeWaarde' valt buiten het bereik (0, 1].", - "De waarde op regel 17, kolom 'NumeriekeWaarde' valt buiten het bereik (0, 1].", - "De waarde op regel 20, kolom 'NumeriekeWaarde' valt buiten het bereik (0, 1].", - "De waarde op regel 21, kolom 'NumeriekeWaarde' valt buiten het bereik (0, 1].", - "De waarde op regel 22, kolom 'NumeriekeWaarde' is ongeldig.", - "De waarde op regel 22, kolom 'Boolean' is ongeldig.", - "Voor een betrouwbare conversie tussen standaard deviatie en variatiecoëfficiënt mag de gemiddelde waarde (op regel 23, kolom numeriekewaarde) niet te dicht op 0 zijn.", - "Voor een betrouwbare conversie tussen standaard deviatie en variatiecoëfficiënt mag de gemiddelde waarde (op regel 24, kolom numeriekewaarde) niet te dicht op 0 zijn.", - "De waarde op regel 25, kolom 'NumeriekeWaarde' is ongeldig.", - "De waarde op regel 25, kolom 'Boolean' is ongeldig.", - "De waarde op regel 25, kolom 'Standarddeviatie.variance' is ongeldig.", - "De waarde op regel 26, kolom 'AlphanumeriekeWaarde' is ongeldig." + "De waarde voor parameter 'KW_STERSTAB1' op regel 1, kolom 'numeriekewaarde', valt buiten het bereik [0, 360].", + "De waarde voor parameter 'KW_STERSTAB2' op regel 2, kolom 'numeriekewaarde', is te dicht op 0 waardoor een betrouwbare conversie tussen standaard deviatie en variatiecoëfficiënt niet mogelijk is.", + "De waarde voor parameter 'KW_STERSTAB3' op regel 3, kolom 'numeriekewaarde', moet een getal zijn dat niet negatief is.", + "De waarde voor parameter 'KW_STERSTAB3' op regel 3, kolom 'boolean', moet de waarde 0 (variatiecoëfficiënt) of 1 (standaard deviatie) hebben.", + "De waarde voor parameter 'KW_STERSTAB3' op regel 3, kolom 'standarddeviatie.variance', moet een getal zijn dat niet negatief is.", + "De waarde voor parameter 'KW_STERSTAB5' op regel 5, kolom 'numeriekewaarde', is geen getal.", + "De waarde voor parameter 'KW_STERSTAB5' op regel 5, kolom 'boolean', moet de waarde 0 (variatiecoëfficiënt) of 1 (standaard deviatie) hebben.", + "De waarde voor parameter 'KW_STERSTAB6' op regel 6, kolom 'numeriekewaarde', is geen getal.", + "De waarde voor parameter 'KW_STERSTAB6' op regel 6, kolom 'boolean', moet de waarde 0 (variatiecoëfficiënt) of 1 (standaard deviatie) hebben.", + "De waarde voor parameter 'KW_STERSTAB7' op regel 7, kolom 'numeriekewaarde', is te dicht op 0 waardoor een betrouwbare conversie tussen standaard deviatie en variatiecoëfficiënt niet mogelijk is.", + "De waarde voor parameter 'KW_STERSTAB8' op regel 8, kolom 'numeriekewaarde', moet een getal zijn dat niet negatief is.", + "De waarde voor parameter 'KW_STERSTAB8' op regel 8, kolom 'boolean', moet de waarde 0 (variatiecoëfficiënt) of 1 (standaard deviatie) hebben.", + "De waarde voor parameter 'KW_STERSTAB8' op regel 8, kolom 'standarddeviatie.variance', moet een getal zijn dat niet negatief is.", + "De waarde voor parameter 'KW_STERSTAB9' op regel 9, kolom 'numeriekewaarde', is te dicht op 0 waardoor een betrouwbare conversie tussen standaard deviatie en variatiecoëfficiënt niet mogelijk is.", + "De waarde voor parameter 'KW_STERSTAB10' op regel 10, kolom 'numeriekewaarde', is te dicht op 0 waardoor een betrouwbare conversie tussen standaard deviatie en variatiecoëfficiënt niet mogelijk is.", + "De waarde voor parameter 'KW_STERSTAB11' op regel 11, kolom 'numeriekewaarde', is geen getal.", + "De waarde voor parameter 'KW_STERSTAB11' op regel 11, kolom 'boolean', moet de waarde 0 (variatiecoëfficiënt) of 1 (standaard deviatie) hebben.", + "De waarde voor parameter 'KW_STERSTAB12' op regel 12, kolom 'numeriekewaarde', is geen getal.", + "De waarde voor parameter 'KW_STERSTAB12' op regel 12, kolom 'boolean', moet de waarde 0 (variatiecoëfficiënt) of 1 (standaard deviatie) hebben.", + "De waarde voor parameter 'KW_STERSTAB13' op regel 13, kolom 'numeriekewaarde', is geen getal.", + "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 de waarde 0 (variatiecoëfficiënt) of 1 (standaard deviatie) hebben.", + "De waarde voor parameter 'KW_STERSTAB15' op regel 15, kolom 'numeriekewaarde', moet een getal zijn dat niet negatief is.", + "De waarde voor parameter 'KW_STERSTAB16' op regel 16, kolom 'numeriekewaarde', valt buiten het bereik (0, 1].", + "De waarde voor parameter 'KW_STERSTAB17' op regel 17, kolom 'numeriekewaarde', moet een getal zijn dat niet negatief is.", + "De waarde voor parameter 'KW_STERSTAB20' op regel 20, kolom 'numeriekewaarde', moet een getal zijn dat niet negatief is.", + "De waarde voor parameter 'KW_STERSTAB21' op regel 21, kolom 'numeriekewaarde', moet een getal zijn dat niet negatief is.", + "De waarde voor parameter 'KW_STERSTAB22' op regel 22, kolom 'numeriekewaarde', is geen getal.", + "De waarde voor parameter 'KW_STERSTAB22' op regel 22, kolom 'boolean', moet de waarde 0 (variatiecoëfficiënt) of 1 (standaard deviatie) hebben.", + "De waarde voor parameter 'KW_STERSTAB23' op regel 23, kolom 'numeriekewaarde', is te dicht op 0 waardoor een betrouwbare conversie tussen standaard deviatie 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 standaard deviatie en variatiecoëfficiënt niet mogelijk is.", + "De waarde voor parameter 'KW_STERSTAB25' op regel 25, kolom 'numeriekewaarde', moet een getal zijn dat niet negatief is.", + "De waarde voor parameter 'KW_STERSTAB25' op regel 25, kolom 'boolean', moet de waarde 0 (variatiecoëfficiënt) of 1 (standaard deviatie) hebben.", + "De waarde voor parameter 'KW_STERSTAB25' op regel 25, kolom 'standarddeviatie.variance', moet een getal zijn dat niet negatief is.", + "De waarde voor parameter 'KW_STERSTAB26' op regel 26, kolom 'alfanumeriekewaarde', moet een geldig kunstwerk type zijn." }; CollectionAssert.AreEqual(expectedErrorMessages, validationResult.ErrorMessages); } Index: Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/HeightStructuresImporterTest.cs =================================================================== diff -u -rd75706d5c26b844e76d93f6c1879d3acbf98cf77 -r485254f159763215292faa9bc7f5251f2730ce90 --- Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/HeightStructuresImporterTest.cs (.../HeightStructuresImporterTest.cs) (revision d75706d5c26b844e76d93f6c1879d3acbf98cf77) +++ Ringtoets/HeightStructures/test/Ringtoets.HeightStructures.IO.Test/HeightStructuresImporterTest.cs (.../HeightStructuresImporterTest.cs) (revision 485254f159763215292faa9bc7f5251f2730ce90) @@ -190,7 +190,7 @@ CreateExpectedErrorMessage(csvFilePath, "Coupure Den Oever (90k1)", "KUNST1", new[] { - "De waarde op regel 2, kolom 'NumeriekeWaarde' valt buiten het bereik [0, 360].", + "De waarde voor parameter 'KW_HOOGTE1' op regel 2, kolom 'numeriekewaarde', valt buiten het bereik [0, 360].", "Parameter 'KW_HOOGTE2' komt meermaals voor." }), CreateExpectedErrorMessage(csvFilePath, "Gemaal Leemans (93k3)", "KUNST2", Index: Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/StabilityPointStructuresImporterTest.cs =================================================================== diff -u -rd75706d5c26b844e76d93f6c1879d3acbf98cf77 -r485254f159763215292faa9bc7f5251f2730ce90 --- Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/StabilityPointStructuresImporterTest.cs (.../StabilityPointStructuresImporterTest.cs) (revision d75706d5c26b844e76d93f6c1879d3acbf98cf77) +++ Ringtoets/StabilityPointStructures/test/Ringtoets.StabilityPointStructures.IO.Test/StabilityPointStructuresImporterTest.cs (.../StabilityPointStructuresImporterTest.cs) (revision 485254f159763215292faa9bc7f5251f2730ce90) @@ -217,7 +217,7 @@ new[] { "Parameter 'KW_STERSTAB9' komt meermaals voor.", - "De waarde op regel 37, kolom 'NumeriekeWaarde' is ongeldig." + "De waarde voor parameter 'KW_STERSTAB10' op regel 37, kolom 'numeriekewaarde', moet een getal zijn dat niet negatief is." }), CreateExpectedErrorMessage(csvFilePath, "Gemaal Leemans (93k3)", "KUNST2", new[]