1 #include <dballe/msg/tests.h> 27 Messages messages_from_db(DB& db,
const dballe::Query& query);
28 Messages messages_from_db(DB& db,
const char* query);
36 std::map<std::string, DataValues>
data;
41 virtual void populate_db(
DB& db);
60 static bool has_driver(
const std::string& backend);
91 DBFixture(
const char* backend, db::Format format);
95 std::unique_ptr<DB> create_db();
99 template<
typename DataSet>
103 wassert(populate_database(data_set));
109 template<
typename FIXTURE>
117 using Actual::Actual;
120 void station_keys_match(
const Station& expected);
126 void data_context_matches(
const DataValues& expected);
130 data_var_matches(*expected.values[code].var);
134 data_var_matches(*expected.values[code].var);
138 if (
auto c = dynamic_cast<dballe::db::CursorValue*>(&_actual))
139 data_var_matches(*expected.values[c->get_varcode()].var);
145 data_var_matches(*expected[code].var);
153 if (
auto c = dynamic_cast<dballe::db::CursorValue*>(&_actual))
154 data_matches(ds, c->get_varcode());
162 typedef std::function<void(const std::vector<core::Record>&)> result_checker;
166 using Actual::Actual;
169 void try_data_query(
const std::string& query,
unsigned expected);
172 void try_data_query(
const Query& query,
unsigned expected);
175 void try_station_query(
const std::string& query,
unsigned expected);
178 void try_summary_query(
const std::string& query,
unsigned expected, result_checker checker=
nullptr);
188 inline ActualCursor actual(std::unique_ptr<dballe::db::CursorStationData>& actual) {
return ActualCursor(*actual); }
192 inline ActualDB actual(std::unique_ptr<dballe::DB>& actual) {
return ActualDB(*actual); }
Cursor iterating over summary entries.
Definition: db.h:136
Cursor iterating over station data values.
Definition: db.h:118
Information about a station.
Definition: values.h:20
A set of measured values.
Definition: values.h:303
void data_var_matches(const DataValues &expected, wreport::Varcode code)
Check cursor data variable after a query_data.
Definition: db/tests.h:133
Forward declarations for public dballe/sql names.
Copyright (C) 2008–2010 ARPA-SIM urpsim@smr.arpa.emr.it
Definition: cmdline.h:17
Definition: v6/driver.h:52
std::map< std::string, StationValues > stations
Arbitrarily named station values.
Definition: db/tests.h:34
void data_matches(const DataValues &ds)
Check cursor data context and variable after a query_data.
Definition: db/tests.h:151
Common interface for all kinds of cursors.
Definition: db.h:38
Functions used to connect to DB-All.e and insert, query and delete data.
Cursor iterating over stations.
Definition: db.h:97
Cursor iterating over data values.
Definition: db.h:123
Definition: db/tests.h:87
void data_var_matches(const Values &expected, wreport::Varcode code)
Check cursor data variable after a query_data.
Definition: db/tests.h:144
Definition: db/tests.h:51
Test fixture for SQL backend drivers.
Definition: db/tests.h:76
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:129
Test fixture used by old DB-All.e db tests.
Definition: db/tests.h:45
A set of station values.
Definition: values.h:273
Definition: db/tests.h:110
Definition: db/tests.h:164
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:137
Base for datasets used to populate test databases.
Definition: db/tests.h:31
std::map< std::string, DataValues > data
Arbitrarily named data values.
Definition: db/tests.h:36
Collection of Value objects, indexed by wreport::Varcode.
Definition: values.h:202
Test fixture for SQL backend drivers.
Definition: db/tests.h:64
Definition: v7/driver.h:26
Definition: db/tests.h:115
Implement a storage object for a group of related observation data.