Unit tests for SmartRest
Dependencies: C027 SmartRest mbed
values/ComposedRecordTest.cpp@0:789029e49ea1, 2014-03-24 (annotated)
- Committer:
- vwochnik
- Date:
- Mon Mar 24 10:12:45 2014 +0000
- Revision:
- 0:789029e49ea1
fix
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
vwochnik | 0:789029e49ea1 | 1 | #include "ComposedRecordTest.h" |
vwochnik | 0:789029e49ea1 | 2 | #include "CharValue.h" |
vwochnik | 0:789029e49ea1 | 3 | #include "IntegerValue.h" |
vwochnik | 0:789029e49ea1 | 4 | #include "FloatValue.h" |
vwochnik | 0:789029e49ea1 | 5 | #include <stdio.h> |
vwochnik | 0:789029e49ea1 | 6 | #include <assert.h> |
vwochnik | 0:789029e49ea1 | 7 | #include <string.h> |
vwochnik | 0:789029e49ea1 | 8 | |
vwochnik | 0:789029e49ea1 | 9 | ComposedRecordTest::ComposedRecordTest() |
vwochnik | 0:789029e49ea1 | 10 | { |
vwochnik | 0:789029e49ea1 | 11 | } |
vwochnik | 0:789029e49ea1 | 12 | |
vwochnik | 0:789029e49ea1 | 13 | void ComposedRecordTest::test() |
vwochnik | 0:789029e49ea1 | 14 | { |
vwochnik | 0:789029e49ea1 | 15 | CharValue hello("Hello World!"); |
vwochnik | 0:789029e49ea1 | 16 | CharValue random("RandomValue"); |
vwochnik | 0:789029e49ea1 | 17 | CharValue test(" \", "); |
vwochnik | 0:789029e49ea1 | 18 | IntegerValue someNumber(12345); |
vwochnik | 0:789029e49ea1 | 19 | FloatValue pi(3.141, 2); |
vwochnik | 0:789029e49ea1 | 20 | |
vwochnik | 0:789029e49ea1 | 21 | Value *v1[2] = {&hello, &pi}; |
vwochnik | 0:789029e49ea1 | 22 | testValue(v1, 2, "Hello World!,3.14\r\n"); |
vwochnik | 0:789029e49ea1 | 23 | |
vwochnik | 0:789029e49ea1 | 24 | Value *v2[3] = {&someNumber, &random, &pi}; |
vwochnik | 0:789029e49ea1 | 25 | testValue(v2, 3, "12345,RandomValue,3.14\r\n"); |
vwochnik | 0:789029e49ea1 | 26 | |
vwochnik | 0:789029e49ea1 | 27 | Value *v3[2] = {&random,&test}; |
vwochnik | 0:789029e49ea1 | 28 | testValue(v3, 2, "RandomValue,\" \"\", \"\r\n"); |
vwochnik | 0:789029e49ea1 | 29 | } |
vwochnik | 0:789029e49ea1 | 30 | |
vwochnik | 0:789029e49ea1 | 31 | void ComposedRecordTest::testValue(Value **values, size_t count, const char *expected) |
vwochnik | 0:789029e49ea1 | 32 | { |
vwochnik | 0:789029e49ea1 | 33 | printf("Now testing a composed record with %lu values. Expected value: %s", count, expected); |
vwochnik | 0:789029e49ea1 | 34 | ComposedRecord record; |
vwochnik | 0:789029e49ea1 | 35 | for (size_t n = 0; n < count; n++) |
vwochnik | 0:789029e49ea1 | 36 | record.add(*values[n]); |
vwochnik | 0:789029e49ea1 | 37 | |
vwochnik | 0:789029e49ea1 | 38 | assert(record.writtenLength() == strlen(expected)); |
vwochnik | 0:789029e49ea1 | 39 | record.writeTo(sink); |
vwochnik | 0:789029e49ea1 | 40 | assert(strcmp(expected, sink.value()) == 0); |
vwochnik | 0:789029e49ea1 | 41 | sink.clear(); |
vwochnik | 0:789029e49ea1 | 42 | } |
vwochnik | 0:789029e49ea1 | 43 |