10 #define ECKIT_TESTING_SELF_REGISTER_CASES 0
18 #include "eckit/config/LocalConfiguration.h"
19 #include "eckit/testing/Test.h"
21 #include "oops/util/Expect.h"
50 return bufrParserTestFixture;
59 if (conf.has(
"observations"))
61 auto obsConf = conf.getSubConfigurations(
"observations").front();
63 if (obsConf.has(
"obs space") &&
64 obsConf.getSubConfiguration(
"obs space").has(
"name") &&
65 obsConf.getSubConfiguration(
"obs space").getString(
"name") ==
"bufr")
67 auto bufrConf = obsConf.getSubConfiguration(
"obs space");
72 throw eckit::BadValue(
73 "Configuration File is missing the \"bufr\" section.");
78 throw eckit::BadValue(
79 "Configuration File is missing the \"observations\" section.");
85 ParserFactory::registerParser<BufrParser>(
"bufr");
100 auto dataObj = data->get(
"radiance");
102 if (
auto arrayDataObject = std::dynamic_pointer_cast<ArrayDataObject>(dataObj))
104 EXPECT(abs(arrayDataObject->get()(0, 0) - 248.17) < .01);
110 bool endReached =
false;
111 std::shared_ptr<DataContainer> data;
116 if (nextData->size() > 0)
124 }
while (!endReached);
134 std::string
testid()
const override {
return "ingester::test::BufrParser"; }
137 std::vector<eckit::testing::Test>& ts = eckit::testing::specification();
139 ts.emplace_back(
CASE(
"ingester/BufrParser/testConstructor")
143 ts.emplace_back(
CASE(
"ingester/BufrParser/testParsePartialFile")
147 ts.emplace_back(
CASE(
"ingester/BufrParser/testParseFileIncrementally")
static std::shared_ptr< Parser > create(const eckit::Configuration &conf)
Create a Parser.
std::string testid() const override
void clear() const override
void register_tests() const override
~BufrParser() override=default
std::shared_ptr< Parser > bufrParser_
static std::shared_ptr< Parser > & bufrParser()
~BufrParserTestFixture()=default
static BufrParserTestFixture & getInstance()
static const eckit::Configuration & config()
void test_parsePartialFile()
void test_parseFileIncrementally()