public void GetSurfaceLinesCount_OpenedValidFileWithHeaderAndNoSurfaceLines_ReturnZero() { // Setup string path = Path.Combine(testDataPath, "ValidFileWithoutSurfaceLines.csv"); using (var reader = new SurfaceLinesCsvReader(path)) { // Call int linesCount = reader.GetSurfaceLinesCount(); // Assert Assert.AreEqual(0, linesCount); } }
public void GetSurfaceLinesCount_OpenedValidFileWithHeaderWithOptionalHeadersAndTwoSurfaceLines_ReturnNumberOfSurfaceLines() { // Setup string path = Path.Combine(testDataPath, "TwoValidSurfaceLines_WithOptionalHeaders.csv"); using (var reader = new SurfaceLinesCsvReader(path)) { // Call int linesCount = reader.GetSurfaceLinesCount(); // Assert Assert.AreEqual(2, linesCount); } }
public void GetSurfaceLinesCount_EmptyFile_ThrowCriticalFileReadException() { // Setup string path = Path.Combine(testDataPath, "empty.csv"); // Precondition Assert.IsTrue(File.Exists(path)); using (var reader = new SurfaceLinesCsvReader(path)) { // Call TestDelegate call = () => reader.GetSurfaceLinesCount(); // Assert var exception = Assert.Throws <CriticalFileReadException>(call); string expectedMessage = new FileReaderErrorMessageBuilder(path).WithLocation("op regel 1").Build("Het bestand is leeg."); Assert.AreEqual(expectedMessage, exception.Message); } }
public void GetSurfaceLinesCount_DirectoryCannotBeFound_ThrowCriticalFileReadException() { // Setup string path = Path.Combine(testDataPath, "..", "this_folder_does_not_exist", "I_do_not_exist.csv"); // Precondition Assert.IsFalse(File.Exists(path)); using (var reader = new SurfaceLinesCsvReader(path)) { // Call TestDelegate call = () => reader.GetSurfaceLinesCount(); // Assert var exception = Assert.Throws <CriticalFileReadException>(call); string expectedMessage = new FileReaderErrorMessageBuilder(path).Build("Het bestandspad verwijst naar een map die niet bestaat."); Assert.AreEqual(expectedMessage, exception.Message); Assert.IsInstanceOf <DirectoryNotFoundException>(exception.InnerException); } }
public void GetSurfaceLinesCount_FileCannotBeFound_ThrowCriticalFileReadException() { // Setup string path = Path.Combine(testDataPath, "I_do_not_exist.csv"); // Precondition Assert.IsFalse(File.Exists(path)); using (var reader = new SurfaceLinesCsvReader(path)) { // Call TestDelegate call = () => reader.GetSurfaceLinesCount(); // Assert var exception = Assert.Throws <CriticalFileReadException>(call); string expectedError = new FileReaderErrorMessageBuilder(path).Build("Het bestand bestaat niet."); Assert.AreEqual(expectedError, exception.Message); Assert.IsInstanceOf <FileNotFoundException>(exception.InnerException); } }
public void GetSurfaceLinesCount_InvalidHeader1_ThrowCriticalFileReadException() { // Setup string path = Path.Combine(testDataPath, "InvalidHeader_UnsupportedId.csv"); // Precondition Assert.IsTrue(File.Exists(path)); using (var reader = new SurfaceLinesCsvReader(path)) { // Call TestDelegate call = () => reader.GetSurfaceLinesCount(); // Assert var exception = Assert.Throws <CriticalFileReadException>(call); string expectedMessage = new FileReaderErrorMessageBuilder(path) .WithLocation("op regel 1") .Build("Het bestand is niet geschikt om profielschematisaties uit te lezen (Verwachte koptekst: locationid;X1;Y1;Z1)."); Assert.AreEqual(expectedMessage, exception.Message); } }
public void ReadLine_OpenedValidFileWithoutHeaderAndTwoSurfaceLinesWhileAtTheEndOfFile_ReturnNull() { // Setup string path = Path.Combine(testDataPath, "TwoValidSurfaceLines.csv"); using (var reader = new SurfaceLinesCsvReader(path)) { int surfaceLinesCount = reader.GetSurfaceLinesCount(); for (var i = 0; i < surfaceLinesCount; i++) { SurfaceLine surfaceLine = reader.ReadSurfaceLine(); Assert.IsNotInstanceOf <IDisposable>(surfaceLine, "Fail Fast: Disposal logic required to be implemented in test."); Assert.IsNotNull(surfaceLine); } // Call SurfaceLine result = reader.ReadSurfaceLine(); // Assert Assert.IsNull(result); } }