API
Applications
Utilities
API
Handbook
GitHub
Home
Loading...
Searching...
No Matches
zaberStage_test.cpp
Go to the documentation of this file.
1
/** \file zaberStage_test.cpp
2
* \brief Catch2 tests for the zaberStage in the zaberLowLevel app
3
* \author Jared R. Males (jaredmales@gmail.com)
4
*
5
* History:
6
*/
7
#include "../../../tests/catch2/catch.hpp"
8
9
#include "../zaberLowLevel.hpp"
10
11
extern
"C"
12
{
13
#include "../za_serial.c"
//to allow test to compile
14
}
15
16
using namespace
MagAOX::app
;
17
18
namespace
zaberStage_test
19
{
20
21
SCENARIO
(
"Parsing the warnings response"
,
"[zaberStage]"
)
22
{
23
GIVEN
(
"A valid response to the warnings query"
)
24
{
25
int
rv;
26
27
WHEN
(
"Valid response, no warnings"
)
28
{
29
zaberLowLevel
zll;
30
31
zaberStage<zaberLowLevel>
zstg(&zll);
32
33
std::string tstr =
"00"
;
34
35
rv = zstg.
parseWarnings
(tstr);
36
37
REQUIRE
(rv == 0);
38
REQUIRE
(zstg.
warningState
() ==
false
);
39
REQUIRE
(zstg.
warnFD
() ==
false
);
40
REQUIRE
(zstg.
warnFQ
() ==
false
);
41
REQUIRE
(zstg.
warnFS
() ==
false
);
42
REQUIRE
(zstg.
warnFT
() ==
false
);
43
REQUIRE
(zstg.
warnFB
() ==
false
);
44
REQUIRE
(zstg.
warnFP
() ==
false
);
45
REQUIRE
(zstg.
warnFE
() ==
false
);
46
REQUIRE
(zstg.
warnWH
() ==
false
);
47
REQUIRE
(zstg.
warnWL
() ==
false
);
48
REQUIRE
(zstg.
warnWP
() ==
false
);
49
REQUIRE
(zstg.
warnWV
() ==
false
);
50
REQUIRE
(zstg.
warnWT
() ==
false
);
51
REQUIRE
(zstg.
warnWM
() ==
false
);
52
REQUIRE
(zstg.
warnWR
() ==
false
);
53
REQUIRE
(zstg.
warnNC
() ==
false
);
54
REQUIRE
(zstg.
warnNI
() ==
false
);
55
REQUIRE
(zstg.
warnND
() ==
false
);
56
REQUIRE
(zstg.
warnNU
() ==
false
);
57
REQUIRE
(zstg.
warnNJ
() ==
false
);
58
REQUIRE
(zstg.
warnUNK
()==
false
);
59
}
60
61
WHEN
(
"Valid response, one warning"
)
62
{
63
zaberLowLevel
zll;
64
65
zaberStage<zaberLowLevel>
zstg(&zll);
66
67
std::string tstr =
"01 WR"
;
68
69
rv = zstg.
parseWarnings
(tstr);
70
71
REQUIRE
(rv == 0);
72
REQUIRE
(zstg.
warningState
() ==
true
);
73
REQUIRE
(zstg.
warnFD
() ==
false
);
74
REQUIRE
(zstg.
warnFQ
() ==
false
);
75
REQUIRE
(zstg.
warnFS
() ==
false
);
76
REQUIRE
(zstg.
warnFT
() ==
false
);
77
REQUIRE
(zstg.
warnFB
() ==
false
);
78
REQUIRE
(zstg.
warnFP
() ==
false
);
79
REQUIRE
(zstg.
warnFE
() ==
false
);
80
REQUIRE
(zstg.
warnWH
() ==
false
);
81
REQUIRE
(zstg.
warnWL
() ==
false
);
82
REQUIRE
(zstg.
warnWP
() ==
false
);
83
REQUIRE
(zstg.
warnWV
() ==
false
);
84
REQUIRE
(zstg.
warnWT
() ==
false
);
85
REQUIRE
(zstg.
warnWM
() ==
false
);
86
REQUIRE
(zstg.
warnWR
() ==
true
);
87
REQUIRE
(zstg.
warnNC
() ==
false
);
88
REQUIRE
(zstg.
warnNI
() ==
false
);
89
REQUIRE
(zstg.
warnND
() ==
false
);
90
REQUIRE
(zstg.
warnNU
() ==
false
);
91
REQUIRE
(zstg.
warnNJ
() ==
false
);
92
REQUIRE
(zstg.
warnUNK
()==
false
);
93
}
94
95
WHEN
(
"Valid response, five warnings"
)
96
{
97
zaberLowLevel
zll;
98
99
zaberStage<zaberLowLevel>
zstg(&zll);
100
101
std::string tstr =
"05 FD FQ FS FT FB"
;
102
103
rv = zstg.
parseWarnings
(tstr);
104
105
REQUIRE
(rv == 0);
106
REQUIRE
(zstg.
warningState
() ==
true
);
107
REQUIRE
(zstg.
warnFD
() ==
true
);
108
REQUIRE
(zstg.
warnFQ
() ==
true
);
109
REQUIRE
(zstg.
warnFS
() ==
true
);
110
REQUIRE
(zstg.
warnFT
() ==
true
);
111
REQUIRE
(zstg.
warnFB
() ==
true
);
112
REQUIRE
(zstg.
warnFP
() ==
false
);
113
REQUIRE
(zstg.
warnFE
() ==
false
);
114
REQUIRE
(zstg.
warnWH
() ==
false
);
115
REQUIRE
(zstg.
warnWL
() ==
false
);
116
REQUIRE
(zstg.
warnWP
() ==
false
);
117
REQUIRE
(zstg.
warnWV
() ==
false
);
118
REQUIRE
(zstg.
warnWT
() ==
false
);
119
REQUIRE
(zstg.
warnWM
() ==
false
);
120
REQUIRE
(zstg.
warnWR
() ==
false
);
121
REQUIRE
(zstg.
warnNC
() ==
false
);
122
REQUIRE
(zstg.
warnNI
() ==
false
);
123
REQUIRE
(zstg.
warnND
() ==
false
);
124
REQUIRE
(zstg.
warnNU
() ==
false
);
125
REQUIRE
(zstg.
warnNJ
() ==
false
);
126
REQUIRE
(zstg.
warnUNK
()==
false
);
127
}
128
129
WHEN
(
"Valid response, ten warnings"
)
130
{
131
zaberLowLevel
zll;
132
133
zaberStage<zaberLowLevel>
zstg(&zll);
134
135
std::string tstr =
"10 FP FE WH WL WP WV WT WM WR NC"
;
136
137
rv = zstg.
parseWarnings
(tstr);
138
139
REQUIRE
(rv == 0);
140
REQUIRE
(zstg.
warningState
() ==
true
);
141
REQUIRE
(zstg.
warnFD
() ==
false
);
142
REQUIRE
(zstg.
warnFQ
() ==
false
);
143
REQUIRE
(zstg.
warnFS
() ==
false
);
144
REQUIRE
(zstg.
warnFT
() ==
false
);
145
REQUIRE
(zstg.
warnFB
() ==
false
);
146
REQUIRE
(zstg.
warnFP
() ==
true
);
147
REQUIRE
(zstg.
warnFE
() ==
true
);
148
REQUIRE
(zstg.
warnWH
() ==
true
);
149
REQUIRE
(zstg.
warnWL
() ==
true
);
150
REQUIRE
(zstg.
warnWP
() ==
true
);
151
REQUIRE
(zstg.
warnWV
() ==
true
);
152
REQUIRE
(zstg.
warnWT
() ==
true
);
153
REQUIRE
(zstg.
warnWM
() ==
true
);
154
REQUIRE
(zstg.
warnWR
() ==
true
);
155
REQUIRE
(zstg.
warnNC
() ==
true
);
156
REQUIRE
(zstg.
warnNI
() ==
false
);
157
REQUIRE
(zstg.
warnND
() ==
false
);
158
REQUIRE
(zstg.
warnNU
() ==
false
);
159
REQUIRE
(zstg.
warnNJ
() ==
false
);
160
REQUIRE
(zstg.
warnUNK
()==
false
);
161
}
162
WHEN
(
"Valid response, 2 warnings"
)
163
{
164
zaberLowLevel
zll;
165
166
zaberStage<zaberLowLevel>
zstg(&zll);
167
168
std::string tstr =
"02 NI ND"
;
169
170
rv = zstg.
parseWarnings
(tstr);
171
172
REQUIRE
(rv == 0);
173
REQUIRE
(zstg.
warningState
() ==
true
);
174
REQUIRE
(zstg.
warnFD
() ==
false
);
175
REQUIRE
(zstg.
warnFQ
() ==
false
);
176
REQUIRE
(zstg.
warnFS
() ==
false
);
177
REQUIRE
(zstg.
warnFT
() ==
false
);
178
REQUIRE
(zstg.
warnFB
() ==
false
);
179
REQUIRE
(zstg.
warnFP
() ==
false
);
180
REQUIRE
(zstg.
warnFE
() ==
false
);
181
REQUIRE
(zstg.
warnWH
() ==
false
);
182
REQUIRE
(zstg.
warnWL
() ==
false
);
183
REQUIRE
(zstg.
warnWP
() ==
false
);
184
REQUIRE
(zstg.
warnWV
() ==
false
);
185
REQUIRE
(zstg.
warnWT
() ==
false
);
186
REQUIRE
(zstg.
warnWM
() ==
false
);
187
REQUIRE
(zstg.
warnWR
() ==
false
);
188
REQUIRE
(zstg.
warnNC
() ==
false
);
189
REQUIRE
(zstg.
warnNI
() ==
true
);
190
REQUIRE
(zstg.
warnND
() ==
true
);
191
REQUIRE
(zstg.
warnNU
() ==
false
);
192
REQUIRE
(zstg.
warnNJ
() ==
false
);
193
REQUIRE
(zstg.
warnUNK
()==
false
);
194
}
195
WHEN
(
"Valid response, 3 warnings"
)
196
{
197
zaberLowLevel
zll;
198
199
zaberStage<zaberLowLevel>
zstg(&zll);
200
201
202
std::string tstr =
"03 NU NJ UN"
;
203
204
rv = zstg.
parseWarnings
(tstr);
205
206
REQUIRE
(rv == 0);
207
REQUIRE
(zstg.
warningState
() ==
true
);
208
REQUIRE
(zstg.
warnFD
() ==
false
);
209
REQUIRE
(zstg.
warnFQ
() ==
false
);
210
REQUIRE
(zstg.
warnFS
() ==
false
);
211
REQUIRE
(zstg.
warnFT
() ==
false
);
212
REQUIRE
(zstg.
warnFB
() ==
false
);
213
REQUIRE
(zstg.
warnFP
() ==
false
);
214
REQUIRE
(zstg.
warnFE
() ==
false
);
215
REQUIRE
(zstg.
warnWH
() ==
false
);
216
REQUIRE
(zstg.
warnWL
() ==
false
);
217
REQUIRE
(zstg.
warnWP
() ==
false
);
218
REQUIRE
(zstg.
warnWV
() ==
false
);
219
REQUIRE
(zstg.
warnWT
() ==
false
);
220
REQUIRE
(zstg.
warnWM
() ==
false
);
221
REQUIRE
(zstg.
warnWR
() ==
false
);
222
REQUIRE
(zstg.
warnNC
() ==
false
);
223
REQUIRE
(zstg.
warnNI
() ==
false
);
224
REQUIRE
(zstg.
warnND
() ==
false
);
225
REQUIRE
(zstg.
warnNU
() ==
true
);
226
REQUIRE
(zstg.
warnNJ
() ==
true
);
227
REQUIRE
(zstg.
warnUNK
()==
true
);
228
}
229
}
230
}
231
232
}
//namespace zaberStage_test
GIVEN
#define GIVEN(desc)
Definition
catch.hpp:17763
WHEN
#define WHEN(desc)
Definition
catch.hpp:17765
SCENARIO
#define SCENARIO(...)
Definition
catch.hpp:17760
REQUIRE
#define REQUIRE(...)
Definition
catch.hpp:17676
MagAOX::app::zaberLowLevel
Definition
zaberLowLevel.hpp:45
MagAOX::app::zaberStage
A class to manage the details of one stage in a Zaber system.
Definition
zaberStage.hpp:29
MagAOX::app::zaberStage::warnNI
bool warnNI()
Definition
zaberStage.hpp:510
MagAOX::app::zaberStage::warnWR
bool warnWR()
Definition
zaberStage.hpp:498
MagAOX::app::zaberStage::warnNJ
bool warnNJ()
Definition
zaberStage.hpp:528
MagAOX::app::zaberStage::warnWV
bool warnWV()
Definition
zaberStage.hpp:480
MagAOX::app::zaberStage::warnND
bool warnND()
Definition
zaberStage.hpp:516
MagAOX::app::zaberStage::warnWM
bool warnWM()
Definition
zaberStage.hpp:492
MagAOX::app::zaberStage::warnFS
bool warnFS()
Definition
zaberStage.hpp:432
MagAOX::app::zaberStage::warnWP
bool warnWP()
Definition
zaberStage.hpp:474
MagAOX::app::zaberStage::warnNU
bool warnNU()
Definition
zaberStage.hpp:522
MagAOX::app::zaberStage::warnFP
bool warnFP()
Definition
zaberStage.hpp:450
MagAOX::app::zaberStage::warnFE
bool warnFE()
Definition
zaberStage.hpp:456
MagAOX::app::zaberStage::parseWarnings
int parseWarnings(std::string &response)
Parse the warning response from the device.
Definition
zaberStage.hpp:1227
MagAOX::app::zaberStage::warnWT
bool warnWT()
Definition
zaberStage.hpp:486
MagAOX::app::zaberStage::warnFD
bool warnFD()
Definition
zaberStage.hpp:420
MagAOX::app::zaberStage::warnFB
bool warnFB()
Definition
zaberStage.hpp:444
MagAOX::app::zaberStage::warnNC
bool warnNC()
Definition
zaberStage.hpp:504
MagAOX::app::zaberStage::warnFT
bool warnFT()
Definition
zaberStage.hpp:438
MagAOX::app::zaberStage::warnFQ
bool warnFQ()
Definition
zaberStage.hpp:426
MagAOX::app::zaberStage::warnWL
bool warnWL()
Definition
zaberStage.hpp:468
MagAOX::app::zaberStage::warningState
bool warningState()
Get the warning state.
Definition
zaberStage.hpp:414
MagAOX::app::zaberStage::warnWH
bool warnWH()
Definition
zaberStage.hpp:462
MagAOX::app::zaberStage::warnUNK
bool warnUNK()
Definition
zaberStage.hpp:534
MagAOX::app
Definition
dm.hpp:26
zaberStage_test
Definition
zaberStage_test.cpp:19
apps
zaberLowLevel
tests
zaberStage_test.cpp
Generated by
1.9.8