00001 #define BOOST_TEST_MODULE ( FragmentGenerator_t ) 00002 #include "cetlib/quiet_unit_test.hpp" 00003 00004 #include "artdaq-core/Data/Fragment.hh" 00005 #include "artdaq-core/Generators/FragmentGenerator.hh" 00006 00007 namespace artdaqtest 00008 { 00009 class FragmentGeneratorTest; 00010 } 00011 00015 class artdaqtest::FragmentGeneratorTest : 00016 public artdaq::FragmentGenerator 00017 { 00018 public: 00019 FragmentGeneratorTest(); 00020 00021 bool getNext(artdaq::FragmentPtrs& output) override 00022 { 00023 return getNext_(output); 00024 } 00025 00026 std::vector<artdaq::Fragment::fragment_id_t> fragmentIDs() override 00027 { 00028 return fragmentIDs_(); 00029 } 00030 00031 private: 00032 bool getNext_(artdaq::FragmentPtrs&); 00033 00034 std::vector<artdaq::Fragment::fragment_id_t> fragmentIDs_(); 00035 }; 00036 00037 artdaqtest::FragmentGeneratorTest::FragmentGeneratorTest() : FragmentGenerator() {} 00038 00039 bool 00040 artdaqtest::FragmentGeneratorTest::getNext_(artdaq::FragmentPtrs& frags) 00041 { 00042 frags.emplace_back(new artdaq::Fragment); 00043 return true; 00044 } 00045 00046 std::vector<artdaq::Fragment::fragment_id_t> 00047 artdaqtest::FragmentGeneratorTest:: 00048 fragmentIDs_() 00049 { 00050 return {1}; 00051 } 00052 00053 BOOST_AUTO_TEST_SUITE(FragmentGenerator_t) 00054 00055 BOOST_AUTO_TEST_CASE(Simple) 00056 { 00057 artdaqtest::FragmentGeneratorTest testGen; 00058 artdaq::FragmentGenerator& baseGen(testGen); 00059 artdaq::FragmentPtrs fps; 00060 baseGen.getNext(fps); 00061 BOOST_REQUIRE_EQUAL(fps.size(), 1u); 00062 } 00063 00064 BOOST_AUTO_TEST_SUITE_END()