Unit tests for SmartRest

Dependencies:   C027 SmartRest mbed

Committer:
vwochnik
Date:
Mon Mar 24 10:12:45 2014 +0000
Revision:
0:789029e49ea1
fix

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vwochnik 0:789029e49ea1 1 #include "SmartRestTest.h"
vwochnik 0:789029e49ea1 2 #include <string.h>
vwochnik 0:789029e49ea1 3 #include <assert.h>
vwochnik 0:789029e49ea1 4 #include <ComposedRecord.h>
vwochnik 0:789029e49ea1 5 #include <CharValue.h>
vwochnik 0:789029e49ea1 6 #include <IntegerValue.h>
vwochnik 0:789029e49ea1 7 #include <ParsedRecord.h>
vwochnik 0:789029e49ea1 8
vwochnik 0:789029e49ea1 9 SmartRestTest::SmartRestTest() : _smart("com_cumulocity_MockDevice")
vwochnik 0:789029e49ea1 10 {
vwochnik 0:789029e49ea1 11 }
vwochnik 0:789029e49ea1 12
vwochnik 0:789029e49ea1 13 void SmartRestTest::test()
vwochnik 0:789029e49ea1 14 {
vwochnik 0:789029e49ea1 15 // will receive an "echo ok" message later on.
vwochnik 0:789029e49ea1 16 _smart.client().receiveData("20,12345\r\n");
vwochnik 0:789029e49ea1 17
vwochnik 0:789029e49ea1 18 {
vwochnik 0:789029e49ea1 19 // prepare sending data generator
vwochnik 0:789029e49ea1 20 IntegerValue v1(10);CharValue v2("This is me!");
vwochnik 0:789029e49ea1 21 Value *varr[2] = {&v1, &v2};
vwochnik 0:789029e49ea1 22 ComposedRecord record;
vwochnik 0:789029e49ea1 23 record.add(v1).add(v2);
vwochnik 0:789029e49ea1 24
vwochnik 0:789029e49ea1 25 // send data
vwochnik 0:789029e49ea1 26 assert(_smart.send(record) == SMARTREST_SUCCESS);
vwochnik 0:789029e49ea1 27 // make sure it 'got there'
vwochnik 0:789029e49ea1 28 assert(strcmp("10,This is me!\r\n", _smart.client().sentData()) == 0);
vwochnik 0:789029e49ea1 29 }
vwochnik 0:789029e49ea1 30
vwochnik 0:789029e49ea1 31 {
vwochnik 0:789029e49ea1 32 ParsedRecord record;
vwochnik 0:789029e49ea1 33 assert(_smart.receive(record) == SMARTREST_SUCCESS);
vwochnik 0:789029e49ea1 34
vwochnik 0:789029e49ea1 35 assert(record);
vwochnik 0:789029e49ea1 36 assert(record.values() == 2);
vwochnik 0:789029e49ea1 37 assert(record.value(0).integerValue() == 20);
vwochnik 0:789029e49ea1 38 assert(record.value(1).integerValue() == 12345);
vwochnik 0:789029e49ea1 39
vwochnik 0:789029e49ea1 40 assert(_smart.receive(record) == SMARTREST_END_OF_RESPONSE);
vwochnik 0:789029e49ea1 41 assert(!record);
vwochnik 0:789029e49ea1 42 }
vwochnik 0:789029e49ea1 43 }