/// <summary> /// Returns the version from the database pointed at by the <paramref name="filePath"/>. /// </summary> /// <param name="filePath">The location of the database.</param> /// <returns>The version from the database as a <see cref="string"/>.</returns> /// <exception cref="CriticalFileReadException">Thrown when no connection with the hydraulic /// boundary database could be created.</exception> private static string GetVersion(string filePath) { using (var db = new HydraulicBoundaryDatabaseReader(filePath)) { return(db.ReadVersion()); } }
public void Constructor_ValidFile_ExpectedValues() { // Setup string hydraulicBoundaryDatabaseFile = Path.Combine(testDataPath, "complete.sqlite"); // Call using (var reader = new HydraulicBoundaryDatabaseReader(hydraulicBoundaryDatabaseFile)) { // Assert Assert.AreEqual(hydraulicBoundaryDatabaseFile, reader.Path); Assert.IsInstanceOf <SqLiteDatabaseReaderBase>(reader); } }
public void ReadVersion_ValidFile_ReturnsReadVersion() { // Setup string hydraulicBoundaryDatabaseFile = Path.Combine(testDataPath, "complete.sqlite"); using (var reader = new HydraulicBoundaryDatabaseReader(hydraulicBoundaryDatabaseFile)) { // Call string version = reader.ReadVersion(); // Assert Assert.AreEqual("Dutch coast South19-11-2015 12:0013", version); } }
public void ReadTrackId_ValidFile_ReturnsReadVersion() { // Setup string hydraulicBoundaryDatabaseFile = Path.Combine(testDataPath, "complete.sqlite"); using (var reader = new HydraulicBoundaryDatabaseReader(hydraulicBoundaryDatabaseFile)) { // Call long trackId = reader.ReadTrackId(); // Assert Assert.AreEqual(13, trackId); } }
public void ReadVersion_EmptyDatabase_ThrowsCriticalFileReadException() { // Setup string hydraulicBoundaryDatabaseFile = Path.Combine(testDataPath, "emptyGeneral.sqlite"); using (var reader = new HydraulicBoundaryDatabaseReader(hydraulicBoundaryDatabaseFile)) { // Call TestDelegate test = () => reader.ReadVersion(); // 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 ReadTrackId_InvalidTrackIdColumn_ThrowsLineParseException() { // Setup string hydraulicBoundaryDatabaseFile = Path.Combine(testDataPath, "corruptSchema.sqlite"); using (var reader = new HydraulicBoundaryDatabaseReader(hydraulicBoundaryDatabaseFile)) { // Call TestDelegate test = () => reader.ReadTrackId(); // 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 <InvalidCastException>(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); } }