24 #include "cheetah/exporters/test/SpCandidateDataStreamerTest.h" 25 #include "cheetah/exporters//SpCandidateDataStreamer.h" 26 #include "cheetah/utils/JulianClock.h" 27 #include "panda/test/TestDir.h" 36 template<
typename TimeFrequencyType>
37 SpCandidateDataStreamerTest<TimeFrequencyType>::SpCandidateDataStreamerTest()
42 TYPED_TEST(SpCandidateDataStreamerTest, test_write)
44 typedef TypeParam TimeFrequencyType;
45 typedef data::SpCandidateData<TimeFrequencyType> DataType;
46 typedef typename DataType::CandidateType CandidateType;
47 typedef typename CandidateType::Dm Dm;
48 typedef typename CandidateType::MsecTimeType MsecTimeType;
49 typedef typename CandidateType::Duration Duration;
51 typename utils::ModifiedJulianClock::time_point start_time(utils::julian_day(58179.0000000));
54 CandidateType cand1( Dm(12.0 * data::parsecs_per_cube_cm)
56 , MsecTimeType(0.001 * boost::units::si::seconds)
57 , Duration(0.003 * boost::units::si::seconds)
62 SpCandidateDataStreamerConfig config;
64 panda::test::TestDir tmp_dir;
65 ASSERT_NO_THROW(tmp_dir.create());
66 config.dir(tmp_dir.dir_name());
70 std::shared_ptr<TimeFrequencyType> block = std::make_shared<TimeFrequencyType>(data::DimensionSize<data::Time>(1000)
71 ,data::DimensionSize<data::Frequency>(10));
72 block->start_time(start_time);
76 for(
unsigned i=0; i<3; ++i) {
77 data.add(CandidateType(cand1));
81 exporters::SpCandidateDataStreamer<TimeFrequencyType> writer(config);
85 auto it = boost::filesystem::directory_iterator(tmp_dir.path());
86 ASSERT_FALSE(it == boost::filesystem::directory_iterator());
87 boost::filesystem::path file = *it;
88 ASSERT_EQ(file.extension().string(),
".spccl");
89 ASSERT_EQ(file.stem().string(),
"2018_03_02_00:00:00");
Some limits and constants for FLDO.