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