Engauge Digitizer  2
TestValidators.cpp
1 #include "CoordUnitsNonPolarTheta.h"
2 #include "DlgValidatorDateTime.h"
3 #include "DlgValidatorDegreesMinutesSeconds.h"
4 #include "DlgValidatorNumber.h"
5 #include "Logger.h"
6 #include "MainWindow.h"
7 #include <QtTest/QtTest>
8 #include "Test/TestValidators.h"
9 
10 QTEST_MAIN (TestValidators)
11 
12 TestValidators::TestValidators(QObject *parent) :
13  QObject(parent)
14 {
15 }
16 
17 void TestValidators::cleanupTestCase ()
18 {
19 }
20 
21 void TestValidators::initTestCase ()
22 {
23  const QString NO_ERROR_REPORT_LOG_FILE;
24  const bool NO_GNUPLOT_LOG_FILES = false;
25  const bool DEBUG_FLAG = false;
26  const QStringList NO_LOAD_STARTUP_FILES;
27 
28  initializeLogging ("engauge_test",
29  "engauge_test.log",
30  DEBUG_FLAG);
31 
32  MainWindow w (NO_ERROR_REPORT_LOG_FILE,
33  NO_GNUPLOT_LOG_FILES,
34  NO_LOAD_STARTUP_FILES);
35  w.show ();
36 }
37 
38 bool TestValidators::stateDateTime (const QString &string,
39  QValidator::State expectedState)
40 {
41  int pos;
42 
43  DlgValidatorDateTime validator (COORD_SCALE_LOG,
44  COORD_UNITS_DATE_YEAR_MONTH_DAY,
45  COORD_UNITS_TIME_HOUR_MINUTE_SECOND);
46 
47  QString stringLocal = string;
48  return (validator.validate (stringLocal,
49  pos) == expectedState);
50 }
51 
52 bool TestValidators::stateDegreesMinutesSeconds (const QString &string,
53  QValidator::State expectedState)
54 {
55  int pos;
56 
57  DlgValidatorDegreesMinutesSeconds validator (COORD_SCALE_LOG);
58 
59  QString stringLocal = string;
60  return (validator.validate (stringLocal,
61  pos) == expectedState);
62 }
63 
64 bool TestValidators::stateNumber(const QString &string,
65  QValidator::State expectedState)
66 {
67  int pos;
68 
69  DlgValidatorNumber validator (COORD_SCALE_LOG);
70 
71  QString stringLocal = string;
72  return (validator.validate (stringLocal,
73  pos) == expectedState);
74 }
75 
76 void TestValidators::testDateTimeDate ()
77 {
78  QVERIFY (stateDateTime ("2015/01/02", QValidator::Acceptable));
79 }
80 
81 void TestValidators::testDateTimeDateTime ()
82 {
83  QVERIFY (stateDateTime ("2015/01/02 01:02:03", QValidator::Acceptable));
84 }
85 
86 void TestValidators::testDateTimeDateTimePm ()
87 {
88  QVERIFY (stateDateTime ("2015/01/02 01:02:03 PM", QValidator::Acceptable));
89 }
90 
91 void TestValidators::testDateTimeTime ()
92 {
93  QVERIFY (stateDateTime ("01:02:03", QValidator::Acceptable));
94 }
95 
96 void TestValidators::testDegreesMinutesSecondsDegrees ()
97 {
98  QVERIFY (stateDegreesMinutesSeconds ("180", QValidator::Acceptable));
99 }
100 
101 void TestValidators::testDegreesMinutesSecondsDegreesMinutes ()
102 {
103  QVERIFY (stateDegreesMinutesSeconds ("180 10", QValidator::Acceptable));
104 }
105 
106 void TestValidators::testDegreesMinutesSecondsDegreesMinutesSeconds ()
107 {
108  QVERIFY (stateDegreesMinutesSeconds ("180 10 20", QValidator::Acceptable));
109 }
110 
111 void TestValidators::testNumberInteger ()
112 {
113  QVERIFY (stateNumber ("1", QValidator::Acceptable));
114 }
115 
116 void TestValidators::testNumberReal ()
117 {
118  QVERIFY (stateNumber ("1.1", QValidator::Acceptable));
119 }
120 
121 void TestValidators::testNumberRealBad ()
122 {
123  QVERIFY (stateNumber ("1.1.", QValidator::Invalid));
124 }
Validator for numeric value expressed as date and/or time.
Validator for angles in real degrees, integer degrees and real minutes, or integer degrees with integ...
Unit tests of validators.
Validator for generic (=simple) numbers.
Main window consisting of menu, graphics scene, status bar and optional toolbars as a Single Document...
Definition: MainWindow.h:66