24 #include "cheetah/rfim/policy/test/LastUnflaggedTest.h" 25 #include "cheetah/rfim/policy/LastUnflagged.h" 26 #include "panda/CharAsInt.h" 36 LastUnflaggedTest::LastUnflaggedTest()
41 LastUnflaggedTest::~LastUnflaggedTest()
45 void LastUnflaggedTest::SetUp()
49 void LastUnflaggedTest::TearDown()
53 TEST_F(LastUnflaggedTest, test_no_marks)
55 typedef data::TimeFrequency<Cpu, uint8_t> TimeFrequencyType;
56 typedef LastUnflagged<TimeFrequencyType> PolicyType;
58 data::DimensionSize<data::Frequency> number_of_channels(10);
59 data::DimensionSize<data::Time> number_of_spectra(5);
60 std::shared_ptr<TimeFrequencyType> tf = std::make_shared<TimeFrequencyType>(number_of_channels, number_of_spectra);
61 std::iota(tf->begin(), tf->end(), 0);
65 auto adapter = policy.adapter(*tf);
70 for(
auto const& s : *tf) {
76 TEST_F(LastUnflaggedTest, test_mark_only_bad_spectra)
78 typedef uint8_t NumericalType;
79 typedef data::TimeFrequency<Cpu, NumericalType> TimeFrequencyType;
80 typedef LastUnflagged<TimeFrequencyType> PolicyType;
82 data::DimensionSize<data::Frequency> number_of_channels(10);
83 data::DimensionSize<data::Time> number_of_spectra(5);
84 std::shared_ptr<TimeFrequencyType> tf = std::make_shared<TimeFrequencyType>(number_of_channels, number_of_spectra);
85 std::iota(tf->begin(), tf->end(), 0);
88 auto adapter = policy.adapter(*tf);
89 for(data::DimensionIndex<data::Time> spectrum_number(0); spectrum_number < tf->dimension<data::Time>(); ++spectrum_number) {
90 adapter.mark_bad(tf->spectrum(spectrum_number));
94 for(
auto const& s : *tf) {
95 ASSERT_EQ(0,
static_cast<typename panda::CharAsInt<NumericalType>::type
>(s));
99 TEST_F(LastUnflaggedTest, test_mark_only_bad_channels)
101 typedef uint8_t NumericalType;
102 typedef data::TimeFrequency<Cpu, NumericalType> TimeFrequencyType;
103 typedef LastUnflagged<TimeFrequencyType> PolicyType;
105 data::DimensionSize<data::Frequency> number_of_channels(10);
106 data::DimensionSize<data::Time> number_of_spectra(5);
107 std::shared_ptr<TimeFrequencyType> tf = std::make_shared<TimeFrequencyType>(number_of_channels, number_of_spectra);
108 std::iota(tf->begin(), tf->end(), 0);
111 auto adapter = policy.adapter(*tf);
112 for(data::DimensionIndex<data::Frequency> channel_number(0); channel_number < tf->dimension<data::Frequency>(); ++channel_number) {
113 adapter.mark_bad(tf->channel(channel_number));
117 for(
auto const& s : *tf) {
118 ASSERT_EQ(0,
static_cast<typename panda::CharAsInt<NumericalType>::type
>(s));
Some limits and constants for FLDO.