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