Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/PipingCharacteristicPointsCsvReader.cs
===================================================================
diff -u -r9c62cb29c40906a1b5ae2e58e7d0ac81b95aee84 -re257a0fea96417080be97050774dcfcbb409b084
--- Ringtoets/Piping/src/Ringtoets.Piping.IO/PipingCharacteristicPointsCsvReader.cs (.../PipingCharacteristicPointsCsvReader.cs) (revision 9c62cb29c40906a1b5ae2e58e7d0ac81b95aee84)
+++ Ringtoets/Piping/src/Ringtoets.Piping.IO/PipingCharacteristicPointsCsvReader.cs (.../PipingCharacteristicPointsCsvReader.cs) (revision e257a0fea96417080be97050774dcfcbb409b084)
@@ -128,8 +128,8 @@
}
///
- /// Reads and consumes the next data row, parsing the data to create an instance
- /// of .
+ /// Reads and consumes the next data row containing a characteristic points location, parsing the data to
+ /// create an instance of .
///
/// Return the parsed characteristic points location, or null when at the end of the file.
/// A critical error has occurred, which may be caused by:
@@ -151,7 +151,7 @@
/// - The row is missing values to form a characteristic point.
///
///
- public PipingCharacteristicPointsLocation ReadLine()
+ public PipingCharacteristicPointsLocation ReadCharacteristicPointsLocation()
{
if (fileReader == null)
{
@@ -161,7 +161,8 @@
lineNumber = 2;
}
- var readText = ReadLineAndHandleIOExceptions(fileReader, lineNumber);
+ var readText = ReadNextNonEmptyLine();
+
if (readText != null)
{
try
@@ -177,6 +178,27 @@
return null;
}
+ ///
+ /// Reads lines from file until the first non white line is hit.
+ ///
+ /// The next line which is not a whiteline, or null when no non white line could be found before the
+ /// end of file.
+ private string ReadNextNonEmptyLine()
+ {
+ var readText = string.Empty;
+ var isWhiteSpace = new Func(s => s != null && s.All(char.IsWhiteSpace));
+
+ while (isWhiteSpace(readText))
+ {
+ readText = ReadLineAndHandleIOExceptions(fileReader, lineNumber);
+ if (isWhiteSpace(readText))
+ {
+ lineNumber++;
+ }
+ }
+ return readText;
+ }
+
public void Dispose()
{
if (fileReader != null)
Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/PipingSurfaceLinesCsvReader.cs
===================================================================
diff -u -rdd7a5cfb0343fa2350b4143232b94cbba37612e9 -re257a0fea96417080be97050774dcfcbb409b084
--- Ringtoets/Piping/src/Ringtoets.Piping.IO/PipingSurfaceLinesCsvReader.cs (.../PipingSurfaceLinesCsvReader.cs) (revision dd7a5cfb0343fa2350b4143232b94cbba37612e9)
+++ Ringtoets/Piping/src/Ringtoets.Piping.IO/PipingSurfaceLinesCsvReader.cs (.../PipingSurfaceLinesCsvReader.cs) (revision e257a0fea96417080be97050774dcfcbb409b084)
@@ -105,7 +105,7 @@
}
///
- /// Reads and consumes the next data row, parsing the data to create an instance
+ /// Reads and consumes the next data row which contains a surface line, parsing the data to create an instance
/// of .
///
/// Return the parse surfaceline, or null when at the end of the file.
@@ -128,7 +128,7 @@
/// - The row is missing values to form a surface line point.
///
///
- public RingtoetsPipingSurfaceLine ReadLine()
+ public RingtoetsPipingSurfaceLine ReadSurfaceLine()
{
if (fileReader == null)
{
@@ -138,7 +138,8 @@
lineNumber = 2;
}
- var readText = ReadLineAndHandleIOExceptions(fileReader, lineNumber);
+ var readText = ReadNextNonEmptyLine();
+
if (readText != null)
{
try
@@ -154,6 +155,27 @@
return null;
}
+ ///
+ /// Reads lines from file until the first non white line is hit.
+ ///
+ /// The next line which is not a whiteline, or null when no non white line could be found before the
+ /// end of file.
+ private string ReadNextNonEmptyLine()
+ {
+ var readText = string.Empty;
+ var isWhiteSpace = new Func(s => s != null && s.All(char.IsWhiteSpace));
+
+ while (isWhiteSpace(readText))
+ {
+ readText = ReadLineAndHandleIOExceptions(fileReader, lineNumber);
+ if (isWhiteSpace(readText))
+ {
+ lineNumber++;
+ }
+ }
+ return readText;
+ }
+
private RingtoetsPipingSurfaceLine CreateRingtoetsPipingSurfaceLine(string readText)
{
var tokenizedString = TokenizeString(readText);
Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/PipingSurfaceLinesCsvImporter.cs
===================================================================
diff -u -rdd7a5cfb0343fa2350b4143232b94cbba37612e9 -re257a0fea96417080be97050774dcfcbb409b084
--- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/PipingSurfaceLinesCsvImporter.cs (.../PipingSurfaceLinesCsvImporter.cs) (revision dd7a5cfb0343fa2350b4143232b94cbba37612e9)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/FileImporter/PipingSurfaceLinesCsvImporter.cs (.../PipingSurfaceLinesCsvImporter.cs) (revision e257a0fea96417080be97050774dcfcbb409b084)
@@ -162,7 +162,7 @@
{
try
{
- var ringtoetsPipingSurfaceLine = reader.ReadLine();
+ var ringtoetsPipingSurfaceLine = reader.ReadSurfaceLine();
PruneConsecutiveDuplicateGeometryPoints(ringtoetsPipingSurfaceLine);
readSurfaceLines.Add(ringtoetsPipingSurfaceLine);
}
Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/PipingCharacteristicPointsCsvReaderTest.cs
===================================================================
diff -u -r6a04fce185f5f77599f00455a35abccb61d3722d -re257a0fea96417080be97050774dcfcbb409b084
--- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/PipingCharacteristicPointsCsvReaderTest.cs (.../PipingCharacteristicPointsCsvReaderTest.cs) (revision 6a04fce185f5f77599f00455a35abccb61d3722d)
+++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/PipingCharacteristicPointsCsvReaderTest.cs (.../PipingCharacteristicPointsCsvReaderTest.cs) (revision e257a0fea96417080be97050774dcfcbb409b084)
@@ -144,7 +144,7 @@
public void GetLocationsCount_EmptyFile_ThrowCriticalFileReadException()
{
// Setup
- string path = Path.Combine(testDataPath, "empty.csv");
+ string path = Path.Combine(testDataPath, "empty.krp.csv");
// Precondition
Assert.IsTrue(File.Exists(path));
@@ -179,7 +179,7 @@
using (var reader = new PipingCharacteristicPointsCsvReader(path))
{
// Call
- TestDelegate call = () => reader.ReadLine();
+ TestDelegate call = () => reader.ReadCharacteristicPointsLocation();
// Assert
var exception = Assert.Throws(call);
@@ -213,17 +213,23 @@
[SetCulture("nl-NL")]
public void ReadLine_OpenedValidFileWithHeaderAndTwoCharacteristicPointsLocationsWithCultureNL_ReturnCreatedCharacteristicPointsLocation()
{
- ReadLine_OpenedValidFileWithHeaderAndTwoCharacteristicPointsLocations_ReturnCreatedCharacteristicPointsLocation();
+ ReadLine_OpenedValidFileWithHeaderAndTwoCharacteristicPointsLocations_ReturnCreatedCharacteristicPointsLocation("2locations.krp.csv");
}
[Test]
[SetCulture("en-US")]
public void ReadLine_OpenedValidFileWithHeaderAndTwoCharacteristicPointsLocationsWithCultureEN_ReturnCreatedCharacteristicPointsLocation()
{
- ReadLine_OpenedValidFileWithHeaderAndTwoCharacteristicPointsLocations_ReturnCreatedCharacteristicPointsLocation();
+ ReadLine_OpenedValidFileWithHeaderAndTwoCharacteristicPointsLocations_ReturnCreatedCharacteristicPointsLocation("2locations.krp.csv");
}
[Test]
+ public void ReadLine_OpenedValidFileWithHeaderAndTwoCharacteristicPointsLocationsWithWhiteLine_ReturnCreatedCharacteristicPointsLocation()
+ {
+ ReadLine_OpenedValidFileWithHeaderAndTwoCharacteristicPointsLocations_ReturnCreatedCharacteristicPointsLocation("2locations_with_white_line.krp.csv");
+ }
+
+ [Test]
public void ReadLine_OpenedValidFileWithHeaderAndTwoLocationsWhileAtTheEndOfFile_ReturnNull()
{
// Setup
@@ -234,14 +240,14 @@
int locationsCount = reader.GetLocationsCount();
for (int i = 0; i < locationsCount; i++)
{
- var characteristicPointsLocation = reader.ReadLine();
+ var characteristicPointsLocation = reader.ReadCharacteristicPointsLocation();
Assert.IsNotInstanceOf(characteristicPointsLocation,
"Fail Fast: Disposal logic required to be implemented in test.");
Assert.IsNotNull(characteristicPointsLocation);
}
// Call
- var result = reader.ReadLine();
+ var result = reader.ReadCharacteristicPointsLocation();
// Assert
Assert.IsNull(result);
@@ -260,7 +266,7 @@
using (var reader = new PipingCharacteristicPointsCsvReader(path))
{
// Call
- TestDelegate call = () => reader.ReadLine();
+ TestDelegate call = () => reader.ReadCharacteristicPointsLocation();
// Assert
var exception = Assert.Throws(call);
@@ -282,7 +288,7 @@
using (var reader = new PipingCharacteristicPointsCsvReader(path))
{
// Call
- TestDelegate call = () => reader.ReadLine();
+ TestDelegate call = () => reader.ReadCharacteristicPointsLocation();
// Assert
var exception = Assert.Throws(call);
@@ -296,15 +302,15 @@
public void ReadLine_EmptyFile_ThrowCriticalFileReadException()
{
// Setup
- string path = Path.Combine(testDataPath, "empty.csv");
+ string path = Path.Combine(testDataPath, "empty.krp.csv");
// Precondition
Assert.IsTrue(File.Exists(path));
using (var reader = new PipingCharacteristicPointsCsvReader(path))
{
// Call
- TestDelegate call = () => reader.ReadLine();
+ TestDelegate call = () => reader.ReadCharacteristicPointsLocation();
// Assert
var exception = Assert.Throws(call);
@@ -325,7 +331,7 @@
using (var reader = new PipingCharacteristicPointsCsvReader(path))
{
// Call
- TestDelegate call = () => reader.ReadLine();
+ TestDelegate call = () => reader.ReadCharacteristicPointsLocation();
// Assert
var exception = Assert.Throws(call);
@@ -346,7 +352,7 @@
using (var reader = new PipingCharacteristicPointsCsvReader(path))
{
// Call
- TestDelegate call = () => reader.ReadLine();
+ TestDelegate call = () => reader.ReadCharacteristicPointsLocation();
// Assert
var exception = Assert.Throws(call);
@@ -377,7 +383,7 @@
using (var reader = new PipingCharacteristicPointsCsvReader(path))
{
// Call
- TestDelegate call = () => reader.ReadLine();
+ TestDelegate call = () => reader.ReadCharacteristicPointsLocation();
// Assert
var exception = Assert.Throws(call);
@@ -402,7 +408,7 @@
using (var reader = new PipingCharacteristicPointsCsvReader(path))
{
// Call
- TestDelegate call = () => reader.ReadLine();
+ TestDelegate call = () => reader.ReadCharacteristicPointsLocation();
// Assert
// 1st line has no text at all:
@@ -418,6 +424,54 @@
}
[Test]
+ public void ReadLine_FileLacksIdsWithWhiteLine_ThrowLineParseExceptionOnCorrectLine()
+ {
+ // Setup
+ string path = Path.Combine(testDataPath, "2locations_each_missing_id_with_white_line.krp.csv");
+
+ // Precondition
+ Assert.IsTrue(File.Exists(path));
+
+ using (var reader = new PipingCharacteristicPointsCsvReader(path))
+ {
+ // Call
+ TestDelegate call = () => reader.ReadCharacteristicPointsLocation();
+
+ // Assert
+ // 1st line has no text at all:
+ var exception = Assert.Throws(call);
+ var expectedMessage = new FileReaderErrorMessageBuilder(path).WithLocation("op regel 2").Build(Resources.PipingCharacteristicPointsCsvReader_ReadLine_Line_lacks_ID);
+ Assert.AreEqual(expectedMessage, exception.Message);
+
+ // 2nd line has only whitespace text:
+ expectedMessage = new FileReaderErrorMessageBuilder(path).WithLocation("op regel 4").Build(Resources.PipingCharacteristicPointsCsvReader_ReadLine_Line_lacks_ID);
+ exception = Assert.Throws(call);
+ Assert.AreEqual(expectedMessage, exception.Message);
+ }
+ }
+
+ [Test]
+ public void ReadLine_IncorrectValueSeparator_ThrowLineParseException()
+ {
+ // Setup
+ string path = Path.Combine(testDataPath, "2locations_invalid_separator.krp.csv");
+
+ // Precondition
+ Assert.IsTrue(File.Exists(path));
+
+ using (var reader = new PipingCharacteristicPointsCsvReader(path))
+ {
+ // Call
+ TestDelegate call = () => reader.ReadCharacteristicPointsLocation();
+
+ // Assert
+ var exception = Assert.Throws(call);
+ var expectedMessage = new FileReaderErrorMessageBuilder(path).WithLocation("op regel 0").Build(string.Format(Resources.PipingCharacteristicPointsCsvReader_ReadLine_Line_lacks_separator_0_, ';'));
+ Assert.AreEqual(expectedMessage, exception.Message);
+ }
+ }
+
+ [Test]
public void ReadLine_FileHasIncompleteCoordinateTriplets_ThrowLineParseException()
{
// Setup
@@ -429,7 +483,7 @@
using (var reader = new PipingCharacteristicPointsCsvReader(path))
{
// Call
- TestDelegate call = () => reader.ReadLine();
+ TestDelegate call = () => reader.ReadCharacteristicPointsLocation();
// Assert
// 1st row lacks 1 coordinate value:
@@ -462,27 +516,27 @@
// Call
using (var reader = new PipingCharacteristicPointsCsvReader(path))
{
- reader.ReadLine();
- reader.ReadLine();
+ reader.ReadCharacteristicPointsLocation();
+ reader.ReadCharacteristicPointsLocation();
}
// Assert
Assert.IsTrue(TestHelper.CanOpenFileForWrite(path));
}
- private void ReadLine_OpenedValidFileWithHeaderAndTwoCharacteristicPointsLocations_ReturnCreatedCharacteristicPointsLocation()
+ private void ReadLine_OpenedValidFileWithHeaderAndTwoCharacteristicPointsLocations_ReturnCreatedCharacteristicPointsLocation(string fileName)
{
// Setup
- string path = Path.Combine(testDataPath, "2locations.krp.csv");
+ string path = Path.Combine(testDataPath, fileName);
// Precondition:
Assert.IsTrue(File.Exists(path));
using (var reader = new PipingCharacteristicPointsCsvReader(path))
{
// Call
- var location1 = reader.ReadLine();
- var location2 = reader.ReadLine();
+ var location1 = reader.ReadCharacteristicPointsLocation();
+ var location2 = reader.ReadCharacteristicPointsLocation();
// Assert
Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/PipingSurfaceLinesCsvReaderTest.cs
===================================================================
diff -u -r6298a5e4fbc259636c874b25c847021c05baf033 -re257a0fea96417080be97050774dcfcbb409b084
--- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/PipingSurfaceLinesCsvReaderTest.cs (.../PipingSurfaceLinesCsvReaderTest.cs) (revision 6298a5e4fbc259636c874b25c847021c05baf033)
+++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/PipingSurfaceLinesCsvReaderTest.cs (.../PipingSurfaceLinesCsvReaderTest.cs) (revision e257a0fea96417080be97050774dcfcbb409b084)
@@ -235,6 +235,55 @@
}
[Test]
+ public void DoReadLine_OpenedValidFileWithHeaderAndTwoSurfaceLinesWithWhiteLine_ReturnCreatedSurfaceLine()
+ {
+ // Setup
+ string path = Path.Combine(testDataPath, "TwoValidSurfaceLines_WithWhiteLine.csv");
+
+ // Precondition:
+ Assert.IsTrue(File.Exists(path));
+
+ using (var reader = new PipingSurfaceLinesCsvReader(path))
+ {
+ // Call
+ var surfaceLine1 = reader.ReadSurfaceLine();
+ var surfaceLine2 = reader.ReadSurfaceLine();
+
+ // Assert
+
+ #region 1st surfaceline
+
+ Assert.AreEqual("Rotterdam1", surfaceLine1.Name);
+ Assert.AreEqual(8, surfaceLine1.Points.Count());
+ Assert.AreEqual(94263.0026213, surfaceLine1.StartingWorldPoint.X);
+ Assert.AreEqual(427776.654093, surfaceLine1.StartingWorldPoint.Y);
+ Assert.AreEqual(-1.02, surfaceLine1.StartingWorldPoint.Z);
+ Assert.AreEqual(94331.1767309, surfaceLine1.EndingWorldPoint.X);
+ Assert.AreEqual(427960.112661, surfaceLine1.EndingWorldPoint.Y);
+ Assert.AreEqual(1.44, surfaceLine1.EndingWorldPoint.Z);
+ Assert.AreEqual(surfaceLine1.StartingWorldPoint, surfaceLine1.Points.First());
+ Assert.AreEqual(surfaceLine1.EndingWorldPoint, surfaceLine1.Points.Last());
+
+ #endregion
+
+ #region 2nd surfaceline
+
+ Assert.AreEqual("ArtifcialLocal", surfaceLine2.Name);
+ Assert.AreEqual(3, surfaceLine2.Points.Count());
+ Assert.AreEqual(2.3, surfaceLine2.StartingWorldPoint.X);
+ Assert.AreEqual(0, surfaceLine2.StartingWorldPoint.Y);
+ Assert.AreEqual(1, surfaceLine2.StartingWorldPoint.Z);
+ Assert.AreEqual(5.7, surfaceLine2.EndingWorldPoint.X);
+ Assert.AreEqual(0, surfaceLine2.EndingWorldPoint.Y);
+ Assert.AreEqual(1.1, surfaceLine2.EndingWorldPoint.Z);
+ Assert.AreEqual(surfaceLine2.StartingWorldPoint, surfaceLine2.Points.First());
+ Assert.AreEqual(surfaceLine2.EndingWorldPoint, surfaceLine2.Points.Last());
+
+ #endregion
+ }
+ }
+
+ [Test]
[SetCulture("en-US")]
public void ReadLine_OpenedValidFileWithHeaderAndSurfaceLinesWithDuplicatePointsWithCultureEN_ReturnCreatedSurfaceLineWithDuplicatePoints()
{
@@ -248,7 +297,7 @@
using (var reader = new PipingSurfaceLinesCsvReader(path))
{
// Call
- var surfaceLine1 = reader.ReadLine();
+ var surfaceLine1 = reader.ReadSurfaceLine();
// Assert
Assert.AreEqual("Rotterdam1", surfaceLine1.Name);
@@ -273,14 +322,14 @@
int surfaceLinesCount = reader.GetSurfaceLinesCount();
for (int i = 0; i < surfaceLinesCount; i++)
{
- var pipingSurfaceLine = reader.ReadLine();
+ var pipingSurfaceLine = reader.ReadSurfaceLine();
Assert.IsNotInstanceOf(pipingSurfaceLine,
"Fail Fast: Disposal logic required to be implemented in test.");
Assert.IsNotNull(pipingSurfaceLine);
}
// Call
- var result = reader.ReadLine();
+ var result = reader.ReadSurfaceLine();
// Assert
Assert.IsNull(result);
@@ -299,7 +348,7 @@
using (var reader = new PipingSurfaceLinesCsvReader(path))
{
// Call
- TestDelegate call = () => reader.ReadLine();
+ TestDelegate call = () => reader.ReadSurfaceLine();
// Assert
var exception = Assert.Throws(call);
@@ -321,7 +370,7 @@
using (var reader = new PipingSurfaceLinesCsvReader(path))
{
// Call
- TestDelegate call = () => reader.ReadLine();
+ TestDelegate call = () => reader.ReadSurfaceLine();
// Assert
var exception = Assert.Throws(call);
@@ -343,7 +392,7 @@
using (var reader = new PipingSurfaceLinesCsvReader(path))
{
// Call
- TestDelegate call = () => reader.ReadLine();
+ TestDelegate call = () => reader.ReadSurfaceLine();
// Assert
var exception = Assert.Throws(call);
@@ -364,7 +413,7 @@
using (var reader = new PipingSurfaceLinesCsvReader(path))
{
// Call
- TestDelegate call = () => reader.ReadLine();
+ TestDelegate call = () => reader.ReadSurfaceLine();
// Assert
var exception = Assert.Throws(call);
@@ -389,7 +438,7 @@
using (var reader = new PipingSurfaceLinesCsvReader(path))
{
// Call
- TestDelegate call = () => reader.ReadLine();
+ TestDelegate call = () => reader.ReadSurfaceLine();
// Assert
var exception = Assert.Throws(call);
@@ -415,7 +464,7 @@
using (var reader = new PipingSurfaceLinesCsvReader(path))
{
// Call
- TestDelegate call = () => reader.ReadLine();
+ TestDelegate call = () => reader.ReadSurfaceLine();
// Assert
var exception = Assert.Throws(call);
@@ -446,7 +495,7 @@
using (var reader = new PipingSurfaceLinesCsvReader(path))
{
// Call
- TestDelegate call = () => reader.ReadLine();
+ TestDelegate call = () => reader.ReadSurfaceLine();
// Assert
var exception = Assert.Throws(call);
@@ -471,7 +520,7 @@
using (var reader = new PipingSurfaceLinesCsvReader(path))
{
// Call
- TestDelegate call = () => reader.ReadLine();
+ TestDelegate call = () => reader.ReadSurfaceLine();
// Assert
// 1st line has no text at all:
@@ -487,6 +536,33 @@
}
[Test]
+ public void ReadLine_FileLacksIdsWithWhiteLine_ThrowLineParseExceptionOnCorrectLine()
+ {
+ // Setup
+ string path = Path.Combine(testDataPath, "TwoInvalidRows_LacksIdWithWhiteLine.csv");
+
+ // Precondition
+ Assert.IsTrue(File.Exists(path));
+
+ using (var reader = new PipingSurfaceLinesCsvReader(path))
+ {
+ // Call
+ TestDelegate call = () => reader.ReadSurfaceLine();
+
+ // Assert
+ // 1st line has no text at all:
+ var exception = Assert.Throws(call);
+ var expectedMessage = new FileReaderErrorMessageBuilder(path).WithLocation("op regel 2").Build(IOResources.PipingSurfaceLinesCsvReader_ReadLine_Line_lacks_ID);
+ Assert.AreEqual(expectedMessage, exception.Message);
+
+ // 2nd line has only whitespace text:
+ expectedMessage = new FileReaderErrorMessageBuilder(path).WithLocation("op regel 4").Build(IOResources.PipingSurfaceLinesCsvReader_ReadLine_Line_lacks_ID);
+ exception = Assert.Throws(call);
+ Assert.AreEqual(expectedMessage, exception.Message);
+ }
+ }
+
+ [Test]
public void ReadLine_IncorrectValueSeparator_ThrowLineParseException()
{
// Setup
@@ -498,7 +574,7 @@
using (var reader = new PipingSurfaceLinesCsvReader(path))
{
// Call
- TestDelegate call = () => reader.ReadLine();
+ TestDelegate call = () => reader.ReadSurfaceLine();
// Assert
var exception = Assert.Throws(call);
@@ -519,7 +595,7 @@
using (var reader = new PipingSurfaceLinesCsvReader(path))
{
// Call
- TestDelegate call = () => reader.ReadLine();
+ TestDelegate call = () => reader.ReadSurfaceLine();
// Assert
var exception = Assert.Throws(call);
@@ -542,7 +618,7 @@
using (var reader = new PipingSurfaceLinesCsvReader(path))
{
// Call
- TestDelegate call = () => reader.ReadLine();
+ TestDelegate call = () => reader.ReadSurfaceLine();
// Assert
// 1st row lacks 1 coordinate value:
@@ -575,7 +651,7 @@
using (var reader = new PipingSurfaceLinesCsvReader(path))
{
// Call
- TestDelegate call = () => reader.ReadLine();
+ TestDelegate call = () => reader.ReadSurfaceLine();
// Assert
var exception = Assert.Throws(call);
@@ -599,8 +675,8 @@
// Call
using (var reader = new PipingSurfaceLinesCsvReader(path))
{
- reader.ReadLine();
- reader.ReadLine();
+ reader.ReadSurfaceLine();
+ reader.ReadSurfaceLine();
}
// Assert
@@ -618,8 +694,8 @@
using (var reader = new PipingSurfaceLinesCsvReader(path))
{
// Call
- var surfaceLine1 = reader.ReadLine();
- var surfaceLine2 = reader.ReadLine();
+ var surfaceLine1 = reader.ReadSurfaceLine();
+ var surfaceLine2 = reader.ReadSurfaceLine();
// Assert
Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/CharacteristicPoints/2locations_each_missing_id_with_white_line.krp.csv
===================================================================
diff -u
--- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/CharacteristicPoints/2locations_each_missing_id_with_white_line.krp.csv (revision 0)
+++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/CharacteristicPoints/2locations_each_missing_id_with_white_line.krp.csv (revision e257a0fea96417080be97050774dcfcbb409b084)
@@ -0,0 +1,4 @@
+LocationID;X_Maaiveld binnenwaarts;Y_Maaiveld binnenwaarts;Z_Maaiveld binnenwaarts;X_Insteek sloot polderzijde;Y_Insteek sloot polderzijde;Z_Insteek sloot polderzijde;X_Slootbodem polderzijde;Y_Slootbodem polderzijde;Z_Slootbodem polderzijde;X_Slootbodem dijkzijde;Y_Slootbodem dijkzijde;Z_Slootbodem dijkzijde;X_Insteek sloot dijkzijde;Y_Insteek sloot dijkzijde;Z_Insteek sloot dijkzijde;X_Teen dijk binnenwaarts;Y_Teen dijk binnenwaarts;Z_Teen dijk binnenwaarts;X_Kruin binnenberm;Y_Kruin binnenberm;Z_Kruin binnenberm;X_Insteek binnenberm;Y_Insteek binnenberm;Z_Insteek binnenberm;X_Kruin binnentalud;Y_Kruin binnentalud;Z_Kruin binnentalud;X_Verkeersbelasting kant binnenwaarts;Y_Verkeersbelasting kant binnenwaarts;Z_Verkeersbelasting kant binnenwaarts;X_Verkeersbelasting kant buitenwaarts;Y_Verkeersbelasting kant buitenwaarts;Z_Verkeersbelasting kant buitenwaarts;X_Kruin buitentalud;Y_Kruin buitentalud;Z_Kruin buitentalud;X_Insteek buitenberm;Y_Insteek buitenberm;Z_Insteek buitenberm;X_Kruin buitenberm;Y_Kruin buitenberm;Z_Kruin buitenberm;X_Teen dijk buitenwaarts;Y_Teen dijk buitenwaarts;Z_Teen dijk buitenwaarts;X_Maaiveld buitenwaarts;Y_Maaiveld buitenwaarts;Z_Maaiveld buitenwaarts;X_Dijktafelhoogte;Y_Dijktafelhoogte;Z_Dijktafelhoogte;Volgnummer
+;100;0;-0.63;60.83;0;-0.57;59.36;0;-1.87;57.99;0;-1.9;55.37;0;-0.31;55.37;0;-0.31;-1;-1;-1;-1;-1;-1;40.17;0;2.63;40.85;0;2.44;38.35;0;2.623;35.95;0;2.61;-1;-1;-1;-1;-1;-1;29.1;0;-0.2;0;0;-0.71;23.703;0;-1.5;3
+
+ ;100;0;-0.47;58.42;0;-0.6;56.2;0;-1.98;56.2;0;-1.98;53.48;0;-0.49;53.48;0;-0.49;-1;-1;-1;-1;-1;-1;38.17;0;3.04;37.73;0;3.13;35.23;0;3.253;32.77;0;3.11;-1;-1;-1;-1;-1;-1;19.61;0;-0.05;0;0;-0.33;17.32;0;-1.52;4
Fisheye: Tag e257a0fea96417080be97050774dcfcbb409b084 refers to a dead (removed) revision in file `Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/CharacteristicPoints/2locations_invalid_separator.csv'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/CharacteristicPoints/2locations_invalid_separator.krp.csv
===================================================================
diff -u
--- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/CharacteristicPoints/2locations_invalid_separator.krp.csv (revision 0)
+++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/CharacteristicPoints/2locations_invalid_separator.krp.csv (revision e257a0fea96417080be97050774dcfcbb409b084)
@@ -0,0 +1,3 @@
+LocationID,X_Maaiveld binnenwaarts,Y_Maaiveld binnenwaarts,Z_Maaiveld binnenwaarts,X_Insteek sloot polderzijde,Y_Insteek sloot polderzijde,Z_Insteek sloot polderzijde,X_Slootbodem polderzijde,Y_Slootbodem polderzijde,Z_Slootbodem polderzijde,X_Slootbodem dijkzijde,Y_Slootbodem dijkzijde,Z_Slootbodem dijkzijde,X_Insteek sloot dijkzijde,Y_Insteek sloot dijkzijde,Z_Insteek sloot dijkzijde,X_Teen dijk binnenwaarts,Y_Teen dijk binnenwaarts,Z_Teen dijk binnenwaarts,X_Kruin binnenberm,Y_Kruin binnenberm,Z_Kruin binnenberm,X_Insteek binnenberm,Y_Insteek binnenberm,Z_Insteek binnenberm,X_Kruin binnentalud,Y_Kruin binnentalud,Z_Kruin binnentalud,X_Verkeersbelasting kant binnenwaarts,Y_Verkeersbelasting kant binnenwaarts,Z_Verkeersbelasting kant binnenwaarts,X_Verkeersbelasting kant buitenwaarts,Y_Verkeersbelasting kant buitenwaarts,Z_Verkeersbelasting kant buitenwaarts,X_Kruin buitentalud,Y_Kruin buitentalud,Z_Kruin buitentalud,X_Insteek buitenberm,Y_Insteek buitenberm,Z_Insteek buitenberm,X_Kruin buitenberm,Y_Kruin buitenberm,Z_Kruin buitenberm,X_Teen dijk buitenwaarts,Y_Teen dijk buitenwaarts,Z_Teen dijk buitenwaarts,X_Maaiveld buitenwaarts,Y_Maaiveld buitenwaarts,Z_Maaiveld buitenwaarts,X_Dijktafelhoogte,Y_Dijktafelhoogte,Z_Dijktafelhoogte,Volgnummer
+Rotterdam1,100,0,-0.63,60.83,0,-0.57,59.36,0,-1.87,57.99,0,-1.9,55.37,0,-0.31,55.37,0,-0.31,-1,-1,-1,-1,-1,-1,40.17,0,2.63,40.85,0,2.44,38.35,0,2.623,35.95,0,2.61,-1,-1,-1,-1,-1,-1,29.1,0,-0.2,0,0,-0.71,23.703,0,-1.5,3
+Amsterdam1,100,0,-0.47,58.42,0,-0.6,56.2,0,-1.98,56.2,0,-1.98,53.48,0,-0.49,53.48,0,-0.49,-1,-1,-1,-1,-1,-1,38.17,0,3.04,37.73,0,3.13,35.23,0,3.253,32.77,0,3.11,-1,-1,-1,-1,-1,-1,19.61,0,-0.05,0,0,-0.33,17.32,0,-1.52,4
Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/CharacteristicPoints/2locations_with_white_line.krp.csv
===================================================================
diff -u
--- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/CharacteristicPoints/2locations_with_white_line.krp.csv (revision 0)
+++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/CharacteristicPoints/2locations_with_white_line.krp.csv (revision e257a0fea96417080be97050774dcfcbb409b084)
@@ -0,0 +1,3 @@
+LocationID;X_Maaiveld binnenwaarts;Y_Maaiveld binnenwaarts;Z_Maaiveld binnenwaarts;X_Insteek sloot polderzijde;Y_Insteek sloot polderzijde;Z_Insteek sloot polderzijde;X_Slootbodem polderzijde;Y_Slootbodem polderzijde;Z_Slootbodem polderzijde;X_Slootbodem dijkzijde;Y_Slootbodem dijkzijde;Z_Slootbodem dijkzijde;X_Insteek sloot dijkzijde;Y_Insteek sloot dijkzijde;Z_Insteek sloot dijkzijde;X_Teen dijk binnenwaarts;Y_Teen dijk binnenwaarts;Z_Teen dijk binnenwaarts;X_Kruin binnenberm;Y_Kruin binnenberm;Z_Kruin binnenberm;X_Insteek binnenberm;Y_Insteek binnenberm;Z_Insteek binnenberm;X_Kruin binnentalud;Y_Kruin binnentalud;Z_Kruin binnentalud;X_Verkeersbelasting kant binnenwaarts;Y_Verkeersbelasting kant binnenwaarts;Z_Verkeersbelasting kant binnenwaarts;X_Verkeersbelasting kant buitenwaarts;Y_Verkeersbelasting kant buitenwaarts;Z_Verkeersbelasting kant buitenwaarts;X_Kruin buitentalud;Y_Kruin buitentalud;Z_Kruin buitentalud;X_Insteek buitenberm;Y_Insteek buitenberm;Z_Insteek buitenberm;X_Kruin buitenberm;Y_Kruin buitenberm;Z_Kruin buitenberm;X_Teen dijk buitenwaarts;Y_Teen dijk buitenwaarts;Z_Teen dijk buitenwaarts;X_Maaiveld buitenwaarts;Y_Maaiveld buitenwaarts;Z_Maaiveld buitenwaarts;X_Dijktafelhoogte;Y_Dijktafelhoogte;Z_Dijktafelhoogte;Volgnummer
+Rotterdam1;100;0;-0.63;60.83;0;-0.57;59.36;0;-1.87;57.99;0;-1.9;55.37;0;-0.31;55.37;0;-0.31;-1;-1;-1;-1;-1;-1;40.17;0;2.63;40.85;0;2.44;38.35;0;2.623;35.95;0;2.61;-1;-1;-1;-1;-1;-1;29.1;0;-0.2;0;0;-0.71;23.703;0;-1.5;3
+Amsterdam1;100;0;-0.47;58.42;0;-0.6;56.2;0;-1.98;56.2;0;-1.98;53.48;0;-0.49;53.48;0;-0.49;-1;-1;-1;-1;-1;-1;38.17;0;3.04;37.73;0;3.13;35.23;0;3.253;32.77;0;3.11;-1;-1;-1;-1;-1;-1;19.61;0;-0.05;0;0;-0.33;17.32;0;-1.52;4
Fisheye: Tag e257a0fea96417080be97050774dcfcbb409b084 refers to a dead (removed) revision in file `Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/CharacteristicPoints/empty.csv'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/CharacteristicPoints/empty.krp.csv
===================================================================
diff -u
--- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/CharacteristicPoints/empty.krp.csv (revision 0)
+++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/CharacteristicPoints/empty.krp.csv (revision e257a0fea96417080be97050774dcfcbb409b084)
@@ -0,0 +1 @@
\ No newline at end of file
Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/SurfaceLines/TwoInvalidRows_LacksIdWithWhiteLine.csv
===================================================================
diff -u
--- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/SurfaceLines/TwoInvalidRows_LacksIdWithWhiteLine.csv (revision 0)
+++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/SurfaceLines/TwoInvalidRows_LacksIdWithWhiteLine.csv (revision e257a0fea96417080be97050774dcfcbb409b084)
@@ -0,0 +1,4 @@
+Profielnaam;X1;Y1;Z1;...;Xn;Yn;Zn
+;94263.0026213;427776.654093;-1.02;94275.9126686;427811.080886;-1.04;94284.0663827;427831.918156;1.25;94294.9380015;427858.191234;1.45;94305.3566362;427889.900123;1.65;94315.0957947;427913.908281;1.66;94325.0614453;427941.766804;1.55;94331.1767309;427960.112661;1.44
+
+ ;2.3;0;1.0;5.7;0;2.0;4.4;0;1.1
\ No newline at end of file
Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/SurfaceLines/TwoValidSurfaceLines_WithWhiteLine.csv
===================================================================
diff -u
--- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/SurfaceLines/TwoValidSurfaceLines_WithWhiteLine.csv (revision 0)
+++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/test-data/SurfaceLines/TwoValidSurfaceLines_WithWhiteLine.csv (revision e257a0fea96417080be97050774dcfcbb409b084)
@@ -0,0 +1,4 @@
+Profielnaam;X1;Y1;Z1;...;Xn;Yn;Zn;;;;;;;;;;;;;;;;;
+Rotterdam1;94263.0026213;427776.654093;-1.02;94275.9126686;427811.080886;-1.04;94284.0663827;427831.918156;1.25;94294.9380015;427858.191234;1.45;94305.3566362;427889.900123;1.65;94315.0957947;427913.908281;1.66;94325.0614453;427941.766804;1.55;94331.1767309;427960.112661;1.44
+
+ArtifcialLocal;2.3;0;1.0;4.4;0;2.0;5.7;0;1.1;;;;;;;;;;;;;;;