11 #include "eckit/testing/Test.h"
12 #include "eckit/types/FloatCompare.h"
21 using namespace eckit::testing;
22 using eckit::types::is_approximately_equal;
26 CASE(
"EQ_BOXLAT and EQ_BOXLON") {
64 const std::string sql = std::string(
"select eq_boxlat(lat,lon,10.5), eq_boxlon(lat,lon,10.5) ") +
65 "from \"" +
f.path() +
"\";";
67 const double eps = 7.e-6;
73 EXPECT(is_approximately_equal((*it)[0], 47.134066345052e0, eps));
74 EXPECT((*it)[1] == 0);
78 EXPECT(is_approximately_equal((*it)[0], 87.03598391, eps));
79 EXPECT((*it)[1] == 0);
83 EXPECT(is_approximately_equal((*it)[0], -87.03598391, eps));
84 EXPECT((*it)[1] == 0);
88 EXPECT(is_approximately_equal((*it)[0], -47.13406635, eps));
89 EXPECT(is_approximately_equal((*it)[1], -93.91304348, eps));
93 EXPECT(it ==
oda.end());
97 CASE(
"RGG_BOXLAT and RGG_BOXLON") {
135 const std::string sql = std::string(
"select rgg_boxlat(lat,lon,31), rgg_boxlon(lat,lon,31) ") +
136 "from \"" +
f.path() +
"\";";
138 const double eps = 7.e-6;
144 EXPECT(is_approximately_equal((*it)[0], 47.06964206, eps));
145 EXPECT((*it)[1] == 0);
149 EXPECT(is_approximately_equal((*it)[0], 85.76058712, eps));
150 EXPECT((*it)[1] == 180);
154 EXPECT(is_approximately_equal((*it)[0], -85.76058712, eps));
155 EXPECT((*it)[1] == 0);
159 EXPECT(is_approximately_equal((*it)[0], -47.06964206, eps));
160 EXPECT((*it)[1] == -90);
164 EXPECT(it ==
oda.end());
170 int main(
int argc,
char* argv[]) {
171 return run_tests(argc, argv);
void setNumberOfColumns(size_t n)
int setColumn(size_t index, const std::string &name, api::ColumnType type)
int main(int argc, char *argv[])
CASE("EQ_BOXLAT and EQ_BOXLON")