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 DEBUG_FLAG = false; 00028 const QStringList NO_LOAD_STARTUP_FILES; 00029 00030 initializeLogging ("engauge_test", 00031 "engauge_test.log", 00032 DEBUG_FLAG); 00033 00034 MainWindow w (NO_ERROR_REPORT_LOG_FILE, 00035 NO_REGRESSION_OPEN_FILE, 00036 NO_GNUPLOT_LOG_FILES, 00037 NO_REGRESSION_IMPORT, 00038 NO_LOAD_STARTUP_FILES); 00039 w.show (); 00040 } 00041 00042 bool TestValidators::stateDateTime (const QString &string, 00043 QValidator::State expectedState) 00044 { 00045 int pos; 00046 00047 DlgValidatorDateTime validator (COORD_SCALE_LOG, 00048 COORD_UNITS_DATE_YEAR_MONTH_DAY, 00049 COORD_UNITS_TIME_HOUR_MINUTE_SECOND); 00050 00051 QString stringLocal = string; 00052 return (validator.validate (stringLocal, 00053 pos) == expectedState); 00054 } 00055 00056 bool TestValidators::stateDegreesMinutesSeconds (const QString &string, 00057 QValidator::State expectedState) 00058 { 00059 int pos; 00060 00061 DlgValidatorDegreesMinutesSeconds validator (COORD_SCALE_LOG); 00062 00063 QString stringLocal = string; 00064 return (validator.validate (stringLocal, 00065 pos) == expectedState); 00066 } 00067 00068 bool TestValidators::stateNumber(const QString &string, 00069 QValidator::State expectedState) 00070 { 00071 int pos; 00072 const QLocale locale; 00073 00074 DlgValidatorNumber validator (COORD_SCALE_LOG, 00075 locale); 00076 00077 QString stringLocal = string; 00078 return (validator.validate (stringLocal, 00079 pos) == expectedState); 00080 } 00081 00082 void TestValidators::testDateTimeDate () 00083 { 00084 QVERIFY (stateDateTime ("2015/01/02", QValidator::Acceptable)); 00085 } 00086 00087 void TestValidators::testDateTimeDateTime () 00088 { 00089 QVERIFY (stateDateTime ("2015/01/02 01:02:03", QValidator::Acceptable)); 00090 } 00091 00092 void TestValidators::testDateTimeDateTimePm () 00093 { 00094 QVERIFY (stateDateTime ("2015/01/02 01:02:03 PM", QValidator::Acceptable)); 00095 } 00096 00097 void TestValidators::testDateTimeTime () 00098 { 00099 QVERIFY (stateDateTime ("01:02:03", QValidator::Acceptable)); 00100 } 00101 00102 void TestValidators::testDegreesMinutesSecondsDegrees () 00103 { 00104 QVERIFY (stateDegreesMinutesSeconds ("180", QValidator::Acceptable)); 00105 } 00106 00107 void TestValidators::testDegreesMinutesSecondsDegreesMinutes () 00108 { 00109 QVERIFY (stateDegreesMinutesSeconds ("180 10", QValidator::Acceptable)); 00110 } 00111 00112 void TestValidators::testDegreesMinutesSecondsDegreesMinutesSeconds () 00113 { 00114 QVERIFY (stateDegreesMinutesSeconds ("180 10 20", QValidator::Acceptable)); 00115 } 00116 00117 void TestValidators::testNumberInteger () 00118 { 00119 QVERIFY (stateNumber ("1", QValidator::Acceptable)); 00120 } 00121 00122 void TestValidators::testNumberReal () 00123 { 00124 QVERIFY (stateNumber ("1.1", QValidator::Acceptable)); 00125 } 00126 00127 void TestValidators::testNumberRealBad () 00128 { 00129 QVERIFY (stateNumber ("1.1.", QValidator::Invalid)); 00130 }