18 {
"h5parm",
"test.h5"},
25 template <
class DdeStep>
27 bool keep_model_data) {
31 if (keep_model_data) parset.
add(
"keepmodel",
"true");
33 auto bdaddecal = std::make_shared<DdeStep>(parset,
"");
37 const std::map<std::string, dp3::base::Direction>& directions =
38 bdaddecal->getInfoOut().GetDirections();
39 if (keep_model_data) {
40 BOOST_TEST_REQUIRE(directions.size() == 1);
41 BOOST_TEST(directions.begin()->first ==
44 BOOST_TEST_REQUIRE(directions.empty());
48 template <
class DdeStep>
50 bool keep_model_data) {
51 const std::vector<std::string> kReusePatterns = {
52 "[dir3,dir1,dir2]",
"[*]",
"[d?r?]",
"[dir1]",
"[*2]",
"[???3]"};
55 const std::vector<std::string> kAllDirections = {
60 const std::vector<std::vector<std::string>> kRemainingDirections = {
61 {}, {}, {}, {
"dir2",
"dir3"}, {
"dir1",
"dir3"}, {
"dir1",
"dir2"}};
65 for (std::size_t i = 0; i < kReusePatterns.size(); ++i) {
67 parset.
add(
"keepmodel", keep_model_data ?
"true" :
"false");
68 parset.
add(
"reusemodel", kReusePatterns[i]);
71 std::map<std::string, dp3::base::Direction>& input_directions =
77 auto bdaddecal = std::make_shared<DdeStep>(parset,
"");
79 bdaddecal->updateInfo(info_in);
81 const std::map<std::string, dp3::base::Direction>& output_directions =
82 bdaddecal->getInfoOut().GetDirections();
83 const std::vector<std::string>& expected_directions =
84 keep_model_data ? kAllDirections : kRemainingDirections[i];
86 BOOST_TEST_REQUIRE(output_directions.size() == expected_directions.size());
87 auto output_direction = output_directions.begin();
88 for (
const std::string& expected_direction : expected_directions) {
89 BOOST_TEST(output_direction->first == expected_direction);
General info about DP3 data processing attributes like averaging.
Definition: DPInfo.h:35
const std::map< std::string, Direction > & GetDirections() const
Definition: DPInfo.h:288
Implements a map of Key-Value pairs.
Definition: ParameterSet.h:31
std::vector< std::string > unusedKeys() const
Definition: ParameterSet.h:788
void add(const std::string &aKey, const std::string &aValue)
Definition: ParameterSet.h:431
Abstract base class for a DP3 step.
Definition: Step.h:52
void setInfo(const base::DPInfo &)
const base::DPInfo & getInfoOut() const
Get access to the info of the output.
Definition: Step.h:110
Definition: tDdeCalCommon.h:8
void TestInfoDirectionsWithoutReuse(dp3::steps::Step &reader, bool keep_model_data)
Definition: tDdeCalCommon.h:26
void TestInfoDirectionsWithReuse(dp3::steps::Step &reader, bool keep_model_data)
Definition: tDdeCalCommon.h:49
const std::string kPredictSkymodel
MS name for the predict tests.
Definition: tPredict.h:17
const std::string kPredictDirection
Definition: tPredict.h:19
dp3::common::ParameterSet CreateParameterSet(const std::vector< std::pair< std::string, std::string >> ¶meters)
A direction on the celestial sphere.
Definition: Direction.h:15