Vodafone Test Suite
Dependencies: mbed-rtos mbed HTTPClient VodafoneUSBModem
Diff: Tests/Test13.h
- Revision:
- 16:c89d426c6175
- Child:
- 26:9eefab9e28df
- Child:
- 28:c630a04a7198
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Tests/Test13.h Thu Aug 30 14:06:22 2012 +0000 @@ -0,0 +1,65 @@ +#pragma once +#include "VodafoneTestCase.h" + +#define TEST_PHONE_NUMBER "+447717275049" + +// this test case will wait to receive an SMS from the modem. +// if the method that reports a message waiting returns an error it will fail. +// if the method that returns the message from the mailbox returns an error it will fai. +// it will report the test as failed if any of the above happens. +// it waits forever for an SMS. +// TODO: this should wait for a set time before failing. + + +class Test13 : public VodafoneTestCase { + public: + + char num[17]; + char msg[64]; + size_t count; + + + Test13(VodafoneUSBModem *m, int tcNumber) : VodafoneTestCase(m, tcNumber) { + } + + virtual bool runTest() { + LOG("Test %d waiting for an SMS message...", _testCaseNumber); + LOG("Receiving SMS from test phone, waiting for response."); + + while(true) + { + LOG("Waiting for an SMS message..."); + int ret = _modem->getSMCount(&count); + if(ret) + { + LOG("getSMCount returned %d", ret); + Thread::wait(3000); + continue; + } + + if( count > 0) + { + LOG("%d SMS to read", count); + ret = _modem->getSM(num, msg, 64); + if(ret) + { + LOG("Error receiving sms. The method getSMS returned %d", ret); + return false; + } + LOG("The message is from number: %s and the message is: \"%s\"", num, msg); + return true; + } + Thread::wait(500); + } + + } + + private: + char gsm03dot38CharacterSet[127]; + // gsm03dot38CharacterSet="@£$¥èéùìòÇØøÅåΔ_ΦΓΛΩΠΨΣΘΞÆæßÉ !“#¤%&‘()*+,-./0123456789:;<=>?¡ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÑܧ¿abcdefghijklmnopqrstuvwxyzäöñüà"; + + + + + +}; \ No newline at end of file