27 CHECK(ngc3256.size() == 128,
"Not the number of channels I expected");
30 auto const channel0 = ngc3256[0];
31 CHECK(channel0.is_valid() ==
false,
"Expected channel to be invalid");
32 CHECK(channel0.raw_u().size() == 0,
"Expected raw u to be empty");
33 CHECK(channel0.lambda_u().size() == 0,
"Expected frequencies to be empty");
34 CHECK(channel0.I().size() == 0,
"Expected I component to be empty");
35 CHECK(channel0.wI().size() == 0,
"Expected weights associated with I to be empty");
38 auto const channel17 = ngc3256[17];
39 CHECK(channel17.is_valid(),
"Channel should be valid");
40 CHECK(channel17.frequencies().size() == 141059,
"Incorrect channel size");
41 CHECK(channel17.width().size() == 141059,
"Incorrect channel-width size");
42 CHECK(channel17.raw_w().size() == 141059,
"Incorrect channel size");
43 CHECK(channel17.wQ().size() == 141059,
"Incorrect channel size");
46 CHECK(std::abs(channel17.right_ascension() - 2.7395560603928995) < 1e-8,
"Right Ascension");
47 CHECK(std::abs(channel17.declination() + 0.76628680808811045) < 1e-8,
"Declination");
49 CHECK_THROWS(channel0.declination(),
"Can't figure out direction of empty channel");
52 for (
auto const &channel : ngc3256) {
53 if (not channel.is_valid())
continue;
55 CHECK(channel.channel() == 17,
"First valid channel is #17");
62 auto const filter =
"OBSERVATION_ID=1 AND DATA_DESC_ID=0";
63 auto const filtered = ngc3256[std::make_pair(17, filter)];
64 CHECK(filtered.lambda_w().size() == 6300,
"Incorrect size for filtered data");
66 for (
auto i_first = ngc3256.begin(filter); i_first != ngc3256.end(filter); ++i_first) {
67 if (not i_first->is_valid())
continue;
68 CHECK(i_first->channel() == 17,
"First valid channel is #17");
69 CHECK(i_first->V().size() == 6300,
"Incorrect size for the filtered V Stokes component");
72 }
catch (std::runtime_error
const &e) {
73 std::cerr <<
"Example did not run as expected:\n" << e.what() <<
"\n";
#define CHECK(CONDITION, ERROR)
#define CHECK_THROWS(STATEMENT, ERROR)
Interface around measurement sets.
void set_level(const std::string &level)
Method to set the logging level of the default Log object.
std::string default_logging_level()
Default logging level.