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