artdaq  v2_03_00
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
CommandableFragmentGenerator_t.cc
1 #define BOOST_TEST_MODULE ( CommandableFragmentGenerator_t )
2 #include "boost/test/auto_unit_test.hpp"
3 
4 #include "artdaq-core/Data/Fragment.hh"
5 #include "artdaq/Application/CommandableFragmentGenerator.hh"
6 
7 namespace artdaqtest
8 {
9  class CommandableFragmentGeneratorTest;
10 }
11 
17 {
18 public:
23 
31  bool getNext_(artdaq::FragmentPtrs& frags) override;
32 
37  std::vector<artdaq::Fragment::fragment_id_t> fragmentIDs() override;
38 
42  void start() override;
43 
47  void stopNoMutex() override;
48 
52  void stop() override;
53 
57  void pause() override;
58 
62  void resume() override;
63 };
64 
66 
67  :
68  CommandableFragmentGenerator() {}
69 
70 bool
72 {
73  frags.emplace_back(new artdaq::Fragment);
74  return true;
75 }
76 
77 std::vector<artdaq::Fragment::fragment_id_t>
80 {
81  return {1};
82 }
83 
84 void
86 
87 void
89 
90 void
92 
93 void
95 
96 void
98 
99 BOOST_AUTO_TEST_SUITE(CommandableFragmentGenerator_t)
100 
101  BOOST_AUTO_TEST_CASE(Simple)
102  {
104  artdaq::CommandableFragmentGenerator& baseGen(testGen);
105  artdaq::FragmentPtrs fps;
106  baseGen.getNext(fps);
107  BOOST_REQUIRE_EQUAL(fps.size(), 1u);
108  }
109 
110 BOOST_AUTO_TEST_SUITE_END()
bool getNext_(artdaq::FragmentPtrs &frags) override
Generate data and return it to CommandableFragmentGenerator.
CommandableFragmentGenerator derived class for testing.
bool getNext(FragmentPtrs &output) overridefinal
getNext calls either applyRequests or getNext_ to get any data that is ready to be sent to the EventB...
CommandableFragmentGeneratorTest()
CommandableFragmentGeneratorTest Constructor.
void stopNoMutex() override
Perform immediate stop actions. No-Op.
void start() override
Perform start actions. No-Op.
CommandableFragmentGenerator is a FragmentGenerator-derived abstract class that defines the interface...
void resume() override
Perform resume actions. No-Op.
void pause() override
Perform pause actions. No-Op.
void stop() override
Perform stop actions. No-Op.
std::vector< artdaq::Fragment::fragment_id_t > fragmentIDs() override
Get the Fragment IDs generated by the CommandableFragmentGenerator.