Line data Source code
1 : /**
2 : * @file TriggerDecisionToken_test.cxx TriggerDecisionToken class Unit Tests
3 : *
4 : * This is part of the DUNE DAQ Application Framework, copyright 2020.
5 : * Licensing/copyright details are in the COPYING file that you should have
6 : * received with this code.
7 : */
8 :
9 : #include "dfmessages/TriggerDecisionToken.hpp"
10 :
11 : /**
12 : * @brief Name of this test module
13 : */
14 : #define BOOST_TEST_MODULE TriggerDecisionToken_test // NOLINT
15 :
16 : #include "TRACE/trace.h"
17 : #include "boost/test/unit_test.hpp"
18 :
19 : #include <string>
20 : #include <vector>
21 :
22 : using namespace dunedaq::dfmessages;
23 :
24 : BOOST_AUTO_TEST_SUITE(TriggerDecisionToken_test)
25 :
26 : /**
27 : * @brief Check that TriggerDecisionTokens have appropriate Copy/Move semantics
28 : */
29 2 : BOOST_AUTO_TEST_CASE(CopyAndMoveSemantics)
30 : {
31 1 : BOOST_REQUIRE(std::is_copy_constructible_v<TriggerDecisionToken>);
32 1 : BOOST_REQUIRE(std::is_copy_assignable_v<TriggerDecisionToken>);
33 1 : BOOST_REQUIRE(std::is_move_constructible_v<TriggerDecisionToken>);
34 1 : BOOST_REQUIRE(std::is_move_assignable_v<TriggerDecisionToken>);
35 1 : }
36 :
37 2 : BOOST_AUTO_TEST_CASE(DefaultConstruction)
38 : {
39 1 : TriggerDecisionToken tdt;
40 1 : BOOST_REQUIRE_EQUAL(tdt.run_number, TypeDefaults::s_invalid_run_number);
41 1 : BOOST_REQUIRE_EQUAL(tdt.trigger_number, TypeDefaults::s_invalid_trigger_number);
42 1 : }
43 :
44 2 : BOOST_AUTO_TEST_CASE(SerDes_MsgPack)
45 : {
46 1 : TriggerDecisionToken tdt;
47 1 : tdt.run_number = 1;
48 1 : tdt.trigger_number = 2;
49 :
50 1 : auto bytes = dunedaq::serialization::serialize(tdt, dunedaq::serialization::kMsgPack);
51 3 : TLOG(TLVL_INFO) << "MsgPack message size: " << bytes.size() << " bytes";
52 1 : TriggerDecisionToken tdt_deserialized = dunedaq::serialization::deserialize<TriggerDecisionToken>(bytes);
53 :
54 1 : BOOST_REQUIRE_EQUAL(tdt.run_number, tdt_deserialized.run_number);
55 1 : BOOST_REQUIRE_EQUAL(tdt.trigger_number, tdt_deserialized.trigger_number);
56 1 : }
57 :
58 : BOOST_AUTO_TEST_SUITE_END()
|