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 class FragmentGeneratorTest; 00009 } 00010 00011 class artdaqtest::FragmentGeneratorTest : 00012 public artdaq::FragmentGenerator { 00013 public: 00014 FragmentGeneratorTest(); 00015 bool getNext(artdaq::FragmentPtrs & output) override { 00016 return getNext_(output); 00017 } 00018 std::vector<artdaq::Fragment::fragment_id_t> fragmentIDs() override { 00019 return fragmentIDs_(); 00020 } 00021 00022 private: 00023 bool getNext_(artdaq::FragmentPtrs &); 00024 std::vector<artdaq::Fragment::fragment_id_t> fragmentIDs_(); 00025 }; 00026 00027 artdaqtest::FragmentGeneratorTest::FragmentGeneratorTest() 00028 00029 : 00030 FragmentGenerator() 00031 { 00032 } 00033 00034 bool 00035 artdaqtest::FragmentGeneratorTest::getNext_(artdaq::FragmentPtrs & frags) 00036 { 00037 frags.emplace_back(new artdaq::Fragment); 00038 return true; 00039 } 00040 00041 std::vector<artdaq::Fragment::fragment_id_t> 00042 artdaqtest::FragmentGeneratorTest:: 00043 fragmentIDs_() 00044 { 00045 return { 1 }; 00046 } 00047 00048 BOOST_AUTO_TEST_SUITE(FragmentGenerator_t) 00049 00050 BOOST_AUTO_TEST_CASE(Simple) 00051 { 00052 artdaqtest::FragmentGeneratorTest testGen; 00053 artdaq::FragmentGenerator & baseGen(testGen); 00054 artdaq::FragmentPtrs fps; 00055 baseGen.getNext(fps); 00056 BOOST_REQUIRE_EQUAL(fps.size(), 1u); 00057 } 00058 00059 BOOST_AUTO_TEST_SUITE_END()