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 "IntegerValueTest.h"
vwochnik 0:789029e49ea1 2 #include <stdio.h>
vwochnik 0:789029e49ea1 3 #include <assert.h>
vwochnik 0:789029e49ea1 4 #include <string.h>
vwochnik 0:789029e49ea1 5
vwochnik 0:789029e49ea1 6 IntegerValueTest::IntegerValueTest()
vwochnik 0:789029e49ea1 7 {
vwochnik 0:789029e49ea1 8 }
vwochnik 0:789029e49ea1 9
vwochnik 0:789029e49ea1 10 void IntegerValueTest::test()
vwochnik 0:789029e49ea1 11 {
vwochnik 0:789029e49ea1 12 testValue(0, "0");
vwochnik 0:789029e49ea1 13 testValue(-1, "-1");
vwochnik 0:789029e49ea1 14 testValue(400, "400");
vwochnik 0:789029e49ea1 15 testValue(-123456, "-123456");
vwochnik 0:789029e49ea1 16 testValue(123456, "123456");
vwochnik 0:789029e49ea1 17 testValue(123123123, "123123123");
vwochnik 0:789029e49ea1 18 }
vwochnik 0:789029e49ea1 19
vwochnik 0:789029e49ea1 20 void IntegerValueTest::testValue(long number, const char *expected)
vwochnik 0:789029e49ea1 21 {
vwochnik 0:789029e49ea1 22 printf("Expecting '%s' for number %d\n", expected, number);
vwochnik 0:789029e49ea1 23 IntegerValue value(number);
vwochnik 0:789029e49ea1 24 assert(value.length() == strlen(expected));
vwochnik 0:789029e49ea1 25 assert(value.valueType() == VALUE_INTEGER);
vwochnik 0:789029e49ea1 26 assert(value.integerValue() == number);
vwochnik 0:789029e49ea1 27 value.write(sink);
vwochnik 0:789029e49ea1 28 assert(strcmp(expected, sink.value()) == 0);
vwochnik 0:789029e49ea1 29 sink.clear();
vwochnik 0:789029e49ea1 30
vwochnik 0:789029e49ea1 31 Value *copy = value.copy();
vwochnik 0:789029e49ea1 32 assert(copy->length() == value.length());
vwochnik 0:789029e49ea1 33 assert(copy->integerValue() == value.integerValue());
vwochnik 0:789029e49ea1 34 assert(copy->valueType() == value.valueType());
vwochnik 0:789029e49ea1 35 delete copy;
vwochnik 0:789029e49ea1 36 }
vwochnik 0:789029e49ea1 37