Engauge Digitizer  2
 All Classes Functions Variables Typedefs Enumerations Friends Pages
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 QString NO_REGRESSION_OPEN_FILE;
25  const bool NO_GNUPLOT_LOG_FILES = false;
26  const bool NO_REGRESSION_IMPORT = false;
27  const bool NO_RESET = false;
28  const bool NO_EXPORT_ONLY = false;
29  const bool DEBUG_FLAG = false;
30  const QStringList NO_LOAD_STARTUP_FILES;
31 
32  initializeLogging ("engauge_test",
33  "engauge_test.log",
34  DEBUG_FLAG);
35 
36  MainWindow w (NO_ERROR_REPORT_LOG_FILE,
37  NO_REGRESSION_OPEN_FILE,
38  NO_REGRESSION_IMPORT,
39  NO_GNUPLOT_LOG_FILES,
40  NO_RESET,
41  NO_EXPORT_ONLY,
42  NO_LOAD_STARTUP_FILES);
43  w.show ();
44 }
45 
46 bool TestValidators::stateDateTime (const QString &string,
47  QValidator::State expectedState)
48 {
49  int pos;
50 
51  DlgValidatorDateTime validator (COORD_SCALE_LOG,
52  COORD_UNITS_DATE_YEAR_MONTH_DAY,
53  COORD_UNITS_TIME_HOUR_MINUTE_SECOND);
54 
55  QString stringLocal = string;
56  return (validator.validate (stringLocal,
57  pos) == expectedState);
58 }
59 
60 bool TestValidators::stateDegreesMinutesSeconds (const QString &string,
61  QValidator::State expectedState)
62 {
63  int pos;
64 
65  DlgValidatorDegreesMinutesSeconds validator (COORD_SCALE_LOG);
66 
67  QString stringLocal = string;
68  return (validator.validate (stringLocal,
69  pos) == expectedState);
70 }
71 
72 bool TestValidators::stateNumber(const QString &string,
73  QValidator::State expectedState)
74 {
75  int pos;
76  const QLocale locale;
77 
78  DlgValidatorNumber validator (COORD_SCALE_LOG,
79  locale);
80 
81  QString stringLocal = string;
82  return (validator.validate (stringLocal,
83  pos) == expectedState);
84 }
85 
86 void TestValidators::testDateTimeDate ()
87 {
88  QVERIFY (stateDateTime ("2015/01/02", QValidator::Acceptable));
89 }
90 
91 void TestValidators::testDateTimeDateTime ()
92 {
93  QVERIFY (stateDateTime ("2015/01/02 01:02:03", QValidator::Acceptable));
94 }
95 
96 void TestValidators::testDateTimeDateTimePm ()
97 {
98  QVERIFY (stateDateTime ("2015/01/02 01:02:03 PM", QValidator::Acceptable));
99 }
100 
101 void TestValidators::testDateTimeTime ()
102 {
103  QVERIFY (stateDateTime ("01:02:03", QValidator::Acceptable));
104 }
105 
106 void TestValidators::testDegreesMinutesSecondsDegrees ()
107 {
108  QVERIFY (stateDegreesMinutesSeconds ("180", QValidator::Acceptable));
109 }
110 
111 void TestValidators::testDegreesMinutesSecondsDegreesMinutes ()
112 {
113  QVERIFY (stateDegreesMinutesSeconds ("180 10", QValidator::Acceptable));
114 }
115 
116 void TestValidators::testDegreesMinutesSecondsDegreesMinutesSeconds ()
117 {
118  QVERIFY (stateDegreesMinutesSeconds ("180 10 20", QValidator::Acceptable));
119 }
120 
121 void TestValidators::testNumberInteger ()
122 {
123  QVERIFY (stateNumber ("1", QValidator::Acceptable));
124 }
125 
126 void TestValidators::testNumberReal ()
127 {
128  QVERIFY (stateNumber ("1.1", QValidator::Acceptable));
129 }
130 
131 void TestValidators::testNumberRealBad ()
132 {
133  QVERIFY (stateNumber ("1.1.", QValidator::Invalid));
134 }
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:89