24 #include "../HeaderTest.h"
25 #include "../SigProcTestFile.h"
33 namespace astrotypes {
74 ASSERT_EQ(r.
size(), ss.str().size());
82 ASSERT_EQ(read_header, header);
89 ASSERT_TRUE(header1 == header2);
90 ASSERT_FALSE(header1 != header2);
104 ASSERT_TRUE(h == h2);
105 ASSERT_FALSE(h != h2);
107 ASSERT_FALSE(h == h2);
122 ASSERT_TRUE(h == h2);
123 ASSERT_FALSE(h != h2);
130 std::string s(
"abc");
139 ASSERT_TRUE(h == h2);
140 ASSERT_FALSE(h != h2);
154 ASSERT_TRUE(h == h2);
155 ASSERT_FALSE(h != h2);
169 ASSERT_TRUE(h == h2);
170 ASSERT_FALSE(h != h2);
177 std::string s(
"abc");
186 ASSERT_TRUE(h == h2);
187 ASSERT_FALSE(h != h2);
194 boost::units::quantity<units::Degree, double> angle(150 * units::degrees);
202 ASSERT_EQ(h2.az_start(), h.
az_start());
203 ASSERT_TRUE(h == h2);
204 ASSERT_FALSE(h != h2);
211 boost::units::quantity<units::Degree, double> angle(150 * units::degrees);
219 ASSERT_EQ(h2.za_start(), h.
za_start());
220 ASSERT_TRUE(h == h2);
221 ASSERT_FALSE(h != h2);
234 ASSERT_TRUE(h == h2);
235 ASSERT_FALSE(h != h2);
248 ASSERT_TRUE(h == h2);
249 ASSERT_FALSE(h != h2);
264 ASSERT_TRUE(h == h2);
265 ASSERT_FALSE(h != h2);
282 ASSERT_EQ(h1, restored);
317 ASSERT_EQ(h.
tstart(), mjd);
319 ASSERT_EQ(h2.tstart(), h.
tstart());
320 ASSERT_TRUE(h == h2);
321 ASSERT_FALSE(h != h2);
327 ASSERT_TRUE(h == h2);
332 boost::units::quantity<units::Seconds, double> zero(0.0 * units::milliseconds);
333 boost::units::quantity<units::Seconds, double> t(20.0 * units::milliseconds);
340 ASSERT_TRUE(h == h2);
341 ASSERT_FALSE(h != h2);
348 boost::units::quantity<units::MegaHertz, double> freq(150 * units::megahertz);
354 ASSERT_EQ(h.
fch1(), freq);
356 ASSERT_EQ(h2.fch1(), h.
fch1());
357 ASSERT_TRUE(h == h2);
358 ASSERT_FALSE(h != h2);
365 boost::units::quantity<units::MegaHertz, double> freq(150 * units::megahertz);
371 ASSERT_EQ(h.
foff(), freq);
373 ASSERT_EQ(h2.foff(), h.
foff());
374 ASSERT_TRUE(h == h2);
375 ASSERT_FALSE(h != h2);
382 std::vector<boost::units::quantity<units::MegaHertz, double>> channels;
383 for(
double i=100.0; i < 500.0; ++i) {
384 channels.push_back( boost::units::quantity<units::MegaHertz, double>(i * units::megahertz) );
391 ASSERT_TRUE(h == h2);
392 ASSERT_FALSE(h != h2);
414 ASSERT_EQ(h.
ref_dm(), dm);
416 ASSERT_EQ(h2.ref_dm(), h.
ref_dm());
417 ASSERT_TRUE(h == h2);
418 ASSERT_FALSE(h != h2);
425 boost::units::quantity<units::Seconds, double> p(100 * units::milliseconds);
433 ASSERT_EQ(h2.period(), h.
period());
434 ASSERT_TRUE(h == h2);
444 h.
sample_interval(boost::units::quantity<units::Seconds, double>(.01768888 * units::milliseconds));
445 std::vector<boost::units::quantity<units::MegaHertz, double>> channels;
446 for(
double i=100.0; i < 140.0; ++i) {
447 channels.push_back( boost::units::quantity<units::MegaHertz, double>(i * units::megahertz) );
450 std::stringstream ss1;
451 ss1 << Header::Info() << h;
452 std::cout << ss1.str() <<
"\n";
459 std::ifstream s(test_file.
file(), std::ios::in | std::ios::binary);
461 ASSERT_EQ(header.number_of_bits(), 8U);
463 ASSERT_EQ(header.number_of_ifs(), test_file.
number_of_ifs());
471 std::vector<boost::units::quantity<units::MegaHertz, double>> channels;
472 for(
double i=100.0; i < 140.0; ++i) {
473 channels.push_back( boost::units::quantity<units::MegaHertz, double>(i * units::megahertz) );
479 ASSERT_TRUE(header1 == header2);
482 ASSERT_TRUE(header1 == header3);
TEST_F(FileReaderTest, test_filterbank_file_tf_data)
DimensionSize< units::Frequency > number_of_channels() const
boost::units::quantity< DispersionMeasureUnit, T > DispersionMeasure
ModifiedJulianClock::time_point MJD
Header save_restore(Header const &h)
A template class representing values associated with a time and frequecny such as Stokes values or vo...
bool is_set() const
if the value has been explicitly set then return true
std::size_t number_of_ifs() const