24 #include "cheetah/data/test/FrequencyTimeTest.h" 25 #include "cheetah/data/FrequencyTime.h" 26 #include "cheetah/data/Units.h" 27 #include "cheetah/data/test_utils/FrequencyTimeTester.h" 28 #include "cheetah/utils/ModifiedJulianClock.h" 29 #include <boost/units/systems/si/prefixes.hpp> 38 FrequencyTimeTest::FrequencyTimeTest()
43 FrequencyTimeTest::~FrequencyTimeTest()
47 void FrequencyTimeTest::SetUp()
51 void FrequencyTimeTest::TearDown()
55 TEST_F(FrequencyTimeTest, test_copy)
58 data::DimensionSize<data::Time> number_of_spectra(24U);
59 data::DimensionSize<data::Frequency> number_of_channels(5U);
61 data::FrequencyTime<Cpu, uint8_t> ft(number_of_channels, number_of_spectra);
62 auto f1 = data::FrequencyTime<Cpu, uint8_t>::FrequencyType(5.0 * boost::units::si::hertz);
63 auto f2 = data::FrequencyTime<Cpu, uint8_t>::FrequencyType(12.0 * boost::units::si::hertz);
64 auto delta = (f2 - f1)/ (
double)number_of_channels;
65 ft.set_channel_frequencies_const_width( f1, delta );
66 data::FrequencyTime<Cpu, uint16_t> ft2(ft);
67 ASSERT_EQ(ft2.number_of_channels(), ft.number_of_channels());
68 ASSERT_EQ(ft2.number_of_spectra(), ft.number_of_spectra());
69 ASSERT_EQ(ft2.channel_frequencies().size(), ft.channel_frequencies().size());
70 for(std::size_t i = 0U; i < number_of_channels; ++i) {
71 ASSERT_EQ(ft2.channel_frequencies()[i], ft.channel_frequencies()[i]);
76 typedef ::testing::Types<FrequencyTimeTesterTraits<data::FrequencyTime<Cpu, uint8_t>>
77 ,FrequencyTimeTesterTraits<data::FrequencyTime<Cpu, float>>> FrequencyTimeDataTypes;
78 INSTANTIATE_TYPED_TEST_CASE_P(TimeFrequenceyTests, FrequencyTimeTester, FrequencyTimeDataTypes);
81 static_assert(pss::astrotypes::has_dimensions<FrequencyTime<Cpu, uint8_t>, data::Frequency, data::Time>::value,
"expecting true");
82 static_assert(pss::astrotypes::has_exact_dimensions<FrequencyTime<Cpu, float>, data::Frequency, data::Time>::value,
"expecting true");
83 static_assert(!pss::astrotypes::has_exact_dimensions<FrequencyTime<Cpu, uint8_t>, data::Time, data::Frequency>::value,
"expecting false");
Some limits and constants for FLDO.