Unit tests for SmartRest
Dependencies: C027 SmartRest mbed
mock/MockClient.cpp
- Committer:
- vwochnik
- Date:
- 2014-03-24
- Revision:
- 0:789029e49ea1
File content as of revision 0:789029e49ea1:
#include "MockClient.h" #define STATE_INIT 0 #define STATE_IN_REQUEST 1 #define STATE_SENT_ID 2 #define STATE_SENT_DATA 3 #define STATE_REQ_COMPLETE 4 #define STATE_RECVD_RESPONSE 5 #define STATE_RECV_DATA 6 MockClient::MockClient() { _state = STATE_INIT; _data = NULL; _ident = NULL; } void MockClient::receiveData(const char* str) { _data = str; } char* MockClient::sentData() { return _sink.value(); } void MockClient::clearSent() { _sink.clear(); } uint8_t MockClient::beginRequest() { if (_state != STATE_INIT) return CLIENT_INTERNAL_ERROR; _state = STATE_IN_REQUEST; return CLIENT_OK; } uint8_t MockClient::sendIdentifier(const char* identifier) { if (_state != STATE_IN_REQUEST) return CLIENT_INTERNAL_ERROR; _ident = (char*)identifier; _state = STATE_SENT_ID; return CLIENT_OK; } uint8_t MockClient::sendData(DataGenerator& generator) { if (_state != STATE_SENT_ID) return CLIENT_INTERNAL_ERROR; generator.writeTo(_sink); _state = STATE_SENT_DATA; return CLIENT_OK; } uint8_t MockClient::endRequest() { if ((_state != STATE_SENT_ID) && (_state != STATE_SENT_DATA)) return CLIENT_INTERNAL_ERROR; _state = STATE_REQ_COMPLETE; return CLIENT_OK; } uint8_t MockClient::awaitResponse() { if (_state != STATE_REQ_COMPLETE) return CLIENT_INTERNAL_ERROR; _state = STATE_RECVD_RESPONSE; return CLIENT_OK; } AbstractDataSource& MockClient::receiveData() { if ((_state == STATE_RECVD_RESPONSE) && (_data != NULL)) _source.set(_data); else _source.clear(); _state = STATE_RECV_DATA; return _source; } void MockClient::stop() { _state = STATE_INIT; _sink.clear(); _source.clear(); }