Vodafone Test Suite

Dependencies:   mbed-rtos mbed HTTPClient VodafoneUSBModem

Tests/Test26.h

Committer:
ashleymills
Date:
2012-09-17
Revision:
44:6d0ac4747f5b
Parent:
37:847f5f86e9ff
Child:
60:7efce4a3c26f

File content as of revision 44:6d0ac4747f5b:

#pragma once
#include "VodafoneTestCase.h"

extern const char* gTest26Description;

class Test26 : public VodafoneTestCase {
   public: 
      Test26(VodafoneUSBModem *m) : VodafoneTestCase(m) {
         _description = gTest26Description;
         _testCaseNumber = 26;
      }
   
   private:
      
      virtual void setupTest() {
         
      }
   
      virtual bool executeTest() {
         LOG(gTest26Description);
         for(int count=0; count<30; count++) {
            LOG("Iteration %d of 30",count);
            int rssi = -1000;
            LinkMonitor::REGISTRATION_STATE regState = LinkMonitor::REGISTRATION_STATE_UNKNOWN;
            LinkMonitor::BEARER bearer = LinkMonitor::BEARER_UNKNOWN;
        
            if(_modem->getLinkState(&rssi, &regState, &bearer)==0) {
               if(rssi==-1000) {
                  LOG("RSSI: Error.");
                  return false;
               } else {
                  LOG("RSSI: %d",rssi);
               }
            
               switch(regState) {
                  case LinkMonitor::REGISTRATION_STATE_UNKNOWN:
                     LOG("regState: UNKNOWN. Failing.");
                     return false;
                  case LinkMonitor::REGISTRATION_STATE_REGISTERING:
                     LOG("regState: REGISTERING");
                     break;
                  case LinkMonitor::REGISTRATION_STATE_DENIED:
                     LOG("regState: DENIED");
                     break;
                  case LinkMonitor::REGISTRATION_STATE_NO_SIGNAL:
                     LOG("regState: NO SIGNAL");
                     break;
                  case LinkMonitor::REGISTRATION_STATE_HOME_NETWORK:
                     LOG("regState: HOME NETWORK");
                     break;
                  case LinkMonitor::REGISTRATION_STATE_ROAMING:
                     LOG("regState: ROAMING");
                     break;
                  default:
                     LOG("regState: ERROR. Failing.");
                     return false;
               }
            
               switch(bearer) {
                  case LinkMonitor::BEARER_UNKNOWN:
                     LOG("bearer: UNKNOWN. Failing.");
                     return false;
                  case LinkMonitor::BEARER_GSM:
                     LOG("bearer: GSM");
                     break;
                  case LinkMonitor::BEARER_EDGE:
                     LOG("bearer: EDGE");
                     break;
                  case LinkMonitor::BEARER_UMTS:
                     LOG("bearer: UMTS");
                     break;
                  case LinkMonitor::BEARER_HSPA:
                     LOG("bearer: HSPA");
                     break;
                  case LinkMonitor::BEARER_LTE:
                     LOG("bearer: LTE");
                     break;
                  default:
                     LOG("bearer: ERROR. Failing.");
                     return false;
               }
            } else {
               return false;
            }
         }
         
         return true;
      }
      
      virtual void endTest() {
         
      }
      
};