CbmRoot
Loading...
Searching...
No Matches
_GTestCbmTofDigi.cxx
Go to the documentation of this file.
1/* Copyright (C) 2020 GSI Helmholtzzentrum fuer Schwerionenforschung, Darmstadt
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Florian Uhlig [committer] */
4
5#include "CbmTofDigi.h"
6
7#include "compareTofDigi.h"
8#include "gtest/gtest-spi.h"
9#include "gtest/gtest.h"
10
11TEST(_GTestCbmTofDigi, CheckDefaultConstructor)
12{
13 // Create object
14 CbmTofDigi test;
15
17
18 CbmTofDigi* test1 = new CbmTofDigi();
19
21}
22
23TEST(_GTestCbmTofDigi, CheckStandardConstructor)
24{
25 // Create object
26 CbmTofDigi test(111, 987654321., 23.);
27
28 compareTofDigiDataMembers(test, 111, ECbmModuleId::kTof, 987654321., 23.);
29
30 CbmTofDigi* test1 = new CbmTofDigi(111, 987654321., 23.);
31
32 compareTofDigiDataMembers(*test1, 111, ECbmModuleId::kTof, 987654321., 23.);
33}
34
35TEST(_GTestCbmTofDigi, CheckCopyConstructor)
36{
37 // Create object
38 CbmTofDigi test(111, 987654321., 23.);
39
40 compareTofDigiDataMembers(test, 111, ECbmModuleId::kTof, 987654321., 23.);
41
42 // Create object by copy constructing
43 // test should be equal to test2 and
44 // test should not be changed
45 CbmTofDigi test2 {test};
46
47 compareTofDigiDataMembers(test2, 111, ECbmModuleId::kTof, 987654321., 23.);
48
49 // Test if the original object wasn't changed
50 compareTofDigiDataMembers(test, 111, ECbmModuleId::kTof, 987654321., 23.);
51}
52
53TEST(_GTestCbmTofDigi, CheckAssignmentOperator)
54{
55
56 // Create object
57 CbmTofDigi test(111, 987654321., 23.);
58
59 compareTofDigiDataMembers(test, 111, ECbmModuleId::kTof, 987654321., 23.);
60
61 // Create object by copy assignment
62 // test should be equal to test2 and
63 // test should not be changed
64 CbmTofDigi test2;
65 test2 = test;
66
67 compareTofDigiDataMembers(test2, 111, ECbmModuleId::kTof, 987654321., 23.);
68
69 // Test if the original object wasn't changed
70 compareTofDigiDataMembers(test, 111, ECbmModuleId::kTof, 987654321., 23.);
71}
72
73TEST(_GTestCbmTofDigi, CheckMoveConstructor)
74{
75 // Create object
76 CbmTofDigi test(111, 987654321., 23.);
77
78 compareTofDigiDataMembers(test, 111, ECbmModuleId::kTof, 987654321., 23.);
79
80 // Create object by move constructing
81 CbmTofDigi test2 {std::move(test)};
82
83 compareTofDigiDataMembers(test2, 111, ECbmModuleId::kTof, 987654321., 23.);
84
85 // For objects with simple types move fall back to copy so
86 // the original object is kept unchanged
87 compareTofDigiDataMembers(test, 111, ECbmModuleId::kTof, 987654321., 23.);
88}
89
90TEST(_GTestCbmTofDigi, CheckAssignmentMoveConstructor)
91{
92 // Create object
93 CbmTofDigi test(111, 987654321., 23.);
94
95 compareTofDigiDataMembers(test, 111, ECbmModuleId::kTof, 987654321., 23.);
96
97 // Create object by move constructing
98 CbmTofDigi test2 {};
99 test2 = std::move(test);
100
101 compareTofDigiDataMembers(test2, 111, ECbmModuleId::kTof, 987654321., 23.);
102
103 // For objects with simple types move fall back to copy so
104 // the original object is kept unchanged
105 compareTofDigiDataMembers(test, 111, ECbmModuleId::kTof, 987654321., 23.);
106}
107
108
109TEST(_GTestCbmTofDigi, CheckToString)
110{
111 // Create object
112 CbmTofDigi test(12341234, 987654321., 23.);
113
114 compareTofDigiDataMembers(test, 12341234, ECbmModuleId::kTof, 987654321., 23.);
115
116 EXPECT_STREQ("CbmTofDigi: address = 0x00BC4FF2 time = 987654321.000000 tot = 23.000000", test.ToString().c_str());
117}
118
119TEST(_GTestCbmTofDigi, CheckGetClassName)
120{
121 // Create object
122 CbmTofDigi test(111, 987654321., 23.);
123
124 compareTofDigiDataMembers(test, 111, ECbmModuleId::kTof, 987654321., 23.);
125
126 EXPECT_STREQ("CbmTofDigi", test.GetClassName());
127}
128
129TEST(_GTestCbmTofDigi, CheckSetTime)
130{
131 // Create object
132 CbmTofDigi test(111, 987654321., 23.);
133
134 compareTofDigiDataMembers(test, 111, ECbmModuleId::kTof, 987654321., 23.);
135
136 test.SetTime(12345678.);
137
138 compareTofDigiDataMembers(test, 111, ECbmModuleId::kTof, 12345678., 23.);
139}
140
141TEST(_GTestCbmTofDigi, CheckSetAddress)
142{
143 // Create object
144 CbmTofDigi test(111, 987654321., 23.);
145
146 compareTofDigiDataMembers(test, 111, ECbmModuleId::kTof, 987654321., 23.);
147
148 test.SetAddress(12341234);
149
150 compareTofDigiDataMembers(test, 12341234, ECbmModuleId::kTof, 987654321., 23.);
151}
152
153TEST(_GTestCbmTofDigi, CheckSetTot)
154{
155 // Create object
156 CbmTofDigi test(111, 987654321., 23.);
157
158 compareTofDigiDataMembers(test, 111, ECbmModuleId::kTof, 987654321., 23.);
159
160 test.SetTot(45.);
161
162 compareTofDigiDataMembers(test, 111, ECbmModuleId::kTof, 987654321., 45.);
163}
@ kTof
Time-of-flight Detector.
TEST(_GTestCbmTofDigi, CheckDefaultConstructor)
Data class for expanded digital TOF information.
Definition CbmTofDigi.h:47
std::string ToString() const
void SetTot(double tot)
Definition CbmTofDigi.h:166
static const char * GetClassName()
Class name (static)
Definition CbmTofDigi.h:124
void SetAddress(int32_t address)
Definition CbmTofDigi.h:163
void SetTime(double time)
Definition CbmTofDigi.h:165
void compareTofDigiDataMembers(CbmTofDigi &test, int32_t address, ECbmModuleId systemid, double time, double tot)