File: read_measurements.cc

package info (click to toggle)
purify 5.0.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 186,836 kB
  • sloc: cpp: 17,731; python: 510; xml: 182; makefile: 7; sh: 6
file content (75 lines) | stat: -rw-r--r-- 2,466 bytes parent folder | download
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
64
65
66
67
68
69
70
71
72
73
74
75
#include "purify/config.h"
#include "purify/types.h"
#include "catch2/catch_all.hpp"
#include "purify/logging.h"

#include <iostream>
#include "purify/directories.h"
#include "purify/read_measurements.h"

using namespace purify;

TEST_CASE("mkdir") {
  const std::string dirs = "test/mkdir/recursive";
  const std::string path = output_filename(dirs);
  CAPTURE(path);
  mkdir_recursive(path);
  REQUIRE(read_measurements::dir_exists(path));
}

TEST_CASE("uvfits") {
  purify::logging::set_level("debug");
  const std::string filename = atca_filename("0332-391");
  SECTION("one") {
    SECTION("uvfits") {
      const auto uvfits = read_measurements::read_measurements(filename + ".uvfits");
      CHECK(uvfits.size() == 245886);
    }
    SECTION("vis") {
      const auto vis = read_measurements::read_measurements(filename + ".vis", false, stokes::I,
                                                            utilities::vis_units::radians);
      CHECK(vis.units == utilities::vis_units::radians);
      CHECK(vis.size() == 245886);
    }
  }
  SECTION("two") {
    SECTION("uvfits") {
      const auto uvfits = read_measurements::read_measurements(
          std::vector<std::string>{filename + ".uvfits", filename + ".uvfits"});
      CHECK(uvfits.size() == 245886 * 2);
    }
    SECTION("vis") {
      const auto vis = read_measurements::read_measurements(
          std::vector<std::string>{filename + ".vis", filename + ".vis"});
      CHECK(vis.units == utilities::vis_units::lambda);
      CHECK(vis.size() == 245886 * 2);
    }
    SECTION("vis_uvfits") {
      CHECK_THROWS(read_measurements::read_measurements(
          std::vector<std::string>{filename + ".vis", filename + ".uvfits"}));
    }
  }
  SECTION("otherformat") {
    CHECK_THROWS(read_measurements::read_measurements(filename + ".format"));
  }
  SECTION("ms") {
    SECTION("one") {
#ifdef PURIFY_CASACORE
      const auto ms = read_measurements::read_measurements(filename + ".ms");
      CHECK(ms.size() == 245994);
#else
      CHECK_THROWS(read_measurements::read_measurements(filename + ".ms"));
#endif
    }
    SECTION("two") {
#ifdef PURIFY_CASACORE
      const auto ms = read_measurements::read_measurements(
          std::vector<std::string>{filename + ".ms", filename + ".ms"});
      CHECK(ms.size() == 245994 * 2);
#else
      CHECK_THROWS(read_measurements::read_measurements(
          std::vector<std::string>{filename + ".ms", filename + ".ms"}));
#endif
    }
  }
}