Index: Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.Designer.cs =================================================================== diff -u -r0591e8d0780790b10ec95863ade1b5da801eddec -r5b0c53c01adc89f5a9e8764d56dc3ab2af6c5cec --- Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 0591e8d0780790b10ec95863ade1b5da801eddec) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 5b0c53c01adc89f5a9e8764d56dc3ab2af6c5cec) @@ -1057,7 +1057,7 @@ } /// - /// Looks up a localized string similar to {0} kan niet worden omgezet naar een getal.. + /// Looks up a localized string similar to De waarde voor '{0}' kan niet worden omgezet naar een getal.. /// public static string StructuresCharacteristicsCsvReader_ParseDoubleValue_ParameterName_0_not_number { get { @@ -1066,7 +1066,7 @@ } /// - /// Looks up a localized string similar to {0} is te groot of te klein om ingelezen te worden.. + /// Looks up a localized string similar to De waarde voor '{0}' is te groot of te klein om ingelezen te worden.. /// public static string StructuresCharacteristicsCsvReader_ParseDoubleValue_ParameterName_0_overflow_error { get { @@ -1085,12 +1085,12 @@ } /// - /// Looks up a localized string similar to De 'Boolean' kolom mag uitsluitend de waardes '0' of '1' bevatten, of mag leeg zijn.. + /// Looks up a localized string similar to De waarde voor '{0}' moet '0', '1' of leeg zijn.. /// - public static string StructuresCharacteristicsCsvReader_ParseVarianceType_Column_only_allows_certain_values { + public static string StructuresCharacteristicsCsvReader_ParseVarianceType_ParameterName_0_only_allows_certain_values { get { - return ResourceManager.GetString("StructuresCharacteristicsCsvReader_ParseVarianceType_Column_only_allows_certain_v" + - "alues", resourceCulture); + return ResourceManager.GetString("StructuresCharacteristicsCsvReader_ParseVarianceType_ParameterName_0_only_allows_" + + "certain_values", resourceCulture); } } Index: Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.resx =================================================================== diff -u -r0591e8d0780790b10ec95863ade1b5da801eddec -r5b0c53c01adc89f5a9e8764d56dc3ab2af6c5cec --- Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.resx (.../Resources.resx) (revision 0591e8d0780790b10ec95863ade1b5da801eddec) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Properties/Resources.resx (.../Resources.resx) (revision 5b0c53c01adc89f5a9e8764d56dc3ab2af6c5cec) @@ -330,13 +330,13 @@ '{0}' kolom mag geen lege waardes bevatten. - {0} kan niet worden omgezet naar een getal. + De waarde voor '{0}' kan niet worden omgezet naar een getal. - {0} is te groot of te klein om ingelezen te worden. + De waarde voor '{0}' is te groot of te klein om ingelezen te worden. - - De 'Boolean' kolom mag uitsluitend de waardes '0' of '1' bevatten, of mag leeg zijn. + + De waarde voor '{0}' moet '0', '1' of leeg zijn. Een kunstwerklocatie met KWKIDENT '{0}' ligt niet op de referentielijn. Locatie wordt overgeslagen. Index: Ringtoets/Common/src/Ringtoets.Common.IO/Structures/StructuresCharacteristicsCsvReader.cs =================================================================== diff -u -rac7e2e1536c9fc926fbef42cd770754cdf369cf8 -r5b0c53c01adc89f5a9e8764d56dc3ab2af6c5cec --- Ringtoets/Common/src/Ringtoets.Common.IO/Structures/StructuresCharacteristicsCsvReader.cs (.../StructuresCharacteristicsCsvReader.cs) (revision ac7e2e1536c9fc926fbef42cd770754cdf369cf8) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Structures/StructuresCharacteristicsCsvReader.cs (.../StructuresCharacteristicsCsvReader.cs) (revision 5b0c53c01adc89f5a9e8764d56dc3ab2af6c5cec) @@ -262,7 +262,7 @@ else { string message = string.Format(Resources.StructuresCharacteristicsCsvReader_Column_0_must_be_defined_only_once, - columnName); + FirstLetterToUpperCase(columnName)); throw CreateCriticalFileReadException(lineNumber, message); } } @@ -281,7 +281,7 @@ if (requiredHeaderColumnIndices.Any(i => i == uninitializedValue)) { string message = string.Format(Resources.StructuresCharacteristicsCsvReader_ValidateRequiredColumnIndices_Invalid_header_Must_have_columns_0_, - string.Join(Environment.NewLine, requiredHeaderColumns.Select(rh => "* " + rh))); + string.Join(Environment.NewLine, requiredHeaderColumns.Select(rh => "* " + FirstLetterToUpperCase(rh)))); throw CreateCriticalFileReadException(lineNumber, message); } } @@ -391,7 +391,7 @@ private string ParseLocationId(string[] tokenizedText) { string locationId = tokenizedText[locationIdIndex]; - return ParseIdString(locationId, "Identificatie"); + return ParseIdString(locationId, FirstLetterToUpperCase(StructureFilesKeywords.IdentificationColumnName)); } /// @@ -404,7 +404,7 @@ private string ParseParameterId(string[] tokenizedText) { string parameterId = tokenizedText[parameterIdIndex]; - return ParseIdString(parameterId, "Kunstwerken.identificatie"); + return ParseIdString(parameterId, FirstLetterToUpperCase(StructureFilesKeywords.StructureIdentificationColumnName)); } private string ParseIdString(string parameterTextValue, string parameterName) @@ -433,7 +433,7 @@ private double ParseNumericValue(string[] tokenizedText) { string numericValueText = tokenizedText[numericValueIndex]; - return ParseDoubleValue(numericValueText, "Nummerieke waarde"); + return ParseDoubleValue(numericValueText, FirstLetterToUpperCase(StructureFilesKeywords.NumericalValueColumnName)); } /// @@ -447,7 +447,7 @@ private double ParseVarianceValue(string[] tokenizedText) { string varianceValueText = tokenizedText[varianceValueIndex]; - return ParseDoubleValue(varianceValueText, "Variantie waarde"); + return ParseDoubleValue(varianceValueText, FirstLetterToUpperCase(StructureFilesKeywords.VariationValueColumnName)); } /// @@ -505,15 +505,23 @@ { return VarianceType.StandardDeviation; } - throw CreateLineParseException(lineNumber, Resources.StructuresCharacteristicsCsvReader_ParseVarianceType_Column_only_allows_certain_values); + throw CreateLineParseException(lineNumber, + string.Format(Resources.StructuresCharacteristicsCsvReader_ParseVarianceType_ParameterName_0_only_allows_certain_values, + FirstLetterToUpperCase(StructureFilesKeywords.VariationTypeColumnName))); } catch (FormatException e) { - throw CreateLineParseException(lineNumber, Resources.StructuresCharacteristicsCsvReader_ParseVarianceType_Column_only_allows_certain_values, e); + throw CreateLineParseException(lineNumber, + string.Format(Resources.StructuresCharacteristicsCsvReader_ParseVarianceType_ParameterName_0_only_allows_certain_values, + FirstLetterToUpperCase(StructureFilesKeywords.VariationTypeColumnName)), + e); } catch (OverflowException e) { - throw CreateLineParseException(lineNumber, Resources.StructuresCharacteristicsCsvReader_ParseVarianceType_Column_only_allows_certain_values, e); + throw CreateLineParseException(lineNumber, + string.Format(Resources.StructuresCharacteristicsCsvReader_ParseVarianceType_ParameterName_0_only_allows_certain_values, + FirstLetterToUpperCase(StructureFilesKeywords.VariationTypeColumnName)), + e); } } @@ -548,5 +556,10 @@ .Build(criticalErrorMessage); return new CriticalFileReadException(message, innerException); } + + private static string FirstLetterToUpperCase(string s) + { + return char.ToUpper(s[0]) + s.Substring(1); + } } } \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/Structures/StructuresCharacteristicsCsvReaderTest.cs =================================================================== diff -u -r0591e8d0780790b10ec95863ade1b5da801eddec -r5b0c53c01adc89f5a9e8764d56dc3ab2af6c5cec --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/Structures/StructuresCharacteristicsCsvReaderTest.cs (.../StructuresCharacteristicsCsvReaderTest.cs) (revision 0591e8d0780790b10ec95863ade1b5da801eddec) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/Structures/StructuresCharacteristicsCsvReaderTest.cs (.../StructuresCharacteristicsCsvReaderTest.cs) (revision 5b0c53c01adc89f5a9e8764d56dc3ab2af6c5cec) @@ -159,12 +159,12 @@ // Assert string message = Assert.Throws(call).Message; - string expectedHeaderColumnsText = "* identificatie" + Environment.NewLine + - "* kunstwerken.identificatie" + Environment.NewLine + - "* alfanumeriekewaarde" + Environment.NewLine + - "* numeriekewaarde" + Environment.NewLine + - "* standarddeviatie.variance" + Environment.NewLine + - "* boolean" + Environment.NewLine; + string expectedHeaderColumnsText = "* Identificatie" + Environment.NewLine + + "* Kunstwerken.identificatie" + Environment.NewLine + + "* Alfanumeriekewaarde" + Environment.NewLine + + "* Numeriekewaarde" + Environment.NewLine + + "* Standarddeviatie.variance" + Environment.NewLine + + "* Boolean" + Environment.NewLine; string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 1: Het bestand is niet geschikt om kunstwerken parameters uit te lezen. De koptekst moet de volgende kolommen bevatten:" + Environment.NewLine + "{1}" @@ -235,12 +235,12 @@ } [Test] - [TestCase("InvalidFile_DuplicateLocationId.csv", "identificatie")] - [TestCase("InvalidFile_DuplicateParameterId.csv", "kunstwerken.identificatie")] - [TestCase("InvalidFile_DuplicateAlfanumericValue.csv", "alfanumeriekewaarde")] - [TestCase("InvalidFile_DuplicateNumericalValue.csv", "numeriekewaarde")] - [TestCase("InvalidFile_DuplicateVarianceValue.csv", "standarddeviatie.variance")] - [TestCase("InvalidFile_DuplicateBoolean.csv", "boolean")] + [TestCase("InvalidFile_DuplicateLocationId.csv", "Identificatie")] + [TestCase("InvalidFile_DuplicateParameterId.csv", "Kunstwerken.identificatie")] + [TestCase("InvalidFile_DuplicateAlfanumericValue.csv", "Alfanumeriekewaarde")] + [TestCase("InvalidFile_DuplicateNumericalValue.csv", "Numeriekewaarde")] + [TestCase("InvalidFile_DuplicateVarianceValue.csv", "Standarddeviatie.variance")] + [TestCase("InvalidFile_DuplicateBoolean.csv", "Boolean")] public void GetLineCount_DuplicateColumn_ThrowCriticalFileReadException(string fileName, string columnName) { // Setup @@ -340,12 +340,12 @@ // Assert string message = Assert.Throws(call).Message; - string expectedHeaderColumnsText = "* identificatie" + Environment.NewLine + - "* kunstwerken.identificatie" + Environment.NewLine + - "* alfanumeriekewaarde" + Environment.NewLine + - "* numeriekewaarde" + Environment.NewLine + - "* standarddeviatie.variance" + Environment.NewLine + - "* boolean" + Environment.NewLine; + string expectedHeaderColumnsText = "* Identificatie" + Environment.NewLine + + "* Kunstwerken.identificatie" + Environment.NewLine + + "* Alfanumeriekewaarde" + Environment.NewLine + + "* Numeriekewaarde" + Environment.NewLine + + "* Standarddeviatie.variance" + Environment.NewLine + + "* Boolean" + Environment.NewLine; string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 1: Het bestand is niet geschikt om kunstwerken parameters uit te lezen. De koptekst moet de volgende kolommen bevatten:" + Environment.NewLine + "{1}" @@ -359,12 +359,12 @@ } [Test] - [TestCase("InvalidFile_DuplicateLocationId.csv", "identificatie")] - [TestCase("InvalidFile_DuplicateParameterId.csv", "kunstwerken.identificatie")] - [TestCase("InvalidFile_DuplicateAlfanumericValue.csv", "alfanumeriekewaarde")] - [TestCase("InvalidFile_DuplicateNumericalValue.csv", "numeriekewaarde")] - [TestCase("InvalidFile_DuplicateVarianceValue.csv", "standarddeviatie.variance")] - [TestCase("InvalidFile_DuplicateBoolean.csv", "boolean")] + [TestCase("InvalidFile_DuplicateLocationId.csv", "Identificatie")] + [TestCase("InvalidFile_DuplicateParameterId.csv", "Kunstwerken.identificatie")] + [TestCase("InvalidFile_DuplicateAlfanumericValue.csv", "Alfanumeriekewaarde")] + [TestCase("InvalidFile_DuplicateNumericalValue.csv", "Numeriekewaarde")] + [TestCase("InvalidFile_DuplicateVarianceValue.csv", "Standarddeviatie.variance")] + [TestCase("InvalidFile_DuplicateBoolean.csv", "Boolean")] public void ReadLine_DuplicateColumn_ThrowCriticalFileReadException(string fileName, string columnName) { // Setup @@ -525,7 +525,7 @@ // Assert string message = Assert.Throws(call).Message; - string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: Nummerieke waarde kan niet worden omgezet naar een getal.", + string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: De waarde voor 'Numeriekewaarde' kan niet worden omgezet naar een getal.", filePath); Assert.AreEqual(expectedMessage, message); } @@ -545,7 +545,7 @@ // Assert string message = Assert.Throws(call).Message; - string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: Nummerieke waarde is te groot of te klein om ingelezen te worden.", + string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: De waarde voor 'Numeriekewaarde' is te groot of te klein om ingelezen te worden.", filePath); Assert.AreEqual(expectedMessage, message); } @@ -565,7 +565,7 @@ // Assert string message = Assert.Throws(call).Message; - string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: Nummerieke waarde is te groot of te klein om ingelezen te worden.", + string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: De waarde voor 'Numeriekewaarde' is te groot of te klein om ingelezen te worden.", filePath); Assert.AreEqual(expectedMessage, message); } @@ -585,7 +585,7 @@ // Assert string message = Assert.Throws(call).Message; - string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: Variantie waarde kan niet worden omgezet naar een getal.", + string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: De waarde voor 'Standarddeviatie.variance' kan niet worden omgezet naar een getal.", filePath); Assert.AreEqual(expectedMessage, message); } @@ -605,7 +605,7 @@ // Assert string message = Assert.Throws(call).Message; - string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: Variantie waarde is te groot of te klein om ingelezen te worden.", + string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: De waarde voor 'Standarddeviatie.variance' is te groot of te klein om ingelezen te worden.", filePath); Assert.AreEqual(expectedMessage, message); } @@ -625,7 +625,7 @@ // Assert string message = Assert.Throws(call).Message; - string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: Variantie waarde is te groot of te klein om ingelezen te worden.", + string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: De waarde voor 'Standarddeviatie.variance' is te groot of te klein om ingelezen te worden.", filePath); Assert.AreEqual(expectedMessage, message); } @@ -645,7 +645,7 @@ // Assert string message = Assert.Throws(call).Message; - string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: De 'Boolean' kolom mag uitsluitend de waardes '0' of '1' bevatten, of mag leeg zijn.", + string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: De waarde voor 'Boolean' moet '0', '1' of leeg zijn.", filePath); Assert.AreEqual(expectedMessage, message); } @@ -665,7 +665,7 @@ // Assert string message = Assert.Throws(call).Message; - string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: De 'Boolean' kolom mag uitsluitend de waardes '0' of '1' bevatten, of mag leeg zijn.", + string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: De waarde voor 'Boolean' moet '0', '1' of leeg zijn.", filePath); Assert.AreEqual(expectedMessage, message); } @@ -685,7 +685,7 @@ // Assert string message = Assert.Throws(call).Message; - string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: De 'Boolean' kolom mag uitsluitend de waardes '0' of '1' bevatten, of mag leeg zijn.", + string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: De waarde voor 'Boolean' moet '0', '1' of leeg zijn.", filePath); Assert.AreEqual(expectedMessage, message); } @@ -705,7 +705,7 @@ // Assert string message = Assert.Throws(call).Message; - string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: De 'Boolean' kolom mag uitsluitend de waardes '0' of '1' bevatten, of mag leeg zijn.", + string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: De waarde voor 'Boolean' moet '0', '1' of leeg zijn.", filePath); Assert.AreEqual(expectedMessage, message); } @@ -725,7 +725,7 @@ // Assert string message = Assert.Throws(call).Message; - string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: De 'Boolean' kolom mag uitsluitend de waardes '0' of '1' bevatten, of mag leeg zijn.", + string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel 2: De waarde voor 'Boolean' moet '0', '1' of leeg zijn.", filePath); Assert.AreEqual(expectedMessage, message); }