Vodafone Test Suite
Dependencies: mbed-rtos mbed HTTPClient VodafoneUSBModem
TestManager.cpp
- Committer:
- ashleymills
- Date:
- 2012-09-03
- Revision:
- 19:26fbed33d4e7
- Parent:
- 16:c89d426c6175
- Child:
- 20:18373fb68ad7
File content as of revision 19:26fbed33d4e7:
#include "TestManager.h" #include "Tests.h" TestManager::TestManager(VodafoneUSBModem *m) : _modem(m) { // using direct array indexing instead of searching each time, so need to put in dummy tests for(int i=0; i<12; i++) { _tests.push_back(NULL); } _tests.push_back((VodafoneTestCase*)new Test12(_modem, 12)); _tests.push_back((VodafoneTestCase*)new Test13(_modem, 13)); for(int i=14; i<21; i++) { _tests.push_back(NULL); } _tests.push_back((VodafoneTestCase*)new Test21(_modem, 21)); _tests.push_back((VodafoneTestCase*)new Test22(_modem, 22)); for(int i=23; i<50; i++) { _tests.push_back(NULL); } _tests.push_back((VodafoneTestCase*)new Test50(_modem, 50)); } int TestManager::executeTestList(const int *list, const int listLen) { int successfullTests = 0; LOG("Running %d tests...",listLen); for(int i=0; i<listLen; i++) { int testIndex = list[i]; LOG("Running test %d...",testIndex); if(testIndex>=_tests.size()) { LOG("Test out of bounds. Test index must be betweeen 0 and %d!",_tests.size()); continue; } VodafoneTestCase* test = _tests[list[i]]; if(test==NULL) { LOG("NULL test! This will be counted as a failure."); continue; } if(test->run()) { LOG("...OK"); successfullTests++; } else { LOG("...FAIL"); } } return successfullTests; } bool TestManager::runTest(int id) { if(id<0||id>=_tests.size()) { LOG("Test ID must be between 0 and %d",_tests.size()); return false; } if(_tests[id]==NULL) { LOG("NULL test! This will be counted as a failure."); return false; } return _tests[id]->run(); } bool TestManager::runTest(int id, int numTimes) { for(int i=0; i<numTimes; i++) { if(!runTest(id)) return false; } return true; }