8 #include "gtest/gtest.h"
24 ASSERT_NE(
nullptr, pResourceManager);
25 ASSERT_NE(
nullptr, pTHM1176);
26 ASSERT_EQ(
true, pTHM1176->IsOpen());
27 ASSERT_EQ(
true, pTHM1176->
Reset());
34 delete pResourceManager;
35 pResourceManager =
nullptr;
47 ASSERT_EQ(
true, pTHM1176->ParmAveragingGet(l_AvgBounds));
56 ASSERT_EQ(
true, pTHM1176->ParmAveragingSet(l_Avg));
58 ASSERT_EQ(
true, pTHM1176->ParmAveragingGet(l_Avg));
61 ASSERT_EQ(
true, pTHM1176->ParmAveragingGet(l_AvgBounds));
70 ASSERT_EQ(
true, pTHM1176->ParmAveragingSet(l_Avg));
72 ASSERT_EQ(
true, pTHM1176->ParmAveragingSet(l_Avg));
74 ASSERT_EQ(
false, pTHM1176->ParmAveragingSet(l_Avg));
76 std::vector<sError> l_ErrorList = pTHM1176->CurrentErrorList();
77 ASSERT_EQ(1, l_ErrorList.size());
78 EXPECT_EQ(-222, l_ErrorList[0].Code);
79 EXPECT_EQ(
"Data out of range", l_ErrorList[0].Description);
80 EXPECT_EQ(
":AVER:COUN 0", l_ErrorList[0].Context);
89 ASSERT_EQ(
true, pTHM1176->ParmSleepSet(
true));
90 ASSERT_EQ(
true, pTHM1176->ParmSleepGet(l_Sleep));
91 EXPECT_EQ(
true, l_Sleep);
93 ASSERT_EQ(
true, pTHM1176->ParmSleepSet(
false));
94 ASSERT_EQ(
true, pTHM1176->ParmSleepGet(l_Sleep));
95 EXPECT_EQ(
false, l_Sleep);
105 ASSERT_EQ(
true, pTHM1176->ParmTriggerInputGet(l_TrigBounds));
109 EXPECT_DOUBLE_EQ(122e-6, l_TrigBounds.
Period_s.
Min);
116 EXPECT_EQ(1, l_TrigBounds.
Count.
Min);
119 EXPECT_EQ(l_TrigBounds.
Count.
Max, 4096);
120 EXPECT_EQ(1, l_TrigBounds.
Count.
Def);
128 ASSERT_EQ(
true, pTHM1176->ParmTriggerInputSet(l_Trig));
130 ASSERT_EQ(
true, pTHM1176->ParmTriggerInputGet(l_Trig));
136 ASSERT_EQ(
true, pTHM1176->ParmTriggerInputSet(l_Trig));
138 ASSERT_EQ(
true, pTHM1176->ParmTriggerInputGet(l_Trig));
144 ASSERT_EQ(
true, pTHM1176->ParmTriggerInputSet(l_Trig));
146 ASSERT_EQ(
true, pTHM1176->ParmTriggerInputGet(l_Trig));
156 ASSERT_EQ(
true, pTHM1176->ParmTriggerInputSet(l_Trig));
158 ASSERT_EQ(
true, pTHM1176->ParmTriggerInputGet(l_Trig));
160 EXPECT_DOUBLE_EQ(1., l_Trig.
Period_s);
164 ASSERT_EQ(
true, pTHM1176->ParmTriggerInputSet(l_Trig));
166 ASSERT_EQ(
true, pTHM1176->ParmTriggerInputSet(l_Trig));
168 ASSERT_EQ(
false, pTHM1176->ParmTriggerInputSet(l_Trig));
170 std::vector<sError> l_ErrorList = pTHM1176->CurrentErrorList();
171 ASSERT_EQ(1, l_ErrorList.size());
172 EXPECT_EQ(-222, l_ErrorList[0].Code);
173 EXPECT_EQ(
"Data out of range", l_ErrorList[0].Description);
174 EXPECT_EQ(
":TRIG:SOUR TIM;COUN 1;TIM 0.000000000000000e+00", l_ErrorList[0].Context);
177 ASSERT_EQ(
false, pTHM1176->ParmTriggerInputSet(l_Trig));
179 std::vector<sError> l_ErrorList = pTHM1176->CurrentErrorList();
180 ASSERT_EQ(1, l_ErrorList.size());
181 EXPECT_EQ(-222, l_ErrorList[0].Code);
182 EXPECT_EQ(
"Data out of range", l_ErrorList[0].Description);
183 EXPECT_EQ(
":TRIG:SOUR TIM;COUN 1;TIM 1.000000000000000e+01", l_ErrorList[0].Context);
190 ASSERT_EQ(
true, pTHM1176->ParmTriggerInputSet(l_Trig));
192 ASSERT_EQ(
true, pTHM1176->ParmTriggerInputGet(l_Trig));
194 EXPECT_EQ(100, l_Trig.
Count);
197 ASSERT_EQ(
true, pTHM1176->ParmTriggerInputSet(l_Trig));
199 ASSERT_EQ(
true, pTHM1176->ParmTriggerInputSet(l_Trig));
201 ASSERT_EQ(
false, pTHM1176->ParmTriggerInputSet(l_Trig));
203 std::vector<sError> l_ErrorList = pTHM1176->CurrentErrorList();
204 ASSERT_EQ(1, l_ErrorList.size());
205 EXPECT_EQ(-222, l_ErrorList[0].Code);
206 EXPECT_EQ(
"Data out of range", l_ErrorList[0].Description);
207 EXPECT_EQ(
":TRIG:SOUR IMM;COUN 0", l_ErrorList[0].Context);
210 ASSERT_EQ(
false, pTHM1176->ParmTriggerInputSet(l_Trig));
212 std::vector<sError> l_ErrorList = pTHM1176->CurrentErrorList();
213 ASSERT_EQ(1, l_ErrorList.size());
214 EXPECT_EQ(-222, l_ErrorList[0].Code);
215 EXPECT_EQ(
"Data out of range", l_ErrorList[0].Description);
216 EXPECT_EQ(
":TRIG:SOUR IMM;COUN 4097", l_ErrorList[0].Context);
224 ASSERT_EQ(
true, pTHM1176->GetAllUnits(l_Units));
225 for (
auto l_Unit : l_Units)
227 ASSERT_EQ(
true, pTHM1176->ParmUnitsSet(l_Unit));
229 ASSERT_EQ(
true, pTHM1176->ParmUnitsGet(l_UnitRead));
230 EXPECT_EQ(l_Unit, l_UnitRead);
237 bool l_UseCalibration =
false;
239 ASSERT_EQ(
true, pTHM1176->ParmUseCalibrationSet(
true));
240 ASSERT_EQ(
true, pTHM1176->ParmUseCalibrationGet(l_UseCalibration));
241 EXPECT_EQ(
true, l_UseCalibration);
243 ASSERT_EQ(
true, pTHM1176->ParmUseCalibrationSet(
false));
244 ASSERT_EQ(
true, pTHM1176->ParmUseCalibrationGet(l_UseCalibration));
245 EXPECT_EQ(
false, l_UseCalibration);
254 ASSERT_EQ(
true, pTHM1176->GetAllRanges(l_Ranges));
257 ASSERT_EQ(
true, pTHM1176->ParmRangeGet(l_RangeStructBounds));
258 EXPECT_EQ(
true, l_RangeStructBounds.
Auto);
259 EXPECT_FLOAT_EQ(l_Ranges.front(), l_RangeStructBounds.
Range.
Min);
262 EXPECT_FLOAT_EQ(l_RangeStructBounds.
Range.
Max, l_Ranges.back());
263 EXPECT_FLOAT_EQ(l_Ranges.back(), l_RangeStructBounds.
Range.
Def);
264 EXPECT_FLOAT_EQ(l_RangeStructBounds.
Range.
Def, l_RangeStructBounds.
Range.
Val);
269 l_RangeStruct.
Auto =
true;
270 ASSERT_EQ(
true, pTHM1176->ParmRangeSet(l_RangeStruct));
271 l_RangeStruct.
Auto =
false;
272 ASSERT_EQ(
true, pTHM1176->ParmRangeGet(l_RangeStruct));
273 EXPECT_EQ(
true, l_RangeStruct.
Auto);
275 l_RangeStruct.
Auto =
false;
276 ASSERT_EQ(
true, pTHM1176->ParmRangeSet(l_RangeStruct));
277 l_RangeStruct.
Auto =
true;
278 ASSERT_EQ(
true, pTHM1176->ParmRangeGet(l_RangeStruct));
279 EXPECT_EQ(
false, l_RangeStruct.
Auto);
282 l_RangeStruct.
Auto =
false;
283 for (
auto l_Range : l_Ranges)
285 l_RangeStruct.
Range = l_Range;
286 ASSERT_EQ(
true, pTHM1176->ParmRangeSet(l_RangeStruct));
287 l_RangeStruct.
Auto = 0.;
288 ASSERT_EQ(
true, pTHM1176->ParmRangeGet(l_RangeStruct));
289 EXPECT_EQ(
false, l_RangeStruct.
Auto);
290 EXPECT_FLOAT_EQ(l_Range, l_RangeStruct.
Range);