@@ -110,10 +110,26 @@ TEST_CASE("utilities [read_write_vis]", "[read_write_vis]") {
110
110
CHECK (new_random_uv_data.weights .isApprox (random_uv_data.weights , 1e-8 ));
111
111
}
112
112
TEST_CASE (" read_mutiple_vis" ) {
113
- std::string vis_file = vla_filename (" at166B.3C129.c0.vis" );
114
- SECTION (" one file" ) {
115
- const std::vector<std::string> names = {vis_file};
116
- const auto uv_data = utilities::read_visibility (vis_file);
113
+ std::string csv_file = vla_filename (" at166B.3C129.c0.vis" );
114
+ std::string h5_file = atca_filename (" 0332-391.h5" );
115
+ SECTION (" one csv file" ) {
116
+ const std::vector<std::string> names = {csv_file};
117
+ const auto uv_data = utilities::read_visibility (csv_file);
118
+ const auto uv_multi = utilities::read_visibility (names);
119
+ CAPTURE (names.size ());
120
+ CAPTURE (uv_data.size ());
121
+ CHECK (uv_data.size () * names.size () == uv_multi.size ());
122
+ for (int i = 0 ; i < names.size (); i++) {
123
+ CHECK (uv_data.u .isApprox (uv_multi.u .segment (i * uv_data.size (), uv_data.size ())));
124
+ CHECK (uv_data.v .isApprox (uv_multi.v .segment (i * uv_data.size (), uv_data.size ())));
125
+ CHECK (uv_data.w .isApprox (uv_multi.w .segment (i * uv_data.size (), uv_data.size ())));
126
+ CHECK (uv_data.vis .isApprox (uv_multi.vis .segment (i * uv_data.size (), uv_data.size ())));
127
+ CHECK (uv_data.weights .isApprox (uv_multi.weights .segment (i * uv_data.size (), uv_data.size ())));
128
+ }
129
+ }
130
+ SECTION (" many csv files" ) {
131
+ const std::vector<std::string> names = {csv_file, csv_file, csv_file};
132
+ const auto uv_data = utilities::read_visibility (csv_file);
117
133
const auto uv_multi = utilities::read_visibility (names);
118
134
CAPTURE (names.size ());
119
135
CAPTURE (uv_data.size ());
@@ -126,12 +142,17 @@ TEST_CASE("read_mutiple_vis") {
126
142
CHECK (uv_data.weights .isApprox (uv_multi.weights .segment (i * uv_data.size (), uv_data.size ())));
127
143
}
128
144
}
129
- SECTION (" many files " ) {
130
- const std::vector<std::string> names = {vis_file, vis_file, vis_file };
131
- const auto uv_data = utilities::read_visibility (vis_file );
145
+ SECTION (" one HDF5 file " ) {
146
+ const std::vector<std::string> names = {h5_file };
147
+ const auto uv_data = utilities::read_visibility (h5_file );
132
148
const auto uv_multi = utilities::read_visibility (names);
133
149
CAPTURE (names.size ());
134
150
CAPTURE (uv_data.size ());
151
+ CAPTURE (uv_data.u .size ());
152
+ CAPTURE (uv_data.v .size ());
153
+ CAPTURE (uv_data.w .size ());
154
+ CAPTURE (uv_data.vis .size ());
155
+ CAPTURE (uv_data.weights .size ());
135
156
CHECK (uv_data.size () * names.size () == uv_multi.size ());
136
157
for (int i = 0 ; i < names.size (); i++) {
137
158
CHECK (uv_data.u .isApprox (uv_multi.u .segment (i * uv_data.size (), uv_data.size ())));
0 commit comments