Vodafone Test Suite

Dependencies:   mbed-rtos mbed HTTPClient VodafoneUSBModem

Revision:
66:6b00a764e549
Parent:
44:6d0ac4747f5b
--- a/Tests/Test10.h	Tue Oct 30 15:51:53 2012 +0000
+++ b/Tests/Test10.h	Thu Nov 01 11:19:47 2012 +0000
@@ -1,14 +1,92 @@
 #pragma once
 #include "VodafoneTestCase.h"
-#include "HTTPClient.h"
-extern const char *gTest10Description;
+
+extern const char* gTest10Description;
 
 class Test10 : public VodafoneTestCase {
    public: 
-      Test10(VodafoneUSBModem *m);
-      
+      Test10(VodafoneUSBModem *m) : VodafoneTestCase(m) {}
+   
    private:
-      virtual void setupTest();
-      virtual bool executeTest();
-      virtual void endTest();
-};
\ No newline at end of file
+      
+      virtual void setupTest() {
+         
+      }
+   
+      virtual bool executeTest() {
+         LOG(gTest10Description);
+         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() {
+         
+      }
+      
+};
+