8 #include <UnitTest++.h> 19 CHECK_EQUAL(
R17562, ConvertStringToFirmware(
"R17562"));
20 CHECK_EQUAL(
R17562, ConvertStringToFirmware(
"17562"));
22 CHECK_EQUAL(
R20466, ConvertStringToFirmware(
"R20466"));
23 CHECK_EQUAL(
R20466, ConvertStringToFirmware(
"20466"));
25 CHECK_EQUAL(
R27361, ConvertStringToFirmware(
"R27361"));
26 CHECK_EQUAL(
R27361, ConvertStringToFirmware(
"27361"));
28 CHECK_EQUAL(
R29432, ConvertStringToFirmware(
"R29432"));
29 CHECK_EQUAL(
R29432, ConvertStringToFirmware(
"29432"));
31 CHECK_EQUAL(
R30474, ConvertStringToFirmware(
"R30474"));
32 CHECK_EQUAL(
R30474, ConvertStringToFirmware(
"30474"));
34 CHECK_EQUAL(
R30980, ConvertStringToFirmware(
"R30980"));
35 CHECK_EQUAL(
R30980, ConvertStringToFirmware(
"30980"));
37 CHECK_EQUAL(
R30981, ConvertStringToFirmware(
"R30981"));
38 CHECK_EQUAL(
R30981, ConvertStringToFirmware(
"30981"));
40 CHECK_EQUAL(
R34688, ConvertStringToFirmware(
"R34688"));
41 CHECK_EQUAL(
R34688, ConvertStringToFirmware(
"34688"));
44 CHECK_EQUAL(
R17562, ConvertStringToFirmware(
"19000"));
45 CHECK_EQUAL(
R20466, ConvertStringToFirmware(
"23000"));
46 CHECK_EQUAL(
R27361, ConvertStringToFirmware(
"28000"));
47 CHECK_EQUAL(
R29432, ConvertStringToFirmware(
"29700"));
48 CHECK_EQUAL(
R30474, ConvertStringToFirmware(
"30670"));
49 CHECK_EQUAL(
R30981, ConvertStringToFirmware(
"32000"));
54 CHECK_THROW(ConvertStringToFirmware(
"45000"), invalid_argument);
55 CHECK_THROW(ConvertStringToFirmware(
"12"), invalid_argument);
62 CHECK_EQUAL((
unsigned int) 0x0000000F, GetChannelNumberMask().first);
63 CHECK_EQUAL((
unsigned int) 0, GetChannelNumberMask().second);
65 CHECK_EQUAL((
unsigned int) 0x000000F0, GetSlotIdMask().first);
66 CHECK_EQUAL((
unsigned int) 4, GetSlotIdMask().second);
68 CHECK_EQUAL((
unsigned int) 0x00000F00, GetCrateIdMask().first);
69 CHECK_EQUAL((
unsigned int) 8, GetCrateIdMask().second);
71 CHECK_EQUAL((
unsigned int) 0x0001F000, GetHeaderLengthMask().first);
72 CHECK_EQUAL((
unsigned int) 12, GetHeaderLengthMask().second);
74 CHECK_EQUAL((
unsigned int) 0x80000000, GetFinishCodeMask().first);
75 CHECK_EQUAL((
unsigned int) 31, GetFinishCodeMask().second);
77 CHECK_EQUAL((
unsigned int) 0x0000FFFF, GetEventTimeHighMask().first);
78 CHECK_EQUAL((
unsigned int) 0, GetEventTimeHighMask().second);
86 CHECK_EQUAL((
unsigned int) 0xFFFF0000, GetCfdFractionalTimeMask().first);
87 CHECK_EQUAL((
unsigned int) 16, GetCfdFractionalTimeMask().second);
89 CHECK_EQUAL((
unsigned int) 0, GetCfdForcedTriggerBitMask().first);
90 CHECK_EQUAL((
unsigned int) 0, GetCfdForcedTriggerBitMask().second);
92 CHECK_EQUAL((
unsigned int) 0, GetCfdTriggerSourceMask().first);
93 CHECK_EQUAL((
unsigned int) 0, GetCfdTriggerSourceMask().second);
96 for (vector<FIRMWARE>::iterator it = firm.begin(); it != firm.end(); it++) {
98 CHECK_EQUAL((
unsigned int) 0x7FFF0000,
99 GetCfdFractionalTimeMask().first);
100 CHECK_EQUAL((
unsigned int) 16, GetCfdFractionalTimeMask().second);
102 CHECK_EQUAL((
unsigned int) 0x80000000,
103 GetCfdForcedTriggerBitMask().first);
104 CHECK_EQUAL((
unsigned int) 31, GetCfdForcedTriggerBitMask().second);
106 CHECK_EQUAL((
unsigned int) 0, GetCfdTriggerSourceMask().first);
107 CHECK_EQUAL((
unsigned int) 0, GetCfdTriggerSourceMask().second);
116 CHECK_EQUAL((
unsigned int) 0x7FFF0000, GetCfdFractionalTimeMask().first);
117 CHECK_EQUAL((
unsigned int) 16, GetCfdFractionalTimeMask().second);
119 CHECK_EQUAL((
unsigned int) 0, GetCfdForcedTriggerBitMask().first);
120 CHECK_EQUAL((
unsigned int) 0, GetCfdForcedTriggerBitMask().second);
122 CHECK_EQUAL((
unsigned int) 0x80000000, GetCfdTriggerSourceMask().first);
123 CHECK_EQUAL((
unsigned int) 31, GetCfdTriggerSourceMask().second);
126 for (vector<FIRMWARE>::iterator it = firm.begin(); it != firm.end(); it++) {
128 CHECK_EQUAL((
unsigned int) 0x3FFF0000,
129 GetCfdFractionalTimeMask().first);
130 CHECK_EQUAL((
unsigned int) 16, GetCfdFractionalTimeMask().second);
132 CHECK_EQUAL((
unsigned int) 0x80000000,
133 GetCfdForcedTriggerBitMask().first);
134 CHECK_EQUAL((
unsigned int) 31, GetCfdForcedTriggerBitMask().second);
136 CHECK_EQUAL((
unsigned int) 0x40000000, GetCfdTriggerSourceMask().first);
137 CHECK_EQUAL((
unsigned int) 30, GetCfdTriggerSourceMask().second);
147 for (vector<FIRMWARE>::iterator it = firm.begin(); it != firm.end(); it++) {
149 CHECK_EQUAL((
unsigned int) 0x1FFF0000,
150 GetCfdFractionalTimeMask().first);
151 CHECK_EQUAL((
unsigned int) 16, GetCfdFractionalTimeMask().second);
153 CHECK_EQUAL((
unsigned int) 0, GetCfdForcedTriggerBitMask().first);
154 CHECK_EQUAL((
unsigned int) 0, GetCfdForcedTriggerBitMask().second);
156 CHECK_EQUAL((
unsigned int) 0xE0000000, GetCfdTriggerSourceMask().first);
157 CHECK_EQUAL((
unsigned int) 29, GetCfdTriggerSourceMask().second);
162 vector<unsigned int> freq = {100, 250, 500};
166 for (vector<FIRMWARE>::iterator it = firm.begin(); it != firm.end(); it++) {
168 for (vector<unsigned>::iterator it1 = freq.begin();
169 it1 != freq.end(); it1++) {
171 CHECK_EQUAL((
unsigned int) 0x00007FFF, GetEventEnergyMask().first);
172 CHECK_EQUAL((
unsigned int) 0, GetEventEnergyMask().second);
174 CHECK_EQUAL((
unsigned int) 0x00008000,
175 GetTraceOutOfRangeFlagMask().first);
176 CHECK_EQUAL((
unsigned int) 15, GetTraceOutOfRangeFlagMask().second);
178 CHECK_EQUAL((
unsigned int) 0xFFFF0000, GetTraceLengthMask().first);
179 CHECK_EQUAL((
unsigned int) 16, GetTraceLengthMask().second);
186 vector<unsigned int> freq = {100, 250, 500};
187 for (vector<unsigned>::iterator it = freq.begin();
188 it != freq.end(); it++) {
190 CHECK_EQUAL((
unsigned int) 0x0000FFFF, GetEventEnergyMask().first);
191 CHECK_EQUAL((
unsigned int) 0, GetEventEnergyMask().second);
193 CHECK_EQUAL((
unsigned int) 0x80000000,
194 GetTraceOutOfRangeFlagMask().first);
195 CHECK_EQUAL((
unsigned int) 31, GetTraceOutOfRangeFlagMask().second);
197 CHECK_EQUAL((
unsigned int) 0x7FFF0000, GetTraceLengthMask().first);
198 CHECK_EQUAL((
unsigned int) 16, GetTraceLengthMask().second);
206 CHECK_EQUAL(65536, GetCfdSize());
209 CHECK_EQUAL(32768, GetCfdSize());
215 for (vector<FIRMWARE>::iterator it = firm.begin(); it != firm.end(); it++) {
217 CHECK_EQUAL(8192, GetCfdSize());
224 for (vector<FIRMWARE>::iterator it = firm.begin(); it != firm.end(); it++) {
226 CHECK_EQUAL(32768, GetCfdSize());
230 for (vector<FIRMWARE>::iterator it = firm.begin(); it != firm.end(); it++) {
232 CHECK_EQUAL(16384, GetCfdSize());
236 int main(
int argv,
char *argc[]) {
237 return (UnitTest::RunAllTests());
TEST_FIXTURE(XiaListModeDataMask, TestConvertStringToFirmware)
Header containing namespaced enumerations that are useful to different parts of the software...
Class that provides the data masks for XIA list mode data.
int main(int argv, char *argc[])