Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/DikeProfiles/DikeProfileDataReader.cs =================================================================== diff -u -r41960c7d3d923a60575133a585d4cecfb1a251b5 -rb1ec20c759f606a49e6acdf12c6409e78abcf21b --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/DikeProfiles/DikeProfileDataReader.cs (.../DikeProfileDataReader.cs) (revision 41960c7d3d923a60575133a585d4cecfb1a251b5) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/DikeProfiles/DikeProfileDataReader.cs (.../DikeProfileDataReader.cs) (revision b1ec20c759f606a49e6acdf12c6409e78abcf21b) @@ -85,15 +85,14 @@ throw new CriticalFileReadException(message); } - // TODO: Duplicate entries var data = new DikeProfileData(); readParameters = ParametersFoundInFile.None; using (var reader = new StreamReader(filePath)) { fileBeingRead = filePath; string text; int lineNumber = 0; - while ((text = ReadLineAndHandleIOExceptions(reader, 1)) != null) + while ((text = ReadLineAndHandleIOExceptions(reader, lineNumber+1)) != null) { lineNumber++; if (string.IsNullOrWhiteSpace(text)) @@ -163,12 +162,15 @@ /// True if the text matches a VERSIE key-value pair and has been /// validated successfully; false otherwise. /// The value after the VERSIE key does - /// not represent a valid version code or the version is not supported by this reader. + /// not represent a valid version code or the version is not supported by this reader + /// or has already been defined. private bool TryReadVersion(string text, int lineNumber) { Match versionMatch = new Regex(@"^VERSIE(\s+(?.+?)?)?\s*$").Match(text); if (versionMatch.Success) { + ValidateNoPriorParameterDefinition(ParametersFoundInFile.VERSIE, lineNumber); + string readVersionText = versionMatch.Groups["version"].Value; Version fileVersion = ParseVersion(lineNumber, readVersionText); @@ -240,12 +242,14 @@ /// True if the text matches an ID key-value pair and has been /// validated successfully; false otherwise. /// The value after the ID key does - /// not represent an id. + /// not represent an id or has already been defined. private bool TryReadId(string text, DikeProfileData data, int lineNumber) { Match idMatch = new Regex(@"^ID(\s+(?.+?)?)?\s*$").Match(text); if (idMatch.Success) { + ValidateNoPriorParameterDefinition(ParametersFoundInFile.ID, lineNumber); + string readIdText = idMatch.Groups["id"].Value; ValidateId(readIdText, lineNumber); @@ -290,12 +294,15 @@ /// True if the text matches a RICHTING key-value pair and has been /// validated successfully; false otherwise. /// The value after the RICHTING key does - /// not represent a valid number or the orientation value is not in the range [0, 360]. + /// not represent a valid number or the orientation value is not in the range [0, 360] + /// or has already been defined. private bool TryReadOrientation(string text, DikeProfileData data, int lineNumber) { Match orientationMatch = new Regex(@"^RICHTING(\s+(?.+?)?)?\s*$").Match(text); if (orientationMatch.Success) { + ValidateNoPriorParameterDefinition(ParametersFoundInFile.RICHTING, lineNumber); + string readOrientationText = orientationMatch.Groups["orientation"].Value; double orientation = ParseOrientation(lineNumber, readOrientationText); @@ -363,12 +370,14 @@ /// True if the text matches a DAM key-value pair and has been /// validated successfully; false otherwise. /// The value after the DAM key does - /// not represent a valid value. + /// not represent a valid value or has already been defined. private bool TryReadDamType(string text, DikeProfileData data, int lineNumber) { Match damTypeMatch = new Regex(@"^DAM(\s+(?.+?)?)?\s*$").Match(text); if (damTypeMatch.Success) { + ValidateNoPriorParameterDefinition(ParametersFoundInFile.DAM, lineNumber); + string readDamTypeText = damTypeMatch.Groups["damtype"].Value; DamType damType = ParseDamType(lineNumber, readDamTypeText); @@ -427,12 +436,14 @@ /// True if the text matches a DAMWAND key-value pair and has been /// validated successfully; false otherwise. /// The value after the DAMWAND key - /// does not represent a valid value. + /// does not represent a valid value or has already been defined. private bool TryReadProfileType(string text, DikeProfileData data, int lineNumber) { Match profileTypeMatch = new Regex(@"^DAMWAND(\s+(?.+?)?)?\s*$").Match(text); if (profileTypeMatch.Success) { + ValidateNoPriorParameterDefinition(ParametersFoundInFile.DAMWAND, lineNumber); + string readProfileTypeText = profileTypeMatch.Groups["profiletype"].Value; ProfileType profileType = ParseProfileType(lineNumber, readProfileTypeText); @@ -490,12 +501,14 @@ /// True if the text matches a DAMHOOGTE key-value pair and has been /// validated successfully; false otherwise. /// The value after the DAMHOOGTE key - /// does not represent a valid number. + /// does not represent a valid number or has already been defined. private bool TryReadDamHeight(string text, DikeProfileData data, int lineNumber) { Match damHeightMatch = new Regex(@"^DAMHOOGTE(\s+(?.+?)?)?\s*$").Match(text); if (damHeightMatch.Success) { + ValidateNoPriorParameterDefinition(ParametersFoundInFile.DAMHOOGTE, lineNumber); + string readDamHeightText = damHeightMatch.Groups["damheight"].Value; var damHeight = ParseDamHeight(readDamHeightText, lineNumber); @@ -544,12 +557,14 @@ /// True if the text matches a KRUINHOOGTE key-value pair and has been /// validated successfully; false otherwise. /// The value after the KRUINHOOGTE key - /// does not represent a valid number. + /// does not represent a valid number or has already been defined. private bool TryReadDikeHeight(string text, DikeProfileData data, int lineNumber) { Match crestLevelMatch = new Regex(@"^KRUINHOOGTE(\s+(?.+?)?)?\s*$").Match(text); if (crestLevelMatch.Success) { + ValidateNoPriorParameterDefinition(ParametersFoundInFile.KRUINHOOGTE, lineNumber); + string readDikeHeightText = crestLevelMatch.Groups["dikeheight"].Value; double crestLevel = ParseDikeHeight(lineNumber, readDikeHeightText); @@ -600,12 +615,14 @@ /// validated successfully; false otherwise. /// The value after the DIJK key /// does not represent a valid number or any of read the parameters in the following - /// data block is invalid. + /// data block is invalid or has already been defined. private bool TryReadDikeRoughnessPoints(string text, DikeProfileData data, TextReader reader, ref int lineNumber) { Match dikeGeometryMatch = new Regex(@"^DIJK(\s+(?.+?)?)?\s*$").Match(text); if (dikeGeometryMatch.Success) { + ValidateNoPriorParameterDefinition(ParametersFoundInFile.DIJK, lineNumber); + string readDikeGeometryCountText = dikeGeometryMatch.Groups["dikegeometry"].Value; int numberOfElements = ParseNumberOfDikeElements(lineNumber, readDikeGeometryCountText); @@ -777,12 +794,14 @@ /// validated successfully; false otherwise. /// The value after the VOORLAND key /// does not represent a valid number or any of read the parameters in the following - /// data block is invalid. + /// data block is invalid or has already been defined. private bool TryReadForeshoreRoughnessPoints(string text, DikeProfileData data, TextReader reader, ref int lineNumber) { Match foreshoreGeometryMatch = new Regex(@"^VOORLAND(\s+(?.+?)?)?\s*$").Match(text); if (foreshoreGeometryMatch.Success) { + ValidateNoPriorParameterDefinition(ParametersFoundInFile.VOORLAND, lineNumber); + string readForeshoreCountText = foreshoreGeometryMatch.Groups["foreshoregeometry"].Value; var numberOfElements = ParseNumberOfForeshoreElements(readForeshoreCountText, lineNumber); @@ -872,6 +891,23 @@ return false; } + /// + /// Validates that there is no prior parameter definition of a given parameter. + /// + /// The parameter. + /// The line number. + /// When + /// already has been defined in the file at a line prior to . + private void ValidateNoPriorParameterDefinition(ParametersFoundInFile parameter, int lineNumber) + { + if (readParameters.HasFlag(parameter)) + { + string message = string.Format(Resources.DikeProfileDataReader_ValidateNoPriorParameterDefinition_Parameter_0_already_defined, + parameter); + throw CreateCriticalFileReadException(lineNumber, message); + } + } + private static bool CanSafelyCastToEnum(int parameterValue) where TEnum : struct, IConvertible, IComparable, IFormattable { return Enum.GetValues(typeof(TEnum)) Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Properties/Resources.Designer.cs =================================================================== diff -u -r41960c7d3d923a60575133a585d4cecfb1a251b5 -rb1ec20c759f606a49e6acdf12c6409e78abcf21b --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 41960c7d3d923a60575133a585d4cecfb1a251b5) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision b1ec20c759f606a49e6acdf12c6409e78abcf21b) @@ -346,6 +346,16 @@ } /// + /// Looks up a localized string similar to De parameter {0} is al eerder in het bestand gedefinieerd.. + /// + internal static string DikeProfileDataReader_ValidateNoPriorParameterDefinition_Parameter_0_already_defined { + get { + return ResourceManager.GetString("DikeProfileDataReader_ValidateNoPriorParameterDefinition_Parameter_0_already_defi" + + "ned", resourceCulture); + } + } + + /// /// Looks up a localized string similar to De ingelezen oriƫntatie waarde ({0}) moet binnen het bereik [0, 360] vallen.. /// internal static string DikeProfileDataReader_ValidateOrientation_Orientation_0_must_be_in_range { Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Properties/Resources.resx =================================================================== diff -u -r41960c7d3d923a60575133a585d4cecfb1a251b5 -rb1ec20c759f606a49e6acdf12c6409e78abcf21b --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Properties/Resources.resx (.../Resources.resx) (revision 41960c7d3d923a60575133a585d4cecfb1a251b5) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Properties/Resources.resx (.../Resources.resx) (revision b1ec20c759f606a49e6acdf12c6409e78abcf21b) @@ -249,4 +249,7 @@ Het aantal dijk punten in het bestand ({0}) komt niet overeen met de aangegeven hoeveelheid dijk punten ({1}). + + De parameter {0} is al eerder in het bestand gedefinieerd. + \ No newline at end of file Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/DikeProfiles/DikeProfileDataReaderTest.cs =================================================================== diff -u -r41960c7d3d923a60575133a585d4cecfb1a251b5 -rb1ec20c759f606a49e6acdf12c6409e78abcf21b --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/DikeProfiles/DikeProfileDataReaderTest.cs (.../DikeProfileDataReaderTest.cs) (revision 41960c7d3d923a60575133a585d4cecfb1a251b5) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/DikeProfiles/DikeProfileDataReaderTest.cs (.../DikeProfileDataReaderTest.cs) (revision b1ec20c759f606a49e6acdf12c6409e78abcf21b) @@ -193,6 +193,40 @@ } [Test] + public void ReadDikeProfileData_ValidFilePath3_ReturnDikeProfileData() + { + // Setup + string validFilePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.GrassCoverErosionInwards.IO, + Path.Combine("DikeProfiles", "profiel001_DifferentDamAndDamwand.prfl")); + + var reader = new DikeProfileDataReader(); + + // Call + DikeProfileData result = reader.ReadDikeProfileData(validFilePath); + + // Assert + Assert.AreEqual("profiel001", result.Id); + Assert.AreEqual(330.0, result.Orientation); + Assert.AreEqual(DamType.HarborDam, result.DamType); + Assert.AreEqual(ProfileType.SheetPileWithNoseConstruction, result.ProfileType); + Assert.AreEqual(0.0, result.DamHeight); + CollectionAssert.IsEmpty(result.ForeshoreGeometry); + Assert.AreEqual(6.0, result.DikeHeight); + Assert.AreEqual(2, result.DikeGeometry.Length); + Assert.AreEqual(new Point2D(0.0, 0.0), result.DikeGeometry[0].Point); + Assert.AreEqual(1.0, result.DikeGeometry[0].Roughness.Value); + Assert.AreEqual(new Point2D(18.0, 6.0), result.DikeGeometry[1].Point); + Assert.AreEqual(1.0, result.DikeGeometry[1].Roughness.Value); + var expectedMemo = + "Verkenning prfl format:" + Environment.NewLine + + "Basis:" + Environment.NewLine + + "geen dam" + Environment.NewLine + + "geen voorland" + Environment.NewLine + + "recht talud" + Environment.NewLine; + Assert.AreEqual(expectedMemo, result.Memo); + } + + [Test] [TestCase("faulry_noId.prfl", "ID")] [TestCase("faulty_emptyFile.prfl", "VERSIE, ID, RICHTING, DAM, DAMHOOGTE, VOORLAND, DAMWAND, KRUINHOOGTE, DIJK, MEMO")] [TestCase("faulty_noDam.prfl", "DAM")] @@ -861,8 +895,35 @@ Assert.AreEqual(expectedMessage, message); } - // TODO: DAMWAND en DAMWAND Type coverage (beide files hebben dezelfde waardes) + [Test] + [TestCase("faulty_doubleVersie.prfl", 2, "VERSIE")] + [TestCase("faulty_doubleId.prfl", 4, "ID")] + [TestCase("faulty_doubleRichting.prfl", 7, "RICHTING")] + [TestCase("faulty_doubleDam.prfl", 7, "DAM")] + [TestCase("faulty_doubleDamhoogte.prfl", 10, "DAMHOOGTE")] + [TestCase("faulty_doubleVoorland.prfl", 10, "VOORLAND")] + [TestCase("faulty_doubleDamwand.prfl", 12, "DAMWAND")] + [TestCase("faulty_doubleKruinhoogte.prfl", 14, "KRUINHOOGTE")] + [TestCase("faulty_doubleDijk.prfl", 18, "DIJK")] + public void ReadDikeProfileData_FaultyFileWithDoubleParameter_ThrowsCriticalFileReadException( + string faultyFileName, int expectedLineNumber, string expectedParameter) + { + // Setup + string faultyFilePath = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.GrassCoverErosionInwards.IO, + Path.Combine("DikeProfiles", faultyFileName)); + var reader = new DikeProfileDataReader(); + + // Call + TestDelegate call = () => reader.ReadDikeProfileData(faultyFilePath); + + // Assert + string message = Assert.Throws(call).Message; + string expectedMessage = string.Format("Fout bij het lezen van bestand '{0}' op regel {1}: De parameter {2} is al eerder in het bestand gedefinieerd.", + faultyFilePath, expectedLineNumber, expectedParameter); + Assert.AreEqual(expectedMessage, message); + } + private static void DoReadDikeProfileData_FaultyFileWithRoughnessOutOfRange_ThrowsCriticalFileReadException( string faultyFileName, double expectedFaultyRoughness, double expectedLineNumber, string expectedLowerLimitText) { Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleDam.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleDam.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleDam.prfl (revision b1ec20c759f606a49e6acdf12c6409e78abcf21b) @@ -0,0 +1,23 @@ +VERSIE 4.0 +ID profiel001 + +RICHTING 330 + +DAM 0 +DAM 0 +DAMHOOGTE 0 + +VOORLAND 0 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 2 +0.000 0.000 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +Basis: +geen dam +geen voorland +recht talud Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleDamhoogte.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleDamhoogte.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleDamhoogte.prfl (revision b1ec20c759f606a49e6acdf12c6409e78abcf21b) @@ -0,0 +1,25 @@ +VERSIE 4.0 +ID profiel001 + +RICHTING 330 + +DAM 0 +DAMHOOGTE 0 + + +DAMHOOGTE 0 + +VOORLAND 0 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 2 +0.000 0.000 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +Basis: +geen dam +geen voorland +recht talud Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleDamwand.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleDamwand.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleDamwand.prfl (revision b1ec20c759f606a49e6acdf12c6409e78abcf21b) @@ -0,0 +1,23 @@ +VERSIE 4.0 +ID profiel001 + +RICHTING 330 + +DAM 0 +DAMHOOGTE 0 + +VOORLAND 0 + +DAMWAND 0 +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 2 +0.000 0.000 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +Basis: +geen dam +geen voorland +recht talud Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleDijk.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleDijk.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleDijk.prfl (revision b1ec20c759f606a49e6acdf12c6409e78abcf21b) @@ -0,0 +1,27 @@ +VERSIE 4.0 +ID profiel001 + +RICHTING 330 + +DAM 0 +DAMHOOGTE 0 + +VOORLAND 0 + +DAMWAND 0 + +KRUINHOOGTE 6 + +DIJK 2 +0.000 0.000 1.000 +18.000 6.000 1.000 +DIJK 2 +0.000 0.000 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +Basis: +geen dam +geen voorland +recht talud Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleId.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleId.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleId.prfl (revision b1ec20c759f606a49e6acdf12c6409e78abcf21b) @@ -0,0 +1,24 @@ +VERSIE 4.0 +ID profiel001 + +ID profiel001 + +RICHTING 330 + +DAM 0 +DAMHOOGTE 0 + +VOORLAND 0 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 2 +0.000 0.000 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +Basis: +geen dam +geen voorland +recht talud Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleKruinhoogte.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleKruinhoogte.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleKruinhoogte.prfl (revision b1ec20c759f606a49e6acdf12c6409e78abcf21b) @@ -0,0 +1,25 @@ +VERSIE 4.0 +ID profiel001 + +RICHTING 330 + +DAM 0 +DAMHOOGTE 0 + +VOORLAND 0 + +DAMWAND 0 + +KRUINHOOGTE 6 +KRUINHOOGTE 6 + +DIJK 2 +0.000 0.000 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +Basis: +geen dam +geen voorland +recht talud Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleRichting.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleRichting.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleRichting.prfl (revision b1ec20c759f606a49e6acdf12c6409e78abcf21b) @@ -0,0 +1,25 @@ +VERSIE 4.0 +ID profiel001 + +RICHTING 330 + + +RICHTING 330 + +DAM 0 +DAMHOOGTE 0 + +VOORLAND 0 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 2 +0.000 0.000 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +Basis: +geen dam +geen voorland +recht talud Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleVersie.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleVersie.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleVersie.prfl (revision b1ec20c759f606a49e6acdf12c6409e78abcf21b) @@ -0,0 +1,23 @@ +VERSIE 4.0 +VERSIE 4.0 +ID profiel001 + +RICHTING 330 + +DAM 0 +DAMHOOGTE 0 + +VOORLAND 0 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 2 +0.000 0.000 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +Basis: +geen dam +geen voorland +recht talud Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleVoorland.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleVoorland.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_doubleVoorland.prfl (revision b1ec20c759f606a49e6acdf12c6409e78abcf21b) @@ -0,0 +1,23 @@ +VERSIE 4.0 +ID profiel001 + +RICHTING 330 + +DAM 0 +DAMHOOGTE 0 + +VOORLAND 0 +VOORLAND 0 + +DAMWAND 0 +KRUINHOOGTE 6 +DIJK 2 +0.000 0.000 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +Basis: +geen dam +geen voorland +recht talud Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/profiel001_DifferentDamAndDamwand.prfl =================================================================== diff -u --- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/profiel001_DifferentDamAndDamwand.prfl (revision 0) +++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/profiel001_DifferentDamAndDamwand.prfl (revision b1ec20c759f606a49e6acdf12c6409e78abcf21b) @@ -0,0 +1,22 @@ +VERSIE 4.0 +ID profiel001 + +RICHTING 330 + +DAM 3 +DAMHOOGTE 0 + +VOORLAND 0 + +DAMWAND 2 +KRUINHOOGTE 6 +DIJK 2 +0.000 0.000 1.000 +18.000 6.000 1.000 + +MEMO +Verkenning prfl format: +Basis: +geen dam +geen voorland +recht talud