24 #include "cheetah/sigproc/test/SigProcHeaderTest.h" 25 #include "cheetah/sigproc/SigProcHeader.h" 26 #include "cheetah/utils/chrono.h" 27 #include "cheetah/data/Units.h" 37 SigProcHeaderTest::SigProcHeaderTest()
42 SigProcHeaderTest::~SigProcHeaderTest()
46 void SigProcHeaderTest::SetUp()
50 void SigProcHeaderTest::TearDown()
55 SigProcHeader save_restore(SigProcHeader
const& h)
64 TEST_F(SigProcHeaderTest, number_of_channels)
67 ASSERT_EQ(0, h.number_of_channels());
68 h.number_of_channels(332);
69 ASSERT_EQ(332, h.number_of_channels());
70 SigProcHeader h2 = save_restore(h);
71 ASSERT_EQ(h2.number_of_channels(), h.number_of_channels());
74 ASSERT_EQ(0, h.number_of_channels());
77 TEST_F(SigProcHeaderTest, number_of_bits)
80 ASSERT_EQ(0, h.number_of_bits());
82 ASSERT_EQ(32, h.number_of_bits());
83 SigProcHeader h2 = save_restore(h);
84 ASSERT_EQ(h2.number_of_bits(), h.number_of_bits());
86 ASSERT_EQ(0, h.number_of_bits());
89 TEST_F(SigProcHeaderTest, test_start_time)
91 utils::TimePoint<utils::ModifiedJulianClock> epoch(utils::julian_day(0));
92 utils::TimePoint<utils::ModifiedJulianClock> t(utils::julian_day(12));
94 ASSERT_EQ(epoch, h.start_time());
96 SigProcHeader h2 = save_restore(h);
97 ASSERT_EQ(h2.start_time(), h.start_time());
98 ASSERT_EQ(t, h.start_time());
100 ASSERT_EQ(epoch, h.start_time());
103 TEST_F(SigProcHeaderTest, test_sample_interval)
105 SigProcHeader::TimeType zero = SigProcHeader::TimeType::from_value(0.0);
106 SigProcHeader::TimeType t = SigProcHeader::TimeType::from_value(20.0);
108 ASSERT_EQ(zero, h.sample_interval());
109 h.sample_interval(t);
110 SigProcHeader h2 = save_restore(h);
111 ASSERT_EQ(h2.sample_interval(), h.sample_interval());
112 ASSERT_EQ(t, h.sample_interval());
114 ASSERT_EQ(zero, h.sample_interval());
117 TEST_F(SigProcHeaderTest, test_source_name)
119 std::string s(
"abc");
123 ASSERT_FALSE(h.source_name().is_set());
125 ASSERT_EQ(s, *h.source_name());
126 SigProcHeader h2 = save_restore(h);
127 ASSERT_EQ(h2.source_name(), h.source_name());
129 ASSERT_FALSE(h.source_name().is_set());
132 TEST_F(SigProcHeaderTest, test_size)
135 std::stringstream ss;
141 ASSERT_EQ(r.size(), ss.str().size());
142 ASSERT_EQ(r.size(), h.size());
145 TEST_F(SigProcHeaderTest, test_frequency_array)
147 typedef typename SigProcHeader::FrequencyType FrequencyType;
148 std::vector<FrequencyType> channel_frequencies { FrequencyType(1.5 * data::hz), FrequencyType( 2.0 * data::hz) };
151 h.frequency_channels(channel_frequencies);
152 ASSERT_EQ(h.frequency_channels(), channel_frequencies);
154 std::stringstream ss;
160 ASSERT_EQ(h.frequency_channels(), r.frequency_channels());
161 ASSERT_EQ(channel_frequencies.size(), (unsigned)h.number_of_channels());
162 ASSERT_EQ(channel_frequencies.size(), (unsigned)r.number_of_channels());
165 ASSERT_EQ(0U, h.frequency_channels().size());
Some limits and constants for FLDO.