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