Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/DikeProfiles/DikeProfileDataReader.cs
===================================================================
diff -u -rf17b6b3fc9a23b521185b7a3ee5398571a4f1fa7 -rad5d4e3ca4cceff8e326fe0bd77ec7a1c3d57f68
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/DikeProfiles/DikeProfileDataReader.cs (.../DikeProfileDataReader.cs) (revision f17b6b3fc9a23b521185b7a3ee5398571a4f1fa7)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/DikeProfiles/DikeProfileDataReader.cs (.../DikeProfileDataReader.cs) (revision ad5d4e3ca4cceff8e326fe0bd77ec7a1c3d57f68)
@@ -78,6 +78,7 @@
/// - A keyword is defined more then once.
/// - The geometry points for either the dike or foreshore do not have monotonically
/// increasing X-coordinates.
+ /// - An unexpected piece of text has been encountered in the file.
///
public DikeProfileData ReadDikeProfileData(string filePath)
{
@@ -152,6 +153,8 @@
{
continue;
}
+
+ HandleUnexpectedText(text, lineNumber);
}
}
@@ -1017,6 +1020,20 @@
return new CriticalFileReadException(message, innerException);
}
+ ///
+ /// Handles the error-case that the file has unexpected text.
+ ///
+ /// The unexpected text.
+ /// The line number.
+ /// When calling this method, due to
+ /// having read an unexpected piece of text from the file.
+ private void HandleUnexpectedText(string text, int lineNumber)
+ {
+ string message = string.Format(Resources.DikeProfileDataReader_HandleUnexpectedText_Line_0_is_invalid,
+ text);
+ throw CreateCriticalFileReadException(lineNumber, message);
+ }
+
private void ValidateNoMissingKeywords()
{
string[] missingKeywords = GetMissingKeywords();
Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Properties/Resources.Designer.cs
===================================================================
diff -u -r17a204aa1ee56ab87e83ed1fc370c91f49fa0621 -rad5d4e3ca4cceff8e326fe0bd77ec7a1c3d57f68
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 17a204aa1ee56ab87e83ed1fc370c91f49fa0621)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision ad5d4e3ca4cceff8e326fe0bd77ec7a1c3d57f68)
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
+// Runtime Version:4.0.30319.18444
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -61,6 +61,15 @@
}
///
+ /// Looks up a localized string similar to De regel ('{0}') bevat ongeldige tekst..
+ ///
+ internal static string DikeProfileDataReader_HandleUnexpectedText_Line_0_is_invalid {
+ get {
+ return ResourceManager.GetString("DikeProfileDataReader_HandleUnexpectedText_Line_0_is_invalid", resourceCulture);
+ }
+ }
+
+ ///
/// Looks up a localized string similar to De ingelezen damhoogte ('{0}') is geen getal..
///
internal static string DikeProfileDataReader_ParseDamHeight_DamHeight_0_not_number {
Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Properties/Resources.resx
===================================================================
diff -u -r17a204aa1ee56ab87e83ed1fc370c91f49fa0621 -rad5d4e3ca4cceff8e326fe0bd77ec7a1c3d57f68
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Properties/Resources.resx (.../Resources.resx) (revision 17a204aa1ee56ab87e83ed1fc370c91f49fa0621)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.IO/Properties/Resources.resx (.../Resources.resx) (revision ad5d4e3ca4cceff8e326fe0bd77ec7a1c3d57f68)
@@ -243,4 +243,7 @@
De ingelezen regel ('{0}') is geen 'X Y ruwheid' definitie.
+
+ De regel ('{0}') bevat ongeldige tekst.
+
\ No newline at end of file
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/DikeProfiles/DikeProfileDataReaderTest.cs
===================================================================
diff -u -r717070383f9f969f9d3b33aac4b195a0d4ded588 -rad5d4e3ca4cceff8e326fe0bd77ec7a1c3d57f68
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/DikeProfiles/DikeProfileDataReaderTest.cs (.../DikeProfileDataReaderTest.cs) (revision 717070383f9f969f9d3b33aac4b195a0d4ded588)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/DikeProfiles/DikeProfileDataReaderTest.cs (.../DikeProfileDataReaderTest.cs) (revision ad5d4e3ca4cceff8e326fe0bd77ec7a1c3d57f68)
@@ -661,6 +661,22 @@
ReadFileAndExpectCriticalFileReadException(faultyFileName, expectedLineNumber, expectedMessage);
}
+ [Test]
+ [TestCase("faulty_unexpectedText1.prfl", 5, "Nobody expects the Spanish inquisition!")]
+ [TestCase("faulty_unexpectedText2.prfl", 10, "0.000\t0.000\t1.000")]
+ [TestCase("faulty_unexpectedText3.prfl", 11, "18.000\t6.000\t1.000")]
+ [TestCase("faulty_unexpectedText4.prfl", 17, "-18.000\t-6.000\t1.000")]
+ [TestCase("faulty_unexpectedText5.prfl", 20, "18.000\t6.000\t1.000")]
+ [TestCase("faulty_unexpectedText6.prfl", 16, "haha hihi hoho hehe")]
+ [TestCase("faulty_unexpectedText7.prfl", 13, "Niemand weet, wat repelsteeltje eet!")]
+ public void ReadDikeProfileData_FileWithUnexpectedText_ThrowsCriticalFileReadException(
+ string faultyFileName, int expectedLineNumber, string expectedText)
+ {
+ string expectedMessage = string.Format("De regel ('{0}') bevat ongeldige tekst.",
+ expectedText);
+ ReadFileAndExpectCriticalFileReadException(faultyFileName, expectedLineNumber, expectedMessage);
+ }
+
private void ReadFileAndExpectCriticalFileReadException(string fileName, int lineNumber, string errorMessage)
{
// Setup
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_NoMemo.prfl
===================================================================
diff -u -rbbf8e2a3fb6e709c7d7a5ddbd955575f83720cc0 -rad5d4e3ca4cceff8e326fe0bd77ec7a1c3d57f68
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_NoMemo.prfl (.../faulty_NoMemo.prfl) (revision bbf8e2a3fb6e709c7d7a5ddbd955575f83720cc0)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_NoMemo.prfl (.../faulty_NoMemo.prfl) (revision ad5d4e3ca4cceff8e326fe0bd77ec7a1c3d57f68)
@@ -15,8 +15,4 @@
18.000 6.000 1.000
-Verkenning prfl format:
-Basis:
-geen dam
-geen voorland
-recht talud
+
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_noDijk.prfl
===================================================================
diff -u -rbbf8e2a3fb6e709c7d7a5ddbd955575f83720cc0 -rad5d4e3ca4cceff8e326fe0bd77ec7a1c3d57f68
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_noDijk.prfl (.../faulty_noDijk.prfl) (revision bbf8e2a3fb6e709c7d7a5ddbd955575f83720cc0)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_noDijk.prfl (.../faulty_noDijk.prfl) (revision ad5d4e3ca4cceff8e326fe0bd77ec7a1c3d57f68)
@@ -11,9 +11,8 @@
DAMWAND 0
KRUINHOOGTE 6
-0.000 0.000 1.000
-18.000 6.000 1.000
+
MEMO
Verkenning prfl format:
Basis:
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_unexpectedText1.prfl
===================================================================
diff -u
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_unexpectedText1.prfl (revision 0)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_unexpectedText1.prfl (revision ad5d4e3ca4cceff8e326fe0bd77ec7a1c3d57f68)
@@ -0,0 +1,22 @@
+VERSIE 4.0
+ID profiel001
+
+RICHTING 330
+Nobody expects the Spanish inquisition!
+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_unexpectedText2.prfl
===================================================================
diff -u
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_unexpectedText2.prfl (revision 0)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_unexpectedText2.prfl (revision ad5d4e3ca4cceff8e326fe0bd77ec7a1c3d57f68)
@@ -0,0 +1,22 @@
+VERSIE 4.0
+ID profiel001
+
+RICHTING 330
+
+DAM 0
+DAMHOOGTE 0
+
+VOORLAND 0
+0.000 0.000 1.000
+18.000 6.000 1.000
+
+DAMWAND 0
+KRUINHOOGTE 6
+DIJK 0
+
+MEMO
+Verkenning prfl format:
+Basis:
+geen dam
+geen voorland
+recht talud
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_unexpectedText3.prfl
===================================================================
diff -u
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_unexpectedText3.prfl (revision 0)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_unexpectedText3.prfl (revision ad5d4e3ca4cceff8e326fe0bd77ec7a1c3d57f68)
@@ -0,0 +1,22 @@
+VERSIE 4.0
+ID profiel001
+
+RICHTING 330
+
+DAM 0
+DAMHOOGTE 0
+
+VOORLAND 1
+0.000 0.000 1.000
+18.000 6.000 1.000
+
+DAMWAND 0
+KRUINHOOGTE 6
+DIJK 0
+
+MEMO
+Verkenning prfl format:
+Basis:
+geen dam
+geen voorland
+recht talud
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_unexpectedText4.prfl
===================================================================
diff -u
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_unexpectedText4.prfl (revision 0)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_unexpectedText4.prfl (revision ad5d4e3ca4cceff8e326fe0bd77ec7a1c3d57f68)
@@ -0,0 +1,26 @@
+VERSIE 4.0
+ID profiel004
+
+RICHTING 330
+
+DAM 0
+DAMHOOGTE 0.5
+
+VOORLAND 3
+-150.000 -9.000 1.000
+-100.000 -6.000 1.000
+-18.000 -6.000 1.000
+
+DAMWAND 0
+KRUINHOOGTE 6
+DIJK 0
+-18.000 -6.000 1.000
+-2.000 -0.100 0.500
+2.000 0.100 1.000
+18.000 6.000 1.000
+
+MEMO
+Verkenning prfl format:
+geen dam
+voorland
+talud met (ruwe) berm
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_unexpectedText5.prfl
===================================================================
diff -u
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_unexpectedText5.prfl (revision 0)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_unexpectedText5.prfl (revision ad5d4e3ca4cceff8e326fe0bd77ec7a1c3d57f68)
@@ -0,0 +1,26 @@
+VERSIE 4.0
+ID profiel004
+
+RICHTING 330
+
+DAM 0
+DAMHOOGTE 0.5
+
+VOORLAND 3
+-150.000 -9.000 1.000
+-100.000 -6.000 1.000
+-18.000 -6.000 1.000
+
+DAMWAND 0
+KRUINHOOGTE 6
+DIJK 3
+-18.000 -6.000 1.000
+-2.000 -0.100 0.500
+2.000 0.100 1.000
+18.000 6.000 1.000
+
+MEMO
+Verkenning prfl format:
+geen dam
+voorland
+talud met (ruwe) berm
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_unexpectedText6.prfl
===================================================================
diff -u
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_unexpectedText6.prfl (revision 0)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_unexpectedText6.prfl (revision ad5d4e3ca4cceff8e326fe0bd77ec7a1c3d57f68)
@@ -0,0 +1,23 @@
+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
+haha hihi hoho hehe
+
+MEMO
+Verkenning prfl format:
+Basis:
+geen dam
+geen voorland
+recht talud
Index: Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_unexpectedText7.prfl
===================================================================
diff -u
--- Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_unexpectedText7.prfl (revision 0)
+++ Ringtoets/GrassCoverErosionInwards/test/Ringtoets.GrassCoverErosionInwards.IO.Test/test-data/DikeProfiles/faulty_unexpectedText7.prfl (revision ad5d4e3ca4cceff8e326fe0bd77ec7a1c3d57f68)
@@ -0,0 +1,27 @@
+VERSIE 4.0
+ID profiel004
+
+RICHTING 330
+
+DAM 0
+DAMHOOGTE 0.5
+
+VOORLAND 3
+-150.000 -9.000 1.000
+-100.000 -6.000 1.000
+-18.000 -6.000 1.000
+Niemand weet, wat repelsteeltje eet!
+
+DAMWAND 0
+KRUINHOOGTE 6
+DIJK 4
+-18.000 -6.000 1.000
+-2.000 -0.100 0.500
+2.000 0.100 1.000
+18.000 6.000 1.000
+
+MEMO
+Verkenning prfl format:
+geen dam
+voorland
+talud met (ruwe) berm