artdaq_core  v3_05_00
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 {
9  class FragmentGeneratorTest;
10 }
11 
17 {
18 public:
20 
21  bool getNext(artdaq::FragmentPtrs& output) override
22  {
23  return getNext_(output);
24  }
25 
26  std::vector<artdaq::Fragment::fragment_id_t> fragmentIDs() override
27  {
28  return fragmentIDs_();
29  }
30 
31 private:
32  bool getNext_(artdaq::FragmentPtrs&);
33 
34  std::vector<artdaq::Fragment::fragment_id_t> fragmentIDs_();
35 };
36 
37 artdaqtest::FragmentGeneratorTest::FragmentGeneratorTest() : FragmentGenerator() {}
38 
39 bool
40 artdaqtest::FragmentGeneratorTest::getNext_(artdaq::FragmentPtrs& frags)
41 {
42  frags.emplace_back(new artdaq::Fragment);
43  return true;
44 }
45 
46 std::vector<artdaq::Fragment::fragment_id_t>
47 artdaqtest::FragmentGeneratorTest::
48 fragmentIDs_()
49 {
50  return {1};
51 }
52 
53 BOOST_AUTO_TEST_SUITE(FragmentGenerator_t)
54 
55  BOOST_AUTO_TEST_CASE(Simple)
56  {
58  artdaq::FragmentGenerator& baseGen(testGen);
60  baseGen.getNext(fps);
61  BOOST_REQUIRE_EQUAL(fps.size(), 1u);
62  }
63 
64 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.