Unit tests for SmartRest
Dependencies: C027 SmartRest mbed
parser/ParserTest.cpp
- Committer:
- vwochnik
- Date:
- 2014-03-24
- Revision:
- 0:789029e49ea1
File content as of revision 0:789029e49ea1:
#include "ParserTest.h" #include <stdio.h> #include <assert.h> #include <ParsedRecord.h> #include <string.h> ParserTest::ParserTest() { } void ParserTest::testAll() { puts("Parser test scenario 1"); testScenario1(); puts("Parser test scenario 2"); testScenario2(); puts("Parser test scenario 3"); testScenario3(); } void ParserTest::testScenario1() { ParsedRecord record; uint8_t res; char str[] = "100,Value1,Value2\r\n"; _source.set(str); res = _parser.readFrom(_source, record); assert(res == PARSER_SUCCESS); assert(record); assert(record.values() == 3); assert(record.value(0).integerValue() == 100); assert(strcmp(record.value(1).characterValue(), "Value1") == 0); assert(strcmp(record.value(2).characterValue(), "Value2") == 0); res = _parser.readFrom(_source, record); assert(res == PARSER_END_OF_RESPONSE); assert(!record); } void ParserTest::testScenario2() { ParsedRecord record; uint8_t res; char str[] = "100,Value1,Value2\r\n" "200,\"Hello, Test\", hello ,5.3\r\n"; _source.set(str); res = _parser.readFrom(_source, record); assert(res == PARSER_SUCCESS); assert(record); assert(record.values() == 3); assert(record.value(0).integerValue() == 100); assert(strcmp(record.value(1).characterValue(), "Value1") == 0); assert(strcmp(record.value(2).characterValue(), "Value2") == 0); res = _parser.readFrom(_source, record); assert(res == PARSER_SUCCESS); assert(record); assert(record.values() == 4); assert(record.value(0).integerValue() == 200); assert(strcmp(record.value(1).characterValue(), "Hello, Test") == 0); assert(strcmp(record.value(2).characterValue(), "hello") == 0); assert(record.value(3).floatValue() == 5.3); res = _parser.readFrom(_source, record); assert(res == PARSER_END_OF_RESPONSE); assert(!record); } void ParserTest::testScenario3() { ParsedRecord record; uint8_t res; char str[] = "100,Val\"\"ue1,Value2\r\n"; _source.set(str); res = _parser.readFrom(_source, record); assert(res == PARSER_PARSE_ERROR); assert(!record); }