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 "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