Project
Loading...
Searching...
No Matches
test_DataSamplingHeader.cxx
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11#define BOOST_TEST_MODULE Test Framework DataSamplingHeader
12#define BOOST_TEST_MAIN
13#define BOOST_TEST_DYN_LINK
14
15#include <boost/test/unit_test.hpp>
16
18#include "Headers/Stack.h"
19#include "Headers/DataHeader.h"
20
21using namespace o2::utilities;
22using namespace o2::header;
23
24BOOST_AUTO_TEST_CASE(DataSamplingHeaderDefault)
25{
26 DataSamplingHeader header;
27
31 BOOST_CHECK_EQUAL(strcmp(header.deviceID.str, ""), 0);
32}
33
34BOOST_AUTO_TEST_CASE(DataSamplingHeaderInit)
35{
36 DataSamplingHeader header{123, 456, 789, "abc"};
37
38 BOOST_CHECK_EQUAL(header.sampleTimeUs, 123);
39 BOOST_CHECK_EQUAL(header.totalAcceptedMessages, 456);
40 BOOST_CHECK_EQUAL(header.totalEvaluatedMessages, 789);
41 BOOST_CHECK_EQUAL(strcmp(header.deviceID.str, "abc"), 0);
42}
43
44BOOST_AUTO_TEST_CASE(DataSamplingHeaderCopy)
45{
46 DataSamplingHeader header{123, 456, 789, "abc"};
47 DataSamplingHeader copy(header);
48
52 BOOST_CHECK_EQUAL(strcmp(copy.deviceID.str, "abc"), 0);
53}
54
55BOOST_AUTO_TEST_CASE(DataSamplingHeaderAssignement)
56{
57 DataSamplingHeader first{123, 456, 789, "abc"};
58 DataSamplingHeader second;
59 second = first;
60
61 BOOST_CHECK_EQUAL(first.sampleTimeUs, 123);
62 BOOST_CHECK_EQUAL(first.totalAcceptedMessages, 456);
63 BOOST_CHECK_EQUAL(first.totalEvaluatedMessages, 789);
64 BOOST_CHECK_EQUAL(strcmp(first.deviceID.str, "abc"), 0);
65
69 BOOST_CHECK_EQUAL(strcmp(second.deviceID.str, "abc"), 0);
70}
71
72BOOST_AUTO_TEST_CASE(DataSamplingHeaderOnStack)
73{
74 DataSamplingHeader header{123, 456, 789, "abc"};
75 Stack headerStack{header};
76
77 const auto* dsHeaderFromStack = get<DataSamplingHeader*>(headerStack.data());
78 BOOST_REQUIRE_NE(dsHeaderFromStack, nullptr);
79
80 BOOST_CHECK_EQUAL(dsHeaderFromStack->sampleTimeUs, 123);
81 BOOST_CHECK_EQUAL(dsHeaderFromStack->totalAcceptedMessages, 456);
82 BOOST_CHECK_EQUAL(dsHeaderFromStack->totalEvaluatedMessages, 789);
83 BOOST_CHECK_EQUAL(strcmp(dsHeaderFromStack->deviceID.str, "abc"), 0);
84}
A declaration of O2 Data Sampling Header.
GLint first
Definition glcorearb.h:399
O2 data header classes and API, v0.1.
Definition DetID.h:49
BOOST_AUTO_TEST_CASE(Descriptor_test)
A header which contains some meta-data generated by Data Sampling.
a move-only header stack with serialized headers This is the flat buffer where all the headers in a m...
Definition Stack.h:36
BOOST_CHECK_EQUAL(triggersD.size(), triggers.size())