Unit tests for SmartRest
Dependencies: C027 SmartRest mbed
Diff: client/SmartRestTest.cpp
- Revision:
- 0:789029e49ea1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/client/SmartRestTest.cpp Mon Mar 24 10:12:45 2014 +0000 @@ -0,0 +1,43 @@ +#include "SmartRestTest.h" +#include <string.h> +#include <assert.h> +#include <ComposedRecord.h> +#include <CharValue.h> +#include <IntegerValue.h> +#include <ParsedRecord.h> + +SmartRestTest::SmartRestTest() : _smart("com_cumulocity_MockDevice") +{ +} + +void SmartRestTest::test() +{ + // will receive an "echo ok" message later on. + _smart.client().receiveData("20,12345\r\n"); + + { + // prepare sending data generator + IntegerValue v1(10);CharValue v2("This is me!"); + Value *varr[2] = {&v1, &v2}; + ComposedRecord record; + record.add(v1).add(v2); + + // send data + assert(_smart.send(record) == SMARTREST_SUCCESS); + // make sure it 'got there' + assert(strcmp("10,This is me!\r\n", _smart.client().sentData()) == 0); + } + + { + ParsedRecord record; + assert(_smart.receive(record) == SMARTREST_SUCCESS); + + assert(record); + assert(record.values() == 2); + assert(record.value(0).integerValue() == 20); + assert(record.value(1).integerValue() == 12345); + + assert(_smart.receive(record) == SMARTREST_END_OF_RESPONSE); + assert(!record); + } +}