1 #include <dballe/msg/tests.h>
28 Messages messages_from_db(DB& db,
const dballe::Query& query);
29 Messages messages_from_db(DB& db,
const char* query);
37 std::map<std::string, DataValues>
data;
42 virtual void populate_db(
DB& db);
61 static bool has_driver(
const std::string& backend);
92 DBFixture(
const char* backend, db::Format format);
100 template<
typename DataSet>
104 wassert(populate_database(data_set));
110 template<
typename FIXTURE>
118 using Actual::Actual;
139 if (
auto c = dynamic_cast<dballe::db::CursorValue*>(&_actual))
154 if (
auto c = dynamic_cast<dballe::db::CursorValue*>(&_actual))
163 typedef std::function<void(const std::vector<core::Record>&)> result_checker;
167 using Actual::Actual;
179 void try_summary_query(
const std::string& query,
unsigned expected, result_checker checker=
nullptr);
187 inline ActualCursor actual(std::unique_ptr<dballe::db::Cursor>& actual) {
return ActualCursor(*actual); }
188 inline ActualCursor actual(std::unique_ptr<dballe::db::CursorStation>& actual) {
return ActualCursor(*actual); }
189 inline ActualCursor actual(std::unique_ptr<dballe::db::CursorStationData>& actual) {
return ActualCursor(*actual); }
190 inline ActualCursor actual(std::unique_ptr<dballe::db::CursorData>& actual) {
return ActualCursor(*actual); }
191 inline ActualCursor actual(std::unique_ptr<dballe::db::CursorSummary>& actual) {
return ActualCursor(*actual); }
192 inline ActualDB actual(
dballe::DB& actual) {
return ActualDB(actual); }
193 inline ActualDB actual(std::unique_ptr<dballe::DB>& actual) {
return ActualDB(*actual); }
void try_summary_query(const std::string &query, unsigned expected, result_checker checker=nullptr)
Check results of a summary query.
std::unique_ptr< DB > create_db()
Open a new DB with the backend and format specified in this fixture.
Cursor iterating over summary entries.
Definition: db.h:146
Cursor iterating over station data values.
Definition: db.h:128
Information about a station.
Definition: values.h:21
void station_keys_match(const Station &expected)
Check cursor context after a query_stations.
A set of measured values.
Definition: values.h:304
void data_var_matches(const DataValues &expected, wreport::Varcode code)
Check cursor data variable after a query_data.
Definition: db/tests.h:134
Forward declarations for public dballe/sql names.
Definition: v6/driver.h:52
std::map< std::string, StationValues > stations
Arbitrarily named station values.
Definition: db/tests.h:35
void data_matches(const DataValues &ds)
Check cursor data context and variable after a query_data.
Definition: db/tests.h:152
Common interface for all kinds of cursors.
Definition: db.h:43
Functions used to connect to DB-All.e and insert, query and delete data.
Cursor iterating over stations.
Definition: db.h:107
Cursor iterating over data values.
Definition: db.h:133
Definition: db/tests.h:88
void data_context_matches(const DataValues &expected)
Check cursor data context after a query_data.
void data_var_matches(const Values &expected, wreport::Varcode code)
Check cursor data variable after a query_data.
Definition: db/tests.h:145
void station_vars_match(const StationValues &expected)
Check cursor context after a query_stations.
Definition: db/tests.h:52
void try_data_query(const std::string &query, unsigned expected)
Check cursor data context anda variable after a query_data.
Test fixture for SQL backend drivers.
Definition: db/tests.h:77
void try_station_query(const std::string &query, unsigned expected)
Check results of a station query.
Query used to filter DB-All.e data.
Definition: query.h:14
void data_var_matches(const StationValues &expected, wreport::Varcode code)
Check cursor data variable after a query_data.
Definition: db/tests.h:130
Test fixture used by old DB-All.e db tests.
Definition: db/tests.h:46
A set of station values.
Definition: values.h:274
Definition: db/tests.h:111
Definition: db/tests.h:165
Structures used as input to database insert functions.
void data_var_matches(const DataValues &expected)
Check cursor data variable after a query_data.
Definition: db/tests.h:138
Base for datasets used to populate test databases.
Definition: db/tests.h:32
std::map< std::string, DataValues > data
Arbitrarily named data values.
Definition: db/tests.h:37
Collection of Value objects, indexed by wreport::Varcode.
Definition: values.h:203
Test fixture for SQL backend drivers.
Definition: db/tests.h:65
Definition: v7/driver.h:26
Definition: db/tests.h:116
Implement a storage object for a group of related observation data.