10 #define ECKIT_TESTING_SELF_REGISTER_CASES 0
19 #include "eckit/config/LocalConfiguration.h"
20 #include "eckit/testing/Test.h"
22 #include "oops/test/TestEnvironment.h"
23 #include "oops/util/Expect.h"
24 #include "oops/util/IntSetParser.h"
39 if (conf.has(
"observations"))
41 for (
const auto &obsConf : conf.getSubConfigurations(
"observations"))
43 if (obsConf.has(
"obs space") &&
44 obsConf.getSubConfiguration(
"obs space").has(
"name") &&
45 obsConf.getSubConfiguration(
"obs space").getString(
"name") ==
"bufr")
47 auto bufrConf = obsConf.getSubConfiguration(
"obs space");
50 EXPECT(description.getMnemonicSets().size() > 0);
51 EXPECT(description.getExport().getVariables().size() > 0);
55 throw eckit::BadValue(
56 "Configuration File is missing the \"bufr\" section.");
59 if (obsConf.has(
"ioda"))
61 auto iodaConf = obsConf.getSubConfiguration(
"ioda");
64 EXPECT(description.getDims().size() > 0);
65 EXPECT(description.getVariables().size() > 0);
69 throw eckit::BadValue(
70 "Configuration File is missing the \"ioda\" section.");
82 std::string
testid()
const override {
return "ingester::test::BufrParser"; }
85 std::vector<eckit::testing::Test>& ts = eckit::testing::specification();
87 ts.emplace_back(
CASE(
"ingester/BufrParser/testConstructor")
Description of the data to be read from a BUFR file and how to expose that data to the outside world.
Describes how to write data to IODA.
void register_tests() const override
BufrDescription()=default
void clear() const override
virtual ~BufrDescription()=default
std::string testid() const override
static const eckit::Configuration & config()