1 #define BOOST_TEST_MODULE ( GenericFragmentSimulator_t )
2 #include "boost/test/auto_unit_test.hpp"
4 #include "fhiclcpp/ParameterSet.h"
5 #include "artdaq-core/Data/Fragment.hh"
6 #include "artdaq-core/Data/detail/RawFragmentHeader.hh"
7 #include "artdaq/DAQrate/EventStore.hh"
8 #include "artdaq/DAQdata/GenericFragmentSimulator.hh"
12 std::size_t
const NUM_EVENTS = 2;
13 std::size_t
const NUM_FRAGS_PER_EVENT = 5;
14 std::size_t
const FRAGMENT_SIZE = 110;
16 BOOST_AUTO_TEST_SUITE(GenericFragmentSimulator_t)
20 fhicl::ParameterSet sim_config;
21 sim_config.put(
"fragments_per_event", NUM_FRAGS_PER_EVENT);
22 sim_config.put(
"want_random_payload_size",
false);
23 sim_config.put(
"payload_size", FRAGMENT_SIZE);
25 artdaq::FragmentPtrs fragments;
26 std::size_t num_events_seen = 0;
27 while (fragments.clear() , num_events_seen < NUM_EVENTS && sim.
getNext(fragments))
29 BOOST_REQUIRE_EQUAL(fragments.size(), NUM_FRAGS_PER_EVENT);
30 for (
auto&& fragptr : fragments)
32 BOOST_CHECK(fragptr.get());
33 BOOST_CHECK_EQUAL(fragptr->sequenceID(), num_events_seen + 1);
34 BOOST_CHECK_EQUAL(fragptr->size(), FRAGMENT_SIZE + artdaq::detail::RawFragmentHeader::num_words());
35 BOOST_CHECK_EQUAL(fragptr->dataSize(), FRAGMENT_SIZE);
39 BOOST_REQUIRE_EQUAL(num_events_seen, NUM_EVENTS);
42 BOOST_AUTO_TEST_SUITE_END()
GenericFragmentSimulator creates simulated Generic events, with data distributed according to a "hist...
bool getNext(Fragment::sequence_id_t sequence_id, Fragment::fragment_id_t fragment_id, FragmentPtr &frag_ptr)
Generate a Fragment according to the value of the content_selectior_t enum.