CbmRoot
Loading...
Searching...
No Matches
_GTestCbmMvdRawDigi.cxx
Go to the documentation of this file.
1/* Copyright (C) 2025 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Pierre-Alain Loizeau [committer] */
4
5#include "CbmMvdRawDigi.h"
7#include "gtest/gtest-spi.h"
8#include "gtest/gtest.h"
9
10TEST(_GTestCbmMvdRawDigi, CheckDefaultConstructor)
11{
12 // Create object
13 CbmMvdRawDigi test;
14
16
17 CbmMvdRawDigi* test1 = new CbmMvdRawDigi();
18
20}
21
22TEST(_GTestCbmMvdRawDigi, CheckStandardConstructor)
23{
24 // Create object
25 CbmMvdRawDigi test(0x6F1, 2412345678, 482469);
26
27 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 0);
28
29 CbmMvdRawDigi test1(0x6F1, 2412345678, 482469, 98765432142);
30
31 compareMvdRawDigiDataMembers(test1, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 98765432142);
32
33 CbmMvdRawDigi* test2 = new CbmMvdRawDigi(0x6F1, 2412345678, 482469);
34
35 compareMvdRawDigiDataMembers(*test2, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 0);
36}
37
38TEST(_GTestCbmMvdRawDigi, CheckStandardConstructorFields)
39{
40 // Create object
41 CbmMvdRawDigi test(1, 1, 1, 1, 1, 1, 1, 1, 2412345678, 482469, 98765432142);
42
43 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 4205521, 2412345678, 482469, 98765432142);
44
45 CbmMvdRawDigi* test1 = new CbmMvdRawDigi(1, 1, 1, 1, 1, 1, 1, 1, 2412345678, 482469, 98765432142);
46
47 compareMvdRawDigiDataMembers(*test1, ECbmModuleId::kMvd, 4205521, 2412345678, 482469, 98765432142);
48}
49
50TEST(_GTestCbmMvdRawDigi, CheckCopyConstructor)
51{
52 // Create object
53 CbmMvdRawDigi test(0x6F1, 2412345678, 482469, 98765432142);
54
55 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 98765432142);
56
57 // Create object by copy constructing
58 // test should be equal to test2 and
59 // test should not be changed
60 CbmMvdRawDigi test2{test};
61
62 compareMvdRawDigiDataMembers(test2, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 98765432142);
63
64 // Test if the original object wasn't changed
65 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 98765432142);
66}
67
68TEST(_GTestCbmMvdRawDigi, CheckAssignmentOperator)
69{
70
71 // Create object
72 CbmMvdRawDigi test(0x6F1, 2412345678, 482469, 98765432142);
73
74 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 98765432142);
75
76 // Create object by copy assignment
77 // test should be equal to test2 and
78 // test should not be changed
79 CbmMvdRawDigi test2;
80 test2 = test;
81
82 compareMvdRawDigiDataMembers(test2, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 98765432142);
83
84 // Test if the original object wasn't changed
85 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 98765432142);
86}
87
88TEST(_GTestCbmMvdRawDigi, CheckMoveConstructor)
89{
90 // Create object
91 CbmMvdRawDigi test(0x6F1, 2412345678, 482469, 98765432142);
92
93 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 98765432142);
94
95 // Create object by move constructing
96 CbmMvdRawDigi test2{std::move(test)};
97
98 compareMvdRawDigiDataMembers(test2, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 98765432142);
99
100 // For objects with simple types move fall back to copy so
101 // the original object is kept unchanged
102 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 98765432142);
103}
104
105TEST(_GTestCbmMvdRawDigi, CheckAssignmentMoveConstructor)
106{
107 // Create object
108 CbmMvdRawDigi test(0x6F1, 2412345678, 482469, 98765432142);
109
110 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 98765432142);
111
112 // Create object by move constructing
113 CbmMvdRawDigi test2{};
114 test2 = std::move(test);
115
116 compareMvdRawDigiDataMembers(test2, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 98765432142);
117
118 // For objects with simple types move fall back to copy so
119 // the original object is kept unchanged
120 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 98765432142);
121}
122
123
124TEST(_GTestCbmMvdRawDigi, CheckToString)
125{
126 // Create object
127 CbmMvdRawDigi test(12341234, 2412345678, 482469, 98765432142);
128
129 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 12341234, 2412345678, 482469, 98765432142);
130
131 EXPECT_STREQ("CbmMvdRawDigi: address = 0x00BC4FF2 time = 2412345678 frame = 482469 frame-time = 98765432142",
132 test.ToString().c_str());
133}
134
135TEST(_GTestCbmMvdRawDigi, CheckGetClassName)
136{
137 // Create object
138 CbmMvdRawDigi test(0x6F1, 2412345678, 482469, 98765432142);
139
140 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 98765432142);
141
142 EXPECT_STREQ("CbmMvdRawDigi", test.GetClassName());
143}
144
145TEST(_GTestCbmMvdRawDigi, CheckSetAddress)
146{
147 // Create object
148 CbmMvdRawDigi test(0x6F1, 2412345678, 482469, 98765432142);
149
150 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 98765432142);
151
152 test.SetAddress(12341234);
153
154 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 12341234, 2412345678, 482469, 98765432142);
155}
156
157TEST(_GTestCbmMvdRawDigi, CheckSetAddressFields)
158{
159 // Create object
160 CbmMvdRawDigi test(0x6F1, 2412345678, 482469, 98765432142);
161
162 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 98765432142);
163
164 test.SetAddress(1, 1, 1, 1, 1, 1, 1, 1);
165
166 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 4205521, 2412345678, 482469, 98765432142);
167}
168
169TEST(_GTestCbmMvdRawDigi, CheckSetTime)
170{
171 // Create object
172 CbmMvdRawDigi test(0x6F1, 2412345678, 482469, 98765432142);
173
174 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 98765432142);
175
176 test.SetTime(12345678);
177
178 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 0x6F1, 12345678, 482469, 98765432142);
179}
180
181TEST(_GTestCbmMvdRawDigi, CheckSetFrame)
182{
183 // Create object
184 CbmMvdRawDigi test(0x6F1, 2412345678, 482469, 98765432142);
185
186 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 98765432142);
187
188 test.SetFrame(45);
189
190 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 0x6F1, 2412345678, 45, 98765432142);
191}
192
193TEST(_GTestCbmMvdRawDigi, CheckSetFrameTime)
194{
195 // Create object
196 CbmMvdRawDigi test(0x6F1, 2412345678, 482469, 98765432142);
197
198 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 98765432142);
199
200 test.SetFrameTime(24123456789);
201
202 compareMvdRawDigiDataMembers(test, ECbmModuleId::kMvd, 0x6F1, 2412345678, 482469, 24123456789);
203}
@ kMvd
Micro-Vertex Detector.
Definition CbmDefs.h:47
TEST(_GTestCbmMvdRawDigi, CheckDefaultConstructor)
void SetFrameTime(uint64_t frametime)
void SetFrame(uint32_t frame)
void SetAddress(uint32_t address)
void SetTime(uint32_t time)
std::string ToString() const
static const char * GetClassName()
void compareMvdRawDigiDataMembers(CbmMvdRawDigi &test, ECbmModuleId systemid, uint32_t address, uint32_t time, uint32_t frame, uint64_t frameTime, bool compFrameTime=true)