24 #include "cheetah/data/test/TimeFrequencyTest.h" 25 #include "cheetah/data/TimeFrequency.h" 26 #include "cheetah/data/Units.h" 27 #include "cheetah/data/test_utils/TimeFrequencyTester.h" 28 #include "cheetah/utils/ModifiedJulianClock.h" 29 #include <boost/units/systems/si/prefixes.hpp> 38 TimeFrequencyTest::TimeFrequencyTest()
43 TimeFrequencyTest::~TimeFrequencyTest()
47 void TimeFrequencyTest::SetUp()
51 void TimeFrequencyTest::TearDown()
55 TEST_F(TimeFrequencyTest, test_copy)
58 data::DimensionSize<data::Time> number_of_spectra(1U);
59 data::DimensionSize<data::Frequency> number_of_channels(5U);
61 data::TimeFrequency<Cpu, uint8_t> tf(number_of_spectra, number_of_channels);
62 auto f1 = data::TimeFrequency<Cpu, uint8_t>::FrequencyType(5.0 * boost::units::si::hertz);
63 auto f2 = data::TimeFrequency<Cpu, uint8_t>::FrequencyType(12.0 * boost::units::si::hertz);
64 auto delta = (f2 - f1)/ (
double)number_of_channels;
66 tf.set_channel_frequencies_const_width( f1, delta );
67 data::TimeFrequency<Cpu, uint8_t> tf2(tf);
69 ASSERT_EQ(tf2.number_of_channels(), tf.number_of_channels());
70 ASSERT_EQ(tf2.number_of_spectra(), tf.number_of_spectra());
71 ASSERT_EQ(tf2.channel_frequencies().size(), tf.channel_frequencies().size());
72 for(std::size_t i = 0U; i < number_of_channels; ++i) {
73 ASSERT_EQ(tf2.channel_frequencies()[i], tf.channel_frequencies()[i]);
78 typedef ::testing::Types<TimeFrequencyTesterTraits<data::TimeFrequency<Cpu, uint8_t>>
79 ,TimeFrequencyTesterTraits<data::TimeFrequency<Cpu, float>>> TimeFrequencyDataTypes;
80 INSTANTIATE_TYPED_TEST_CASE_P(TimeFrequenceyTests, TimeFrequencyTester, TimeFrequencyDataTypes);
83 static_assert(pss::astrotypes::has_dimensions<TimeFrequency<Cpu, uint8_t>, data::Time, data::Frequency>::value,
"expecting true");
84 static_assert(pss::astrotypes::has_exact_dimensions<TimeFrequency<Cpu, uint8_t>, data::Time, data::Frequency>::value,
"expecting true");
85 static_assert(!pss::astrotypes::has_exact_dimensions<TimeFrequency<Cpu, uint8_t>, data::Frequency, data::Time>::value,
"expecting false");
Some limits and constants for FLDO.