diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | ae2a03c2941bf92573f89b88ef73f8aa842bea0a (patch) | |
tree | 3566563f3fb6ac3cb3496669d8f233062d3091bc /kweather/stationdatabase_test.cpp | |
download | tdetoys-ae2a03c2941bf92573f89b88ef73f8aa842bea0a.tar.gz tdetoys-ae2a03c2941bf92573f89b88ef73f8aa842bea0a.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdetoys@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kweather/stationdatabase_test.cpp')
-rw-r--r-- | kweather/stationdatabase_test.cpp | 226 |
1 files changed, 226 insertions, 0 deletions
diff --git a/kweather/stationdatabase_test.cpp b/kweather/stationdatabase_test.cpp new file mode 100644 index 0000000..902b7ab --- /dev/null +++ b/kweather/stationdatabase_test.cpp @@ -0,0 +1,226 @@ +/**************************************************************************** + * stationdatabase_test.cpp - Test Program for StationDatabase Class + * ------------------- + * begin : Friday June 4 2004 + * copyright : (C) 2004 by John Ratke + * email : [email protected] + ****************************************************************************/ + +/**************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ****************************************************************************/ + +#include <iostream> +#include <cstdlib> +using namespace std; + +#include <qfile.h> +#include <qstring.h> +#include <qdatetime.h> +#include <krfcdate.h> + +#include "stationdatabase.h" + + +int main() +{ + bool anyFailed = false; + bool found = false; + + // try the stations.dat file in the current directory first. + QString path("stations.dat"); + + if (QFile::exists(path)) + { + found = true; + } + else + { + // If we couldn't find it, then maybe the build directory is not the + // same as the source directory. If that is the case, try to read it + // from its location in the share/apps/kweatherservice directory, which + // means that make install would have had to be done first before calling + // make check so that the file will be there. + + QString kdeDirs(getenv("KDEDIR")); + + path = kdeDirs + "/share/apps/kweatherservice/stations.dat"; + if (QFile::exists(path)) + { + found = true; + } + } + + if (found) + { + cout << "found stations.dat at " << path.latin1() << endl; + } + else + { + cout << "couldn't find stations.dat!! try \"make install\" before \"make check\"" << endl; + return 1; + } + + StationDatabase stationDb(path); + + cout << "Testing station name from ID with known station..."; + + if (stationDb.stationNameFromID("KORD") == "Chicago, Chicago-O'Hare International Airport") + { + cout << "passed" << endl; + } + else + { + cout << "failed" << endl; + anyFailed = true; + } + + cout << "Testing station name from ID with unknown station..."; + + if (stationDb.stationNameFromID("KXYZ") == "Unknown Station") + { + cout << "passed" << endl; + } + else + { + cout << "failed" << endl; + anyFailed = true; + } + + cout << "Testing station name from ID with known station already loaded..."; + + // station should be cached this time. + if (stationDb.stationNameFromID("KORD") == "Chicago, Chicago-O'Hare International Airport") + { + cout << "passed" << endl; + } + else + { + cout << "failed" << endl; + anyFailed = true; + } + + cout << "Testing latitude from ID with known station..."; + + if (stationDb.stationLatitudeFromID("KPWK") == "42-07-15N") + { + cout << "passed" << endl; + } + else + { + cout << "failed" << endl; + anyFailed = true; + } + + cout << "Testing latitude from ID with unknown station..."; + + if (stationDb.stationLatitudeFromID("KZZZ") == "Unknown Station") + { + cout << "passed" << endl; + } + else + { + cout << "failed" << endl; + anyFailed = true; + } + + cout << "Testing latitude from ID with known station already loaded..."; + + if (stationDb.stationLatitudeFromID("KPWK") == "42-07-15N") + { + cout << "passed" << endl; + } + else + { + cout << "failed" << endl; + anyFailed = true; + } + + cout << "Testing longitude from ID with known station..."; + + if (stationDb.stationLongitudeFromID("KAAA") == "089-20-06W") + { + cout << "passed" << endl; + } + else + { + cout << "failed" << endl; + anyFailed = true; + } + + cout << "Testing longitude from ID with unknown station..."; + + if (stationDb.stationLongitudeFromID("KZYY") == "Unknown Station") + { + cout << "passed" << endl; + } + else + { + cout << "failed" << endl; + anyFailed = true; + } + + cout << "Testing longitude from ID with known station already loaded..."; + + if (stationDb.stationLongitudeFromID("KAAA") == "089-20-06W") + { + cout << "passed" << endl; + } + else + { + cout << "failed" << endl; + anyFailed = true; + } + + cout << "Testing country from ID with known station..."; + + if (stationDb.stationCountryFromID("KUGN") == "United States") + { + cout << "passed" << endl; + } + else + { + cout << "failed" << endl; + anyFailed = true; + } + + cout << "Testing country from ID with unknown station..."; + + if (stationDb.stationCountryFromID("KYYY") == "Unknown Station") + { + cout << "passed" << endl; + } + else + { + cout << "failed" << endl; + anyFailed = true; + } + + cout << "Testing country from ID with known station already loaded..."; + + if (stationDb.stationCountryFromID("KUGN") == "United States") + { + cout << "passed" << endl; + } + else + { + cout << "failed" << endl; + anyFailed = true; + } + + // If success, return 0, else return 1 + if (anyFailed) + { + return 1; + } + else + { + return 0; + } + +} |