1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
#include "catch2/catch_all.hpp"
#include "purify/config.h"
#include "purify/types.h"
#include "purify/logging.h"
#include "purify/read_measurements.h"
#include "purify/directories.h"
#include "purify/h5reader.h"
#include <vector>
using namespace purify;
TEST_CASE("Purify H5 reader", "[HDF5]") {
H5::H5Handler f(atca_filename("0332-391.h5"));
const std::vector<double> u = f.read("u");
const std::vector<double> v = f.read("v");
const std::vector<double> w = f.read("w");
const std::vector<double> re = f.read("re");
const std::vector<double> im = f.read("im");
const std::vector<double> sigma = f.read("sigma");
CAPTURE(u.size());
CAPTURE(v.size());
CAPTURE(w.size());
CAPTURE(re.size());
CAPTURE(im.size());
CAPTURE(sigma.size());
const bool pass = u.size() > 0 && u.size() == v.size() && u.size() == w.size() &&
u.size() == re.size() && u.size() == im.size() && u.size() == sigma.size();
CHECK(pass);
}
TEST_CASE("Purify H5 writer", "[HDF5]") {
const auto uvfits = read_measurements::read_measurements(atca_filename("0332-391.uvfits"));
H5::write_visibility(uvfits, "test-h5.h5", false);
H5::H5Handler f("test-h5.h5");
const std::vector<double> u = f.read("u");
const std::vector<double> v = f.read("v");
// const std::vector<double> w = f.read("w");
const std::vector<double> re = f.read("re");
const std::vector<double> im = f.read("im");
const std::vector<double> sigma = f.read("sigma");
CAPTURE(u.size());
CAPTURE(v.size());
// CAPTURE(w.size());
CAPTURE(re.size());
CAPTURE(im.size());
CAPTURE(sigma.size());
const bool pass = u.size() == uvfits.u.size() &&
u.size() == v.size() && /*u.size() == w.size() &&*/
u.size() == re.size() && u.size() == im.size() && u.size() == sigma.size();
CHECK(pass);
}
|