Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/SurfaceLines/PipingSurfaceLinesCsvReaderTest.cs =================================================================== diff -u -r68597fa1a4f4d31ee209873eec139f9412026bd2 -r59ea94f47cbf3b4830b14bf87e3609341785a1df --- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/SurfaceLines/PipingSurfaceLinesCsvReaderTest.cs (.../PipingSurfaceLinesCsvReaderTest.cs) (revision 68597fa1a4f4d31ee209873eec139f9412026bd2) +++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/SurfaceLines/PipingSurfaceLinesCsvReaderTest.cs (.../PipingSurfaceLinesCsvReaderTest.cs) (revision 59ea94f47cbf3b4830b14bf87e3609341785a1df) @@ -93,6 +93,22 @@ } [Test] + public void GetSurfaceLinesCount_OpenedValidFileWithHeaderWithOptionalHeadersAndTwoSurfaceLines_ReturnNumberOfSurfaceLines() + { + // Setup + string path = Path.Combine(testDataPath, "TwoValidSurfaceLines_WithOptionalHeaders.csv"); + + using (var reader = new PipingSurfaceLinesCsvReader(path)) + { + // Call + int linesCount = reader.GetSurfaceLinesCount(); + + // Assert + Assert.AreEqual(2, linesCount); + } + } + + [Test] public void GetSurfaceLinesCount_OpenedValidFileWithHeaderAndNoSurfaceLines_ReturnZero() { // Setup @@ -283,6 +299,55 @@ } [Test] + public void DoReadLine_OpenedValidFileWithHeaderAndTwoSurfaceLinesWithOptionalHeaders_ReturnCreatedSurfaceLine() + { + // Setup + string path = Path.Combine(testDataPath, "TwoValidSurfaceLines_WithOptionalHeaders.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() {