00001 #include "CoordUnitsNonPolarTheta.h"
00002 #include "DlgValidatorDateTime.h"
00003 #include "DlgValidatorDegreesMinutesSeconds.h"
00004 #include "DlgValidatorNumber.h"
00005 #include "Logger.h"
00006 #include "MainWindow.h"
00007 #include <QtTest/QtTest>
00008 #include "Test/TestValidators.h"
00009
00010 QTEST_MAIN (TestValidators)
00011
00012 TestValidators::TestValidators(QObject *parent) :
00013 QObject(parent)
00014 {
00015 }
00016
00017 void TestValidators::cleanupTestCase ()
00018 {
00019 }
00020
00021 void TestValidators::initTestCase ()
00022 {
00023 const QString NO_ERROR_REPORT_LOG_FILE;
00024 const QString NO_REGRESSION_OPEN_FILE;
00025 const bool NO_GNUPLOT_LOG_FILES = false;
00026 const bool NO_REGRESSION_IMPORT = false;
00027 const bool NO_RESET = false;
00028 const bool DEBUG_FLAG = false;
00029 const QStringList NO_LOAD_STARTUP_FILES;
00030
00031 initializeLogging ("engauge_test",
00032 "engauge_test.log",
00033 DEBUG_FLAG);
00034
00035 MainWindow w (NO_ERROR_REPORT_LOG_FILE,
00036 NO_REGRESSION_OPEN_FILE,
00037 NO_GNUPLOT_LOG_FILES,
00038 NO_REGRESSION_IMPORT,
00039 NO_RESET,
00040 NO_LOAD_STARTUP_FILES);
00041 w.show ();
00042 }
00043
00044 bool TestValidators::stateDateTime (const QString &string,
00045 QValidator::State expectedState)
00046 {
00047 int pos;
00048
00049 DlgValidatorDateTime validator (COORD_SCALE_LOG,
00050 COORD_UNITS_DATE_YEAR_MONTH_DAY,
00051 COORD_UNITS_TIME_HOUR_MINUTE_SECOND);
00052
00053 QString stringLocal = string;
00054 return (validator.validate (stringLocal,
00055 pos) == expectedState);
00056 }
00057
00058 bool TestValidators::stateDegreesMinutesSeconds (const QString &string,
00059 QValidator::State expectedState)
00060 {
00061 int pos;
00062
00063 DlgValidatorDegreesMinutesSeconds validator (COORD_SCALE_LOG);
00064
00065 QString stringLocal = string;
00066 return (validator.validate (stringLocal,
00067 pos) == expectedState);
00068 }
00069
00070 bool TestValidators::stateNumber(const QString &string,
00071 QValidator::State expectedState)
00072 {
00073 int pos;
00074 const QLocale locale;
00075
00076 DlgValidatorNumber validator (COORD_SCALE_LOG,
00077 locale);
00078
00079 QString stringLocal = string;
00080 return (validator.validate (stringLocal,
00081 pos) == expectedState);
00082 }
00083
00084 void TestValidators::testDateTimeDate ()
00085 {
00086 QVERIFY (stateDateTime ("2015/01/02", QValidator::Acceptable));
00087 }
00088
00089 void TestValidators::testDateTimeDateTime ()
00090 {
00091 QVERIFY (stateDateTime ("2015/01/02 01:02:03", QValidator::Acceptable));
00092 }
00093
00094 void TestValidators::testDateTimeDateTimePm ()
00095 {
00096 QVERIFY (stateDateTime ("2015/01/02 01:02:03 PM", QValidator::Acceptable));
00097 }
00098
00099 void TestValidators::testDateTimeTime ()
00100 {
00101 QVERIFY (stateDateTime ("01:02:03", QValidator::Acceptable));
00102 }
00103
00104 void TestValidators::testDegreesMinutesSecondsDegrees ()
00105 {
00106 QVERIFY (stateDegreesMinutesSeconds ("180", QValidator::Acceptable));
00107 }
00108
00109 void TestValidators::testDegreesMinutesSecondsDegreesMinutes ()
00110 {
00111 QVERIFY (stateDegreesMinutesSeconds ("180 10", QValidator::Acceptable));
00112 }
00113
00114 void TestValidators::testDegreesMinutesSecondsDegreesMinutesSeconds ()
00115 {
00116 QVERIFY (stateDegreesMinutesSeconds ("180 10 20", QValidator::Acceptable));
00117 }
00118
00119 void TestValidators::testNumberInteger ()
00120 {
00121 QVERIFY (stateNumber ("1", QValidator::Acceptable));
00122 }
00123
00124 void TestValidators::testNumberReal ()
00125 {
00126 QVERIFY (stateNumber ("1.1", QValidator::Acceptable));
00127 }
00128
00129 void TestValidators::testNumberRealBad ()
00130 {
00131 QVERIFY (stateNumber ("1.1.", QValidator::Invalid));
00132 }