1 #include <wreport/tests.h> 2 #include <dballe/file.h> 3 #include <dballe/record.h> 4 #include <dballe/core/query.h> 5 #include <dballe/core/values.h> 25 bool test_can_run(
const std::string& group_name,
const std::string& test_name);
30 static inline int rnd(
int min,
int max)
32 return min + (int) ((max - min) * (rand() / (RAND_MAX + 1.0)));
35 static inline double rnd(
double min,
double max)
37 return min + (int) ((max - min) * (rand() / (RAND_MAX + 1.0)));
40 static inline std::string rnd(
int len)
43 int max = rnd(1, len);
44 for (
int i = 0; i < max; i++)
45 res += (
char)rnd(
'a',
'z');
49 static inline bool rnd(
double prob)
51 return (rnd(0, 100) < prob*100) ?
true :
false;
58 std::string datafile(
const std::string& fname);
60 std::unique_ptr<File> open_test_data(
const char* filename,
File::Encoding type);
62 BinaryMessage read_rawmsg(
const char* filename,
File::Encoding type);
65 struct TestRecordValEqual
71 bool with_missing_int;
74 : actual(actual), expected(expected), name(name), with_missing_int(with_missing_int) {}
79 struct TestRecordVarsEqual
91 struct ActualRecord :
public wreport::tests::Actual<const dballe::Record&>
96 TestRecordValEqual equals(
const Record& expected,
const char* name) {
return TestRecordValEqual(this->actual, expected, name); }
97 TestRecordValEqual equals_with_missing_int(
const Record& expected,
const char* name)
99 return TestRecordValEqual(this->actual, expected, name,
true);
102 void vars_equal(
const Record& expected)
const { vars_equal(
Values(expected)); }
105 void vars_equal(
const Values& expected)
const;
109 void set_record_from_string(
Record& rec,
const std::string& s);
110 std::unique_ptr<Record> record_from_string(
const std::string& s);
111 std::unique_ptr<Query> query_from_string(
const std::string& s);
112 core::Query core_query_from_string(
const std::string& s);
116 using Actual::Actual;
118 void operator==(
int expected)
const;
119 void operator!=(
int expected)
const;
124 using wreport::tests::actual;
128 inline ActualCString actual(
const dballe::Ident& ident) {
return ActualCString(ident); }
Encoding
Supported encodings.
Definition: file.h:20
Key/value store where keys are strings and values are wreport variables.
Definition: record.h:16
Standard dballe::Query implementation.
Definition: core/query.h:29
Copyright (C) 2008–2010 ARPA-SIM urpsim@smr.arpa.emr.it
Definition: cmdline.h:17
A station identifier, that can be any string (including the empty string) or a missing value...
Definition: core/defs.h:19
Definition: core/tests.h:91
Definition: core/tests.h:114