artdaq_core  v3_05_07
FragmentGenerator_t.cc
1 #define BOOST_TEST_MODULE (FragmentGenerator_t)
2 #include "cetlib/quiet_unit_test.hpp"
3 
4 #include "artdaq-core/Data/Fragment.hh"
5 #include "artdaq-core/Generators/FragmentGenerator.hh"
6 
7 namespace artdaqtest {
8 class FragmentGeneratorTest;
9 }
10 
15 {
16 public:
18 
19  bool getNext(artdaq::FragmentPtrs& output) override
20  {
21  return getNext_(output);
22  }
23 
24  std::vector<artdaq::Fragment::fragment_id_t> fragmentIDs() override
25  {
26  return fragmentIDs_();
27  }
28 
29 private:
30  bool getNext_(artdaq::FragmentPtrs&);
31 
32  std::vector<artdaq::Fragment::fragment_id_t> fragmentIDs_();
33 };
34 
35 artdaqtest::FragmentGeneratorTest::FragmentGeneratorTest()
36  : FragmentGenerator() {}
37 
38 bool artdaqtest::FragmentGeneratorTest::getNext_(artdaq::FragmentPtrs& frags)
39 {
40  frags.emplace_back(new artdaq::Fragment);
41  return true;
42 }
43 
44 std::vector<artdaq::Fragment::fragment_id_t>
45 artdaqtest::FragmentGeneratorTest::
46  fragmentIDs_()
47 {
48  return {1};
49 }
50 
51 BOOST_AUTO_TEST_SUITE(FragmentGenerator_t)
52 
53 BOOST_AUTO_TEST_CASE(Simple)
54 {
56  artdaq::FragmentGenerator& baseGen(testGen);
58  baseGen.getNext(fps);
59  BOOST_REQUIRE_EQUAL(fps.size(), 1u);
60 }
61 
62 BOOST_AUTO_TEST_SUITE_END()
std::list< FragmentPtr > FragmentPtrs
A std::list of FragmentPtrs.
Definition: Fragment.hh:59
Tests the functionality of the artdaq::FragmentGenerator class.
std::vector< artdaq::Fragment::fragment_id_t > fragmentIDs() override
Which fragment IDs does this FragmentGenerator generate?
A Fragment contains the data from one piece of the DAQ system for one event The artdaq::Fragment is t...
Definition: Fragment.hh:85
Base class for all FragmentGenerators.
bool getNext(artdaq::FragmentPtrs &output) override
Obtain the next collection of Fragments.