8 #ifndef TEST_UFO_VARIABLES_H_
9 #define TEST_UFO_VARIABLES_H_
16 #define ECKIT_TESTING_SELF_REGISTER_CASES 0
18 #include "eckit/config/LocalConfiguration.h"
19 #include "eckit/testing/Test.h"
20 #include "oops/base/Variables.h"
21 #include "oops/runs/Test.h"
22 #include "test/TestEnvironment.h"
32 std::vector<eckit::LocalConfiguration>
conf;
33 ::test::TestEnvironment::config().get(
"test variables",
conf);
34 for (std::size_t jj = 0; jj <
conf.size(); ++jj) {
38 std::vector<std::string> refvars(
conf[jj].getStringVector(
"reference names"));
39 const std::string refgroup =
conf[jj].getString(
"reference group");
41 EXPECT(var.
size() == refvars.size());
42 EXPECT(var.
group() == refgroup);
43 for (std::size_t jvar = 0; jvar < var.
size(); ++jvar) {
44 EXPECT(var.
variable(jvar) == refvars[jvar]);
51 std::vector<eckit::LocalConfiguration>
conf;
52 ::test::TestEnvironment::config().get(
"oops variables",
conf);
53 for (std::size_t jj = 0; jj <
conf.size(); ++jj) {
55 oops::Variables oopsvars(
conf[jj],
"variables");
57 std::vector<std::string> refvars(
conf[jj].getStringVector(
"reference names"));
61 EXPECT(vars.nvars() == refvars.size());
62 for (std::size_t jvar = 0; jvar < vars.nvars(); ++jvar) {
63 EXPECT(vars.variable(jvar).variable() == refvars[jvar]);
73 for (
size_t jj = 0; jj < vars.nvars(); ++jj) {
74 if (vars.variable(jj).variable() == var.
variable() &&
75 vars.variable(jj).group() == var.
group()) found =
true;
86 vars +=
Variable(
"Velocity@ObsFunction");
87 vars +=
Variable(
"latitude@MetaData");
88 vars +=
Variable(
"temperature@ObsValue");
89 vars +=
Variable(
"longitude@MetaData");
91 Variables res = vars.allFromGroup(
"ObsValue");
92 oops::Log::info() << res << std::endl;
94 EXPECT(res.size() == 3);
104 vars +=
Variable(
"latitude@MetaData");
105 vars +=
Variable(
"longitude@MetaData");
110 vars +=
Variable(
"Velocity@ObsFunction");
123 std::string
testid()
const override {
return "ufo::test::Variables";}
126 std::vector<eckit::testing::Test>& ts = eckit::testing::specification();
128 ts.emplace_back(
CASE(
"ufo/Variables/testVariable")
131 ts.emplace_back(
CASE(
"ufo/Variables/testConstructor")
134 ts.emplace_back(
CASE(
"ufo/Variables/testAllFromGroup")
137 ts.emplace_back(
CASE(
"ufo/Variables/testHasGroup")
149 #endif // TEST_UFO_VARIABLES_H_