19 #define THM1176_PROMPT_TIME 10 // s
20 #define THM1176_BOOT_N_SCAN_TIME 15000 // ms
21 #define THM1176_CONNECT_TIME 5000 // ms
22 #define THM1176_CHANGE_PARM_TIME 1000 // ms
23 #define THM1176_RESET_TIME 1000 // ms
24 #define THM1176_MEASURE_TIME 2000 // ms
33 std::string l_Space = (
"" == Prompt) ?
"" :
" ";
34 std::string l_Message =
">>> " + Prompt + l_Space +
"(Will continue in " + std::to_string(
THM1176_PROMPT_TIME) +
" seconds) <<<";
36 QWARN(l_Message.c_str());
53 QList<QVariant> m_Arguments;
77 bool m_UseCalibration;
84 void initTestCase(
void);
87 void cleanupTestCase(
void);
90 void TestGetEqualsInitialNotify(
void);
93 void TestSetEqualsNotifyAndGet(
void);
96 void TestNotifyAndGetAfterReset(
void);
99 void TestGetAfterSetError(
void);
102 void TestSetTriggerDuringContinuousMeasurement(
void);
105 void TestSetAndGetAfterDisconnect(
void);
125 void THM1176IM_Test03_Parameters::initTestCase(
void)
127 QList<QVariant> m_Arguments;
134 QSignalSpy l_NotifyCurrentInstrumentSpy(&
Manager, SIGNAL(NotifyCurrentInstrument(
tResourceName)));
136 QSignalSpy l_NotifyIdentificationSpy(&
Manager, SIGNAL(NotifyIdentification(
sIdentifier)));
137 QSignalSpy l_NotifyRangeListSpy(&
Manager, SIGNAL(NotifyRangeList(
CFluxList)));
147 QSignalSpy l_NotifySleepParmSpy(&
Manager, SIGNAL(NotifySleepParm(
bool)));
158 QCOMPARE(l_NotifyInstrumentListSpy.count(), 1);
159 m_Arguments = l_NotifyInstrumentListSpy.takeFirst();
160 m_ResourceList = qvariant_cast<CResourceList>(m_Arguments.at(0));
161 QCOMPARE(m_ResourceList.size(), 1ul);
168 QCOMPARE(l_NotifyOperatingModeSpy.count(), 1);
169 m_Arguments = l_NotifyOperatingModeSpy.takeFirst();
170 m_OperatingMode = qvariant_cast<eTHM1176OperatingMode>(m_Arguments.at(0));
174 QCOMPARE(l_NotifyCurrentInstrumentSpy.count(), 1);
175 m_Arguments = l_NotifyCurrentInstrumentSpy.takeFirst();
176 m_THM1176Selected = qvariant_cast<tResourceName>(m_Arguments.at(0));
177 QCOMPARE(m_THM1176Selected, m_ResourceList[0]);
180 QCOMPARE(l_NotifyIdentificationSpy.count(), 1);
181 m_Arguments = l_NotifyIdentificationSpy.takeFirst();
182 m_Identification = qvariant_cast<sIdentifier>(m_Arguments.at(0));
183 QVERIFY(!m_Identification.Manufacturer.empty() && !m_Identification.Model.empty() && m_Identification.SerialNumber != 0);
185 QCOMPARE(l_NotifyRangeListSpy.count(), 1);
186 m_Arguments = l_NotifyRangeListSpy.takeFirst();
187 m_RangeList = qvariant_cast<CFluxList>(m_Arguments.at(0));
188 QVERIFY(!m_RangeList.empty());
190 QCOMPARE(l_NotifyUnitsListSpy.count(), 1);
191 m_Arguments = l_NotifyUnitsListSpy.takeFirst();
192 m_UnitsList = qvariant_cast<CTHM1176UnitsList>(m_Arguments.at(0));
193 QVERIFY(!m_UnitsList.empty());
195 QCOMPARE(l_NotifyDivisorListSpy.count(), 1);
196 m_Arguments = l_NotifyDivisorListSpy.takeFirst();
197 m_DivisorList = qvariant_cast<CDivisorList>(m_Arguments.at(0));
198 QVERIFY(!m_DivisorList.empty());
200 QCOMPARE(l_NotifyAveragingParmBoundsSpy.count(), 1);
201 m_Arguments = l_NotifyAveragingParmBoundsSpy.takeFirst();
202 m_AveragingBounds = qvariant_cast<sAveraging<sBoundedParm>>(m_Arguments.at(0));
203 QVERIFY(m_AveragingBounds.NoPoints.Val != 0 && m_AveragingBounds.NoPoints.Min != 0 &&
204 m_AveragingBounds.NoPoints.Max != 0 && m_AveragingBounds.NoPoints.Def != 0);
206 QCOMPARE(l_NotifyTriggerParmBoundsSpy.count(), 1);
207 m_Arguments = l_NotifyTriggerParmBoundsSpy.takeFirst();
208 m_TriggerBounds = qvariant_cast<sInputTrigger<sBoundedParm>>(m_Arguments.at(0));
209 QVERIFY(m_TriggerBounds.Period_s.Val != 0 && m_TriggerBounds.Period_s.Min != 0 &&
210 m_TriggerBounds.Period_s.Max != 0 && m_TriggerBounds.Period_s.Def != 0 &&
211 m_TriggerBounds.Count.Val != 0 && m_TriggerBounds.Count.Min != 0 &&
212 m_TriggerBounds.Count.Max != 0 && m_TriggerBounds.Count.Def != 0);
214 QCOMPARE(l_NotifyRangeParmBoundsSpy.count(), 1);
215 m_Arguments = l_NotifyRangeParmBoundsSpy.takeFirst();
216 m_RangeBounds = qvariant_cast<sRange<sBoundedParm>>(m_Arguments.at(0));
217 QVERIFY(m_RangeBounds.Range.Val != 0 && m_RangeBounds.Range.Min != 0 &&
218 m_RangeBounds.Range.Max != 0 && m_RangeBounds.Range.Def != 0);
221 QCOMPARE(l_NotifyAveragingParmsSpy.count(), 1);
222 m_Arguments = l_NotifyAveragingParmsSpy.takeFirst();
223 m_AveragingParms = qvariant_cast<sAveraging<uParm>>(m_Arguments.at(0));
224 QVERIFY(m_AveragingParms.NoPoints > 0);
226 QCOMPARE(l_NotifyTriggerParmsSpy.count(), 1);
227 m_Arguments = l_NotifyTriggerParmsSpy.takeFirst();
228 m_Trigger = qvariant_cast<sInputTrigger<uParm>>(m_Arguments.at(0));
229 QVERIFY(m_Trigger.Period_s > 0. && m_Trigger.Count > 0);
231 QCOMPARE(l_NotifyOutputSelectSpy.count(), 1);
232 m_Arguments = l_NotifyOutputSelectSpy.takeFirst();
233 m_OutputSelect = qvariant_cast<sArbitraryMeasurements>(m_Arguments.at(0));
235 QCOMPARE(l_NotifySleepParmSpy.count(), 1);
236 m_Arguments = l_NotifySleepParmSpy.takeFirst();
237 m_SleepParm = qvariant_cast<bool>(m_Arguments.at(0));
239 QCOMPARE(l_NotifyUnitsSpy.count(), 1);
240 m_Arguments = l_NotifyUnitsSpy.takeFirst();
241 m_Units = qvariant_cast<eTHM1176Units>(m_Arguments.at(0));
243 QCOMPARE(l_NotifyRangeParmsSpy.count(), 1);
244 m_Arguments = l_NotifyRangeParmsSpy.takeFirst();
245 m_RangeParms = qvariant_cast<sRange<uParm>>(m_Arguments.at(0));
247 QCOMPARE(l_NotifyCommFormatSpy.count(), 1);
248 m_Arguments = l_NotifyCommFormatSpy.takeFirst();
249 m_CommFormat = qvariant_cast<eCommunicationFormat>(m_Arguments.at(0));
251 QCOMPARE(l_NotifyErrorListSpy.count(), 0);
253 std::cout <<
"- Connected to " << m_Identification.Model <<
", S/N " << m_Identification.SerialNumber << std::endl;
257 void THM1176IM_Test03_Parameters::cleanupTestCase(
void)
264 void THM1176IM_Test03_Parameters::TestGetEqualsInitialNotify(
void)
268 QVERIFY(l_ResourceList_temp == m_ResourceList);
270 QVERIFY(l_THM1176Selected_temp == m_THM1176Selected);
272 QVERIFY(l_OperatingMode_temp == m_OperatingMode);
274 QVERIFY(l_Measurement_temp == m_Measurement);
276 QVERIFY(l_LatestErrors_temp == m_LatestErrors);
280 QVERIFY(l_Identification_temp == m_Identification);
282 QVERIFY(l_RangeList_temp == m_RangeList);
284 QVERIFY(l_UnitsList_temp == m_UnitsList);
286 QVERIFY(l_DivisorList_temp == m_DivisorList);
288 QVERIFY(l_AveragingBounds_temp == m_AveragingBounds);
290 QVERIFY(l_TriggerBounds_temp == m_TriggerBounds);
292 QVERIFY(l_RangeBounds_temp == m_RangeBounds);
296 QVERIFY(l_AveragingParms_temp == m_AveragingParms);
298 QVERIFY(l_Trigger_temp == m_Trigger);
300 QVERIFY(l_OutputSelect_temp == m_OutputSelect);
302 QVERIFY(l_SleepParm_temp == m_SleepParm);
304 QVERIFY(l_Units_temp == m_Units);
306 QVERIFY(l_RangeParms_temp == m_RangeParms);
308 QVERIFY(l_CommFormat_temp == m_CommFormat);
314 void THM1176IM_Test03_Parameters::TestSetEqualsNotifyAndGet(
void)
322 QSignalSpy l_NotifySleepParmSpy(&
Manager, SIGNAL(NotifySleepParm(
bool)));
333 QVERIFY(l_NotifyOperatingModeSpy.count() > 0);
334 m_Arguments = l_NotifyOperatingModeSpy.takeFirst();
335 m_OperatingMode = qvariant_cast<eTHM1176OperatingMode>(m_Arguments.at(0));
337 if (l_NotifyOperatingModeSpy.count() <= 0)
340 QCOMPARE(l_NotifyOperatingModeSpy.count(), 1);
342 m_Arguments = l_NotifyOperatingModeSpy.takeFirst();
343 m_OperatingMode = qvariant_cast<eTHM1176OperatingMode>(m_Arguments.at(0));
347 l_NotifyAveragingParmsSpy.clear();
348 l_NotifyTriggerParmsSpy.clear();
349 l_NotifyOutputSelectSpy.clear();
350 l_NotifySleepParmSpy.clear();
351 l_NotifyUnitsSpy.clear();
352 l_NotifyRangeParmsSpy.clear();
353 l_NotifyCommFormatSpy.clear();
360 QCOMPARE(l_NotifyAveragingParmsSpy.count(), 1);
361 m_Arguments = l_NotifyAveragingParmsSpy.takeFirst();
362 m_AveragingParms = qvariant_cast<sAveraging<uParm>>(m_Arguments.at(0));
363 QVERIFY(l_AveragingParms_temp == m_AveragingParms);
366 QVERIFY(l_AveragingParms_temp == m_AveragingParms);
368 QCOMPARE(l_NotifyErrorListSpy.count(), 0);
375 QCOMPARE(l_NotifyTriggerParmsSpy.count(), 1);
376 m_Arguments = l_NotifyTriggerParmsSpy.takeFirst();
377 m_Trigger = qvariant_cast<sInputTrigger<uParm>>(m_Arguments.at(0));
378 QVERIFY(l_Trigger_temp == m_Trigger);
381 QVERIFY(l_Trigger_temp == m_Trigger);
383 QCOMPARE(l_NotifyErrorListSpy.count(), 0);
390 QCOMPARE(l_NotifyOutputSelectSpy.count(), 1);
391 m_Arguments = l_NotifyOutputSelectSpy.takeFirst();
392 m_OutputSelect = qvariant_cast<sArbitraryMeasurements>(m_Arguments.at(0));
393 QVERIFY(l_OutputSelect_temp == m_OutputSelect);
396 QVERIFY(l_OutputSelect_temp == m_OutputSelect);
398 QCOMPARE(l_NotifyErrorListSpy.count(), 0);
401 bool l_SleepParm_temp = !m_SleepParm;
405 QCOMPARE(l_NotifySleepParmSpy.count(), 1);
406 m_Arguments = l_NotifySleepParmSpy.takeFirst();
407 m_SleepParm = qvariant_cast<bool>(m_Arguments.at(0));
408 QVERIFY(l_SleepParm_temp == m_SleepParm);
411 QVERIFY(l_SleepParm_temp == m_SleepParm);
413 QCOMPARE(l_NotifyErrorListSpy.count(), 0);
420 QCOMPARE(l_NotifyUnitsSpy.count(), 1);
421 m_Arguments = l_NotifyUnitsSpy.takeFirst();
422 m_Units = qvariant_cast<eTHM1176Units>(m_Arguments.at(0));
423 QVERIFY(l_Units_temp == m_Units);
426 QVERIFY(l_Units_temp == m_Units);
428 QCOMPARE(l_NotifyErrorListSpy.count(), 0);
435 QCOMPARE(l_NotifyRangeParmsSpy.count(), 1);
436 m_Arguments = l_NotifyRangeParmsSpy.takeFirst();
437 m_RangeParms = qvariant_cast<sRange<uParm>>(m_Arguments.at(0));
438 QVERIFY(l_RangeParms_temp == m_RangeParms);
441 QVERIFY(l_RangeParms_temp == m_RangeParms);
443 QCOMPARE(l_NotifyErrorListSpy.count(), 0);
450 QCOMPARE(l_NotifyCommFormatSpy.count(), 1);
451 m_Arguments = l_NotifyCommFormatSpy.takeFirst();
452 m_CommFormat = qvariant_cast<eCommunicationFormat>(m_Arguments.at(0));
453 QVERIFY(l_CommFormat_temp == m_CommFormat);
456 QVERIFY(l_CommFormat_temp == m_CommFormat);
458 QCOMPARE(l_NotifyErrorListSpy.count(), 0);
464 void THM1176IM_Test03_Parameters::TestNotifyAndGetAfterReset(
void)
472 QSignalSpy l_NotifySleepParmSpy(&
Manager, SIGNAL(NotifySleepParm(
bool)));
483 QVERIFY(l_NotifyOperatingModeSpy.count() > 0);
484 m_Arguments = l_NotifyOperatingModeSpy.takeFirst();
485 m_OperatingMode = qvariant_cast<eTHM1176OperatingMode>(m_Arguments.at(0));
487 if (l_NotifyOperatingModeSpy.count() <= 0)
490 QCOMPARE(l_NotifyOperatingModeSpy.count(), 1);
492 m_Arguments = l_NotifyOperatingModeSpy.takeFirst();
493 m_OperatingMode = qvariant_cast<eTHM1176OperatingMode>(m_Arguments.at(0));
497 QCOMPARE(l_NotifyErrorListSpy.count(), 0);
501 if (l_AveragingParms_temp != m_AveragingParms)
503 QCOMPARE(l_NotifyAveragingParmsSpy.count(), 1);
504 m_Arguments = l_NotifyAveragingParmsSpy.takeFirst();
505 m_AveragingParms = qvariant_cast<sAveraging<uParm>>(m_Arguments.at(0));
506 QVERIFY(l_AveragingParms_temp == m_AveragingParms);
509 QVERIFY(l_AveragingParms_temp == m_AveragingParms);
513 if (l_Trigger_temp != m_Trigger)
515 QCOMPARE(l_NotifyTriggerParmsSpy.count(), 1);
516 m_Arguments = l_NotifyTriggerParmsSpy.takeFirst();
517 m_Trigger = qvariant_cast<sInputTrigger<uParm>>(m_Arguments.at(0));
518 QVERIFY(l_Trigger_temp == m_Trigger);
521 QVERIFY(l_Trigger_temp == m_Trigger);
525 if (l_OutputSelect_temp != m_OutputSelect)
527 QCOMPARE(l_NotifyOutputSelectSpy.count(), 1);
528 m_Arguments = l_NotifyOutputSelectSpy.takeFirst();
529 m_OutputSelect = qvariant_cast<sArbitraryMeasurements>(m_Arguments.at(0));
530 QVERIFY(l_OutputSelect_temp == m_OutputSelect);
533 QVERIFY(l_OutputSelect_temp == m_OutputSelect);
536 bool l_SleepParm_temp =
false;
537 if (l_SleepParm_temp != m_SleepParm)
539 QCOMPARE(l_NotifySleepParmSpy.count(), 1);
540 m_Arguments = l_NotifySleepParmSpy.takeFirst();
541 m_SleepParm = qvariant_cast<bool>(m_Arguments.at(0));
542 QVERIFY(l_SleepParm_temp == m_SleepParm);
545 QVERIFY(l_SleepParm_temp == m_SleepParm);
549 if (l_Units_temp != m_Units)
551 QCOMPARE(l_NotifyUnitsSpy.count(), 1);
552 m_Arguments = l_NotifyUnitsSpy.takeFirst();
553 m_Units = qvariant_cast<eTHM1176Units>(m_Arguments.at(0));
554 QVERIFY(l_Units_temp == m_Units);
557 QVERIFY(l_Units_temp == m_Units);
560 sRange<uParm> l_RangeParms_temp = {
true, m_RangeList.back()};
561 if (l_RangeParms_temp != m_RangeParms)
563 QCOMPARE(l_NotifyRangeParmsSpy.count(), 1);
564 m_Arguments = l_NotifyRangeParmsSpy.takeFirst();
565 m_RangeParms = qvariant_cast<sRange<uParm>>(m_Arguments.at(0));
566 QVERIFY(l_RangeParms_temp == m_RangeParms);
569 QVERIFY(l_RangeParms_temp == m_RangeParms);
573 if (l_CommFormat_temp != m_CommFormat)
575 QCOMPARE(l_NotifyCommFormatSpy.count(), 1);
576 m_Arguments = l_NotifyCommFormatSpy.takeFirst();
577 m_CommFormat = qvariant_cast<eCommunicationFormat>(m_Arguments.at(0));
578 QVERIFY(l_CommFormat_temp == m_CommFormat);
581 QVERIFY(l_CommFormat_temp == m_CommFormat);
587 void THM1176IM_Test03_Parameters::TestGetAfterSetError(
void)
595 QSignalSpy l_NotifySleepParmSpy(&
Manager, SIGNAL(NotifySleepParm(
bool)));
606 QVERIFY(l_NotifyOperatingModeSpy.count() > 0);
607 m_Arguments = l_NotifyOperatingModeSpy.takeFirst();
608 m_OperatingMode = qvariant_cast<eTHM1176OperatingMode>(m_Arguments.at(0));
610 if (l_NotifyOperatingModeSpy.count() <= 0)
613 QCOMPARE(l_NotifyOperatingModeSpy.count(), 1);
615 m_Arguments = l_NotifyOperatingModeSpy.takeFirst();
616 m_OperatingMode = qvariant_cast<eTHM1176OperatingMode>(m_Arguments.at(0));
620 l_NotifyAveragingParmsSpy.clear();
621 l_NotifyTriggerParmsSpy.clear();
622 l_NotifyOutputSelectSpy.clear();
623 l_NotifySleepParmSpy.clear();
624 l_NotifyUnitsSpy.clear();
625 l_NotifyRangeParmsSpy.clear();
626 l_NotifyCommFormatSpy.clear();
627 l_NotifyErrorListSpy.clear();
642 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
643 l_NotifyErrorListSpy.clear();
644 QCOMPARE(l_NotifyAveragingParmsSpy.count(), 0);
646 QVERIFY(l_AveragingParms_temp == m_AveragingParms);
649 l_AveragingParms_temp = {
static_cast<U16>(m_AveragingBounds.NoPoints.Max + 1) };
652 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
653 l_NotifyErrorListSpy.clear();
654 QCOMPARE(l_NotifyAveragingParmsSpy.count(), 0);
656 QVERIFY(l_AveragingParms_temp == m_AveragingParms);
662 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
663 l_NotifyErrorListSpy.clear();
664 QCOMPARE(l_NotifyTriggerParmsSpy.count(), 0);
666 QVERIFY(l_Trigger_temp == m_Trigger);
672 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
673 l_NotifyErrorListSpy.clear();
674 QCOMPARE(l_NotifyTriggerParmsSpy.count(), 0);
676 QVERIFY(l_Trigger_temp == m_Trigger);
682 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
683 l_NotifyErrorListSpy.clear();
684 QCOMPARE(l_NotifyTriggerParmsSpy.count(), 0);
686 QVERIFY(l_Trigger_temp == m_Trigger);
692 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
693 l_NotifyErrorListSpy.clear();
694 QCOMPARE(l_NotifyTriggerParmsSpy.count(), 0);
696 QVERIFY(l_Trigger_temp == m_Trigger);
702 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
703 l_NotifyErrorListSpy.clear();
704 QCOMPARE(l_NotifyOutputSelectSpy.count(), 0);
706 QVERIFY(l_OutputSelect_temp == m_OutputSelect);
709 l_OutputSelect_temp = {
false,
true,
false,
true,
false, 2 };
712 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
713 l_NotifyErrorListSpy.clear();
714 QCOMPARE(l_NotifyOutputSelectSpy.count(), 0);
716 QVERIFY(l_OutputSelect_temp == m_OutputSelect);
720 std::set<eTHM1176Units> l_SupportedUnits;
721 for (
auto l_pUnits = m_UnitsList.begin(); l_pUnits < m_UnitsList.end(); l_pUnits++)
722 l_SupportedUnits.insert(*l_pUnits);
726 if (l_SupportedUnits.count(m_Units) == 0)
727 l_Units_temp = m_Units;
731 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
732 l_NotifyErrorListSpy.clear();
733 QCOMPARE(l_NotifyUnitsSpy.count(), 0);
735 QVERIFY(l_Units_temp == m_Units);
741 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
742 l_NotifyErrorListSpy.clear();
743 QCOMPARE(l_NotifyRangeParmsSpy.count(), 0);
745 QVERIFY(l_RangeParms_temp == m_RangeParms);
751 void THM1176IM_Test03_Parameters::TestSetTriggerDuringContinuousMeasurement(
void)
763 QVERIFY(l_NotifyOperatingModeSpy.count() > 0);
764 m_Arguments = l_NotifyOperatingModeSpy.takeFirst();
765 m_OperatingMode = qvariant_cast<eTHM1176OperatingMode>(m_Arguments.at(0));
767 if (l_NotifyOperatingModeSpy.count() <= 0)
770 QCOMPARE(l_NotifyOperatingModeSpy.count(), 1);
772 m_Arguments = l_NotifyOperatingModeSpy.takeFirst();
773 m_OperatingMode = qvariant_cast<eTHM1176OperatingMode>(m_Arguments.at(0));
781 QCOMPARE(l_NotifyTriggerParmsSpy.count(), 1);
782 m_Arguments = l_NotifyTriggerParmsSpy.takeFirst();
783 m_Trigger = qvariant_cast<sInputTrigger<uParm>>(m_Arguments.at(0));
784 QVERIFY(l_Trigger_temp == m_Trigger);
785 QCOMPARE(l_NotifyErrorListSpy.count(), 0);
791 QCOMPARE(l_NotifyOperatingModeSpy.count(), 1);
792 m_Arguments = l_NotifyOperatingModeSpy.takeFirst();
793 m_OperatingMode = qvariant_cast<eTHM1176OperatingMode>(m_Arguments.at(0));
800 QCOMPARE(l_NotifyTriggerParmsSpy.count(), 0);
801 QCOMPARE(l_NotifyErrorListSpy.count(), 0);
808 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
809 l_NotifyErrorListSpy.clear();
810 QCOMPARE(l_NotifyTriggerParmsSpy.count(), 0);
812 QVERIFY(l_Trigger_temp == m_Trigger);
818 QCOMPARE(l_NotifyOperatingModeSpy.count(), 1);
819 m_Arguments = l_NotifyOperatingModeSpy.takeFirst();
820 m_OperatingMode = qvariant_cast<eTHM1176OperatingMode>(m_Arguments.at(0));
823 QCOMPARE(l_NotifyErrorListSpy.count(), 0);
829 void THM1176IM_Test03_Parameters::TestSetAndGetAfterDisconnect(
void)
832 QSignalSpy l_NotifyCurrentInstrumentSpy(&
Manager, SIGNAL(NotifyCurrentInstrument(
tResourceName)));
835 QSignalSpy l_NotifyIdentificationSpy(&
Manager, SIGNAL(NotifyIdentification(
sIdentifier)));
836 QSignalSpy l_NotifyRangeListSpy(&
Manager, SIGNAL(NotifyRangeList(
CFluxList)));
846 QSignalSpy l_NotifySleepParmSpy(&
Manager, SIGNAL(NotifySleepParm(
bool)));
859 QCOMPARE(l_NotifyCommFormatSpy.count(), 1);
860 m_Arguments = l_NotifyCommFormatSpy.takeFirst();
861 m_CommFormat = qvariant_cast<eCommunicationFormat>(m_Arguments.at(0));
865 QCOMPARE(l_NotifyCurrentInstrumentSpy.count(), 1);
866 m_Arguments = l_NotifyCurrentInstrumentSpy.takeFirst();
867 m_THM1176Selected = qvariant_cast<tResourceName>(m_Arguments.at(0));
868 QVERIFY(m_THM1176Selected.empty());
870 QCOMPARE(l_NotifyOperatingModeSpy.count(), 1);
871 m_Arguments = l_NotifyOperatingModeSpy.takeFirst();
872 m_OperatingMode = qvariant_cast<eTHM1176OperatingMode>(m_Arguments.at(0));
875 QCOMPARE(l_NotifyIdentificationSpy.count(), 1);
876 m_Arguments = l_NotifyIdentificationSpy.takeFirst();
877 m_Identification = qvariant_cast<sIdentifier>(m_Arguments.at(0));
878 QVERIFY(m_Identification.Manufacturer.empty() && m_Identification.Model.empty() && m_Identification.SerialNumber == 0);
880 QCOMPARE(l_NotifyRangeListSpy.count(), 1);
881 m_Arguments = l_NotifyRangeListSpy.takeFirst();
882 m_RangeList = qvariant_cast<CFluxList>(m_Arguments.at(0));
883 QVERIFY(m_RangeList.empty());
885 QCOMPARE(l_NotifyUnitsListSpy.count(), 1);
886 m_Arguments = l_NotifyUnitsListSpy.takeFirst();
887 m_UnitsList = qvariant_cast<CTHM1176UnitsList>(m_Arguments.at(0));
888 QVERIFY(m_UnitsList.empty());
890 QCOMPARE(l_NotifyDivisorListSpy.count(), 1);
891 m_Arguments = l_NotifyDivisorListSpy.takeFirst();
892 m_DivisorList = qvariant_cast<CDivisorList>(m_Arguments.at(0));
893 QVERIFY(m_DivisorList.empty());
895 QCOMPARE(l_NotifyAveragingParmBoundsSpy.count(), 1);
896 m_Arguments = l_NotifyAveragingParmBoundsSpy.takeFirst();
897 m_AveragingBounds = qvariant_cast<sAveraging<sBoundedParm>>(m_Arguments.at(0));
898 QVERIFY(m_AveragingBounds.NoPoints.Val == 0 && m_AveragingBounds.NoPoints.Min == 0 &&
899 m_AveragingBounds.NoPoints.Max == 0 && m_AveragingBounds.NoPoints.Def == 0);
901 QCOMPARE(l_NotifyTriggerParmBoundsSpy.count(), 1);
902 m_Arguments = l_NotifyTriggerParmBoundsSpy.takeFirst();
903 m_TriggerBounds = qvariant_cast<sInputTrigger<sBoundedParm>>(m_Arguments.at(0));
904 QVERIFY(m_TriggerBounds.Period_s.Val == 0 && m_TriggerBounds.Period_s.Min == 0 &&
905 m_TriggerBounds.Period_s.Max == 0 && m_TriggerBounds.Period_s.Def == 0 &&
906 m_TriggerBounds.Count.Val == 0 && m_TriggerBounds.Count.Min == 0 &&
907 m_TriggerBounds.Count.Max == 0 && m_TriggerBounds.Count.Def == 0);
909 QCOMPARE(l_NotifyRangeParmBoundsSpy.count(), 1);
910 m_Arguments = l_NotifyRangeParmBoundsSpy.takeFirst();
911 m_RangeBounds = qvariant_cast<sRange<sBoundedParm>>(m_Arguments.at(0));
912 QVERIFY(m_RangeBounds.Range.Val == 0 && m_RangeBounds.Range.Min == 0 &&
913 m_RangeBounds.Range.Max == 0 && m_RangeBounds.Range.Def == 0);
915 QCOMPARE(l_NotifyAveragingParmsSpy.count(), 1);
916 m_Arguments = l_NotifyAveragingParmsSpy.takeFirst();
917 m_AveragingParms = qvariant_cast<sAveraging<uParm>>(m_Arguments.at(0));
918 QVERIFY(m_AveragingParms.NoPoints == 0);
920 QCOMPARE(l_NotifyTriggerParmsSpy.count(), 1);
921 m_Arguments = l_NotifyTriggerParmsSpy.takeFirst();
922 m_Trigger = qvariant_cast<sInputTrigger<uParm>>(m_Arguments.at(0));
923 QVERIFY(m_Trigger.Period_s == 0. && m_Trigger.Count == 0);
925 QCOMPARE(l_NotifyOutputSelectSpy.count(), 1);
926 m_Arguments = l_NotifyOutputSelectSpy.takeFirst();
927 m_OutputSelect = qvariant_cast<sArbitraryMeasurements>(m_Arguments.at(0));
928 QVERIFY(m_OutputSelect.Bx && m_OutputSelect.By && m_OutputSelect.Bz &&
929 m_OutputSelect.Temperature && m_OutputSelect.Timestamp &&
930 m_OutputSelect.NoMeasurements == 1);
932 QCOMPARE(l_NotifySleepParmSpy.count(), 1);
933 m_Arguments = l_NotifySleepParmSpy.takeFirst();
934 m_SleepParm = qvariant_cast<bool>(m_Arguments.at(0));
935 QVERIFY(!m_SleepParm);
937 QCOMPARE(l_NotifyUnitsSpy.count(), 1);
938 m_Arguments = l_NotifyUnitsSpy.takeFirst();
939 m_Units = qvariant_cast<eTHM1176Units>(m_Arguments.at(0));
942 QCOMPARE(l_NotifyRangeParmsSpy.count(), 1);
943 m_Arguments = l_NotifyRangeParmsSpy.takeFirst();
944 m_RangeParms = qvariant_cast<sRange<uParm>>(m_Arguments.at(0));
945 QVERIFY(!m_RangeParms.Auto && m_RangeParms.Range == 0.f);
950 QCOMPARE(l_NotifyErrorListSpy.count(), 0);
951 QVERIFY(l_THM1176Selected_temp.empty());
956 QCOMPARE(l_NotifyErrorListSpy.count(), 0);
962 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
963 l_NotifyErrorListSpy.clear();
964 QCOMPARE(m_Measurement.Bx.size(), 0ul);
965 QCOMPARE(m_Measurement.By.size(), 0ul);
966 QCOMPARE(m_Measurement.Bz.size(), 0ul);
967 QCOMPARE(m_Measurement.Units,
MTL::kT);
968 QVERIFY(m_Measurement.Temp == 0);
969 QCOMPARE(m_Measurement.TimestampList.size(), 0ul);
970 QCOMPARE(m_Measurement.Warnings.size(), 0ul);
975 QCOMPARE(l_NotifyErrorListSpy.count(), 0);
976 QCOMPARE(l_LatestErrors_temp.size(), 1ul);
981 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
982 l_NotifyErrorListSpy.clear();
983 QVERIFY(l_Identification_temp == m_Identification);
988 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
989 l_NotifyErrorListSpy.clear();
990 QVERIFY(l_RangeList_temp == m_RangeList);
995 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
996 l_NotifyErrorListSpy.clear();
997 QVERIFY(l_UnitsList_temp == m_UnitsList);
1002 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
1003 l_NotifyErrorListSpy.clear();
1004 QVERIFY(l_DivisorList_temp == m_DivisorList);
1009 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
1010 l_NotifyErrorListSpy.clear();
1011 QVERIFY(l_AveragingBounds_temp == m_AveragingBounds);
1016 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
1017 l_NotifyErrorListSpy.clear();
1018 QVERIFY(l_TriggerBounds_temp == m_TriggerBounds);
1023 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
1024 l_NotifyErrorListSpy.clear();
1025 QVERIFY(l_RangeBounds_temp == m_RangeBounds);
1031 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
1032 l_NotifyErrorListSpy.clear();
1033 QCOMPARE(l_NotifyAveragingParmsSpy.count(), 0);
1037 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
1038 l_NotifyErrorListSpy.clear();
1039 QVERIFY(l_AveragingParms_temp == m_AveragingParms);
1045 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
1046 l_NotifyErrorListSpy.clear();
1047 QCOMPARE(l_NotifyTriggerParmsSpy.count(), 0);
1051 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
1052 l_NotifyErrorListSpy.clear();
1053 QVERIFY(l_Trigger_temp == m_Trigger);
1059 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
1060 l_NotifyErrorListSpy.clear();
1061 QCOMPARE(l_NotifyOutputSelectSpy.count(), 0);
1065 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
1066 l_NotifyErrorListSpy.clear();
1067 QVERIFY(l_OutputSelect_temp == m_OutputSelect);
1070 bool l_SleepParm_temp = !m_SleepParm;
1073 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
1074 l_NotifyErrorListSpy.clear();
1075 QCOMPARE(l_NotifySleepParmSpy.count(), 0);
1079 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
1080 l_NotifyErrorListSpy.clear();
1081 QVERIFY(l_SleepParm_temp == m_SleepParm);
1087 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
1088 l_NotifyErrorListSpy.clear();
1089 QCOMPARE(l_NotifyUnitsSpy.count(), 0);
1093 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
1094 l_NotifyErrorListSpy.clear();
1095 QVERIFY(l_Units_temp == m_Units);
1101 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
1102 l_NotifyErrorListSpy.clear();
1103 QCOMPARE(l_NotifyRangeParmsSpy.count(), 0);
1107 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
1108 l_NotifyErrorListSpy.clear();
1109 QVERIFY(l_RangeParms_temp == m_RangeParms);
1115 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
1116 l_NotifyErrorListSpy.clear();
1117 QCOMPARE(l_NotifyCommFormatSpy.count(), 0);
1121 QCOMPARE(l_NotifyErrorListSpy.count(), 1);
1122 l_NotifyErrorListSpy.clear();
1123 QVERIFY(l_CommFormat_temp == m_CommFormat);
1132 #include "THM1176IM_Test03_Parameters.moc"