24 #include "cheetah/sps/test/RfiExcisionFactoryTest.h" 25 #include "cheetah/sps/RfiExcisionConfig.h" 26 #include "cheetah/data/TimeFrequency.h" 27 #include "cheetah/data/RfimFlaggedData.h" 35 RfiExcisionFactoryTest::RfiExcisionFactoryTest()
40 RfiExcisionFactoryTest::~RfiExcisionFactoryTest()
44 void RfiExcisionFactoryTest::SetUp()
48 void RfiExcisionFactoryTest::TearDown()
52 TEST_F(RfiExcisionFactoryTest, test_returned_flagged_data_iterator)
54 std::shared_ptr<data::TimeFrequency<Cpu, uint8_t>> data_ptr(
new data::TimeFrequency<Cpu, uint8_t>(data::DimensionSize<data::Time>(1000), data::DimensionSize<data::Frequency>(10)));
55 data::RfimFlaggedData<data::TimeFrequency<Cpu, uint8_t>> flagged_data(data::DimensionSize<data::Time>(1000), data::DimensionSize<data::Frequency>(10));
56 RfiExcisionConfig config;
57 RfiExcisionFactory<data::TimeFrequency<Cpu, uint8_t>> it_factory(config);
58 auto it = it_factory.begin(flagged_data);
59 RfiExcision<data::TimeFrequency<Cpu, uint8_t>, decltype(flagged_data)> it1(flagged_data, 0, 7.0, 5.0,
false);
60 ASSERT_TRUE(it1 == it);
61 auto it_end = it_factory.end(flagged_data);
62 RfiExcision<data::TimeFrequency<Cpu, uint8_t>, decltype(flagged_data)> it1_end(flagged_data, 10000, 7.0, 5.0,
false);
63 ASSERT_TRUE(it1_end == it_end);
66 TEST_F(RfiExcisionFactoryTest, test_returned_tf_data_iterator)
68 data::TimeFrequency<Cpu, uint8_t> data(data::DimensionSize<data::Time>(100),data::DimensionSize<data::Frequency>(1024));
69 RfiExcisionConfig config;
70 RfiExcisionFactory<decltype(data)> it_factory(config);
71 auto it = it_factory.begin(data);
72 auto it_end = it_factory.end(data);
73 ASSERT_EQ(data.begin(), it);
74 ASSERT_EQ(data.end(), it_end);
77 TEST_F(RfiExcisionFactoryTest, test_returned_const_tf_data_iterator)
79 const data::TimeFrequency<Cpu, uint8_t> data(data::DimensionSize<data::Time>(100),data::DimensionSize<data::Frequency>(1024));
80 RfiExcisionConfig config;
81 RfiExcisionFactory<decltype(data)> it_factory(config);
82 auto it = it_factory.begin(data);
83 auto it_end = it_factory.end(data);
84 ASSERT_EQ(data.begin(), it);
85 ASSERT_EQ(data.end(), it_end);
88 TEST_F(RfiExcisionFactoryTest, test_correct_returned_value)
90 std::shared_ptr<data::TimeFrequency<Cpu, uint8_t>> data_ptr(
new data::TimeFrequency<Cpu, uint8_t>(data::DimensionSize<data::Time>(16), data::DimensionSize<data::Frequency>(8)));
92 std::generate((*data_ptr).begin(),(*data_ptr).end(),[&](){
return ++n;});
93 data::RfimFlaggedData<data::TimeFrequency<Cpu, uint8_t>> flagged_data((*data_ptr));
95 flagged_data.rfi_flags().reset(
false);
96 RfiExcision<data::TimeFrequency<Cpu, uint8_t>, decltype(flagged_data)> it(flagged_data, 0, 7.0, 5.0,
false);
98 auto data_it = flagged_data.tf_data().begin();
101 for (std::uint32_t ii=0; ii < 127; ++ii)
105 ASSERT_EQ(*it, *data_it);
109 TEST_F(RfiExcisionFactoryTest, test_end_iterator)
111 std::shared_ptr<data::TimeFrequency<Cpu, uint8_t>> data_ptr(
new data::TimeFrequency<Cpu, uint8_t>(data::DimensionSize<data::Time>(1000), data::DimensionSize<data::Frequency>(10)));
112 std::fill((*data_ptr).begin(), (*data_ptr).end(), 1U);
113 RfiExcisionConfig config;
114 data::RfimFlaggedData<data::TimeFrequency<Cpu, uint8_t>> flagged_data((*data_ptr));
115 RfiExcisionFactory<data::TimeFrequency<Cpu, uint8_t>> it_factory(config);
116 auto it = it_factory.end(flagged_data);
118 RfiExcision<data::TimeFrequency<Cpu, uint8_t>,decltype(flagged_data)> it2(flagged_data, flagged_data.tf_data().data_size(), 7.0, 5.0,
false);
Some limits and constants for FLDO.