artdaq_core  v1_06_00
 All Classes Namespaces Functions
FragmentGenerator_t.cc
1 #define BOOST_TEST_MODULE ( FragmentGenerator_t )
2 #ifdef HAVE_CANVAS
3 #include "cetlib/quiet_unit_test.hpp"
4 #else
5 #include "boost/test/auto_unit_test.hpp"
6 #endif
7 
8 #include "artdaq-core/Data/Fragment.hh"
9 #include "artdaq-core/Generators/FragmentGenerator.hh"
10 
11 namespace artdaqtest {
12  class FragmentGeneratorTest;
13 }
14 
17 public:
19  bool getNext(artdaq::FragmentPtrs & output) override {
20  return getNext_(output);
21  }
22  std::vector<artdaq::Fragment::fragment_id_t> fragmentIDs() override {
23  return fragmentIDs_();
24  }
25 
26 private:
27  bool getNext_(artdaq::FragmentPtrs &);
28  std::vector<artdaq::Fragment::fragment_id_t> fragmentIDs_();
29 };
30 
31 artdaqtest::FragmentGeneratorTest::FragmentGeneratorTest()
32 
33  :
34  FragmentGenerator()
35 {
36 }
37 
38 bool
39 artdaqtest::FragmentGeneratorTest::getNext_(artdaq::FragmentPtrs & frags)
40 {
41  frags.emplace_back(new artdaq::Fragment);
42  return true;
43 }
44 
45 std::vector<artdaq::Fragment::fragment_id_t>
46 artdaqtest::FragmentGeneratorTest::
47 fragmentIDs_()
48 {
49  return { 1 };
50 }
51 
52 BOOST_AUTO_TEST_SUITE(FragmentGenerator_t)
53 
54 BOOST_AUTO_TEST_CASE(Simple)
55 {
57  artdaq::FragmentGenerator & baseGen(testGen);
58  artdaq::FragmentPtrs fps;
59  baseGen.getNext(fps);
60  BOOST_REQUIRE_EQUAL(fps.size(), 1u);
61 }
62 
63 BOOST_AUTO_TEST_SUITE_END()