Vodafone Test Suite

Dependencies:   mbed-rtos mbed HTTPClient VodafoneUSBModem

Revision:
22:5b1feecf2aeb
Child:
23:408199b5d2cb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Tests/Test26.h	Wed Sep 05 14:47:44 2012 +0000
@@ -0,0 +1,94 @@
+#pragma once
+#include "VodafoneTestCase.h"
+class Test26 : public VodafoneTestCase {
+   public: 
+      Test26(VodafoneUSBModem *m, int tcNumber) : VodafoneTestCase(m, tcNumber) {
+      }
+      
+      virtual void setupTest() {
+         _ussdResponse = (char*)malloc(16*sizeof(char));
+      }
+   
+      virtual bool runTest() {
+         LOG("Test %d, getting signal strength 30 times.", _testCaseNumber);
+         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;
+                     break;
+                  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;
+                     break;
+               }
+            
+               switch(bearer) {
+                  case LinkMonitor::BEARER_UNKNOWN:
+                     LOG("bearer: UNKNOWN. Failing.");
+                     return false;
+                     break;
+                  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;
+                     break;
+               }
+            } else {
+               return false;
+            }
+         }
+         
+         return true;
+      }
+      
+      virtual void endTest() {
+         free(_ussdResponse);
+      }
+      
+   private:
+      char *_ussdResponse;
+};
+