public static string GetDbPath(string dumpFileName) { var db = new SqliteDb(); var dbPath = dumpFileName.Replace(".dump", ".db"); var dbName = CommonUtility.GetPath(dbPath); if (!File.Exists(dumpFileName) && !File.Exists(dbName)) { throw new UnitTestException(string.Format("Error: Dump file {0} not found. Unable to create database file", dumpFileName)); } else if (!File.Exists(dbName)) { db.GenerateDatabase(dumpFileName, dbName); } else if (File.Exists(dumpFileName) && File.GetLastWriteTimeUtc(dumpFileName) > File.GetLastWriteTimeUtc(dbName)) { try { File.Delete(dbName); db.GenerateDatabase(dumpFileName, dbName); } catch { throw new UnitTestException(string.Format("Unable to delete database file {0}. The file is either in use or is read-only. The database has not been updated", dbName)); } } return(dbPath); }