public void Read_DatabaseWithoutTrackId_ThrowsCriticalFileReadException() { // Setup string hydraulicBoundaryDatabaseFile = Path.Combine(testDataPath, "emptyGeneral.sqlite"); using (var reader = new HydraulicBoundaryDatabaseReader(hydraulicBoundaryDatabaseFile)) { // Call TestDelegate test = () => reader.Read(); // Assert string expectedMessage = $"Fout bij het lezen van bestand '{hydraulicBoundaryDatabaseFile}': kritieke fout opgetreden bij het uitlezen van waardes uit kolommen in de database."; var exception = Assert.Throws <CriticalFileReadException>(test); Assert.AreEqual(expectedMessage, exception.Message); } }
public void Read_EmptyDatabase_ThrowsCriticalFileReadException() { // Setup string hydraulicBoundaryDatabaseFile = Path.Combine(testDataPath, "empty.sqlite"); using (var reader = new HydraulicBoundaryDatabaseReader(hydraulicBoundaryDatabaseFile)) { // Call TestDelegate test = () => reader.Read(); // Assert string expectedMessage = $"Fout bij het lezen van bestand '{hydraulicBoundaryDatabaseFile}': kon geen locaties verkrijgen van de database."; var exception = Assert.Throws <CriticalFileReadException>(test); Assert.AreEqual(expectedMessage, exception.Message); Assert.IsInstanceOf <SQLiteException>(exception.InnerException); } }
public void Read_DatabaseSchemaInvalidLocationColumns_ThrowsLineParseException() { // Setup string hydraulicBoundaryDatabaseFile = Path.Combine(testDataPath, "corruptLocationSchema.sqlite"); using (var reader = new HydraulicBoundaryDatabaseReader(hydraulicBoundaryDatabaseFile)) { // Call TestDelegate test = () => reader.Read(); // Assert var exception = Assert.Throws <LineParseException>(test); string expectedMessage = $"Fout bij het lezen van bestand '{hydraulicBoundaryDatabaseFile}': kritieke fout opgetreden bij het uitlezen van waardes uit kolommen in de database."; Assert.AreEqual(expectedMessage, exception.Message); Assert.IsInstanceOf <ConversionException>(exception.InnerException); } }
private ReadResult <ReadHydraulicBoundaryDatabase> ReadHydraulicBoundaryDatabase() { NotifyProgress(Resources.HydraulicBoundaryDatabaseImporter_ProgressText_Reading_HRD_file, 1, numberOfSteps); try { using (var reader = new HydraulicBoundaryDatabaseReader(FilePath)) { return(new ReadResult <ReadHydraulicBoundaryDatabase>(false) { Items = new[] { reader.Read() } }); } } catch (Exception e) when(e is CriticalFileReadException || e is LineParseException) { return(HandleCriticalFileReadError <ReadHydraulicBoundaryDatabase>(e)); } }
public void Read_ValidFile_ReturnsReadHydraulicBoundaryDatabase() { // Setup string hydraulicBoundaryDatabaseFile = Path.Combine(testDataPath, "complete.sqlite"); using (var reader = new HydraulicBoundaryDatabaseReader(hydraulicBoundaryDatabaseFile)) { // Call ReadHydraulicBoundaryDatabase readDatabase = reader.Read(); // Assert Assert.AreEqual("Dutch coast South19-11-2015 12:0013", readDatabase.Version); Assert.AreEqual(13, readDatabase.TrackId); Assert.AreEqual(18, readDatabase.Locations.Count()); ReadHydraulicBoundaryLocation location = readDatabase.Locations.First(); Assert.AreEqual(1, location.Id); Assert.AreEqual("punt_flw_ 1", location.Name); Assert.AreEqual(52697.5, location.CoordinateX); Assert.AreEqual(427567.0, location.CoordinateY); } }