artdaq_core  v3_06_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 class FragmentGeneratorTest;
9 }
10 
15 {
16 public:
17  FragmentGeneratorTest() = default;
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& /*frags*/);
31 
32  std::vector<artdaq::Fragment::fragment_id_t> fragmentIDs_();
33 };
34 
35 bool artdaqtest::FragmentGeneratorTest::getNext_(artdaq::FragmentPtrs& frags)
36 {
37  frags.emplace_back(new artdaq::Fragment);
38  return true;
39 }
40 
41 std::vector<artdaq::Fragment::fragment_id_t>
42 artdaqtest::FragmentGeneratorTest::
43  fragmentIDs_()
44 {
45  return {1};
46 }
47 
48 BOOST_AUTO_TEST_SUITE(FragmentGenerator_t)
49 
50 BOOST_AUTO_TEST_CASE(Simple)
51 {
53  artdaq::FragmentGenerator& baseGen(testGen);
55  baseGen.getNext(fps);
56  BOOST_REQUIRE_EQUAL(fps.size(), 1u);
57 }
58 
59 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.