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 }