|
@@ -27,6 +27,7 @@ START_TEST(UA_Byte_decodeShallCopyAndAdvancePosition) {
|
|
|
// then
|
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
|
ck_assert_uint_eq(pos, 1);
|
|
|
+ ck_assert_uint_eq(pos, UA_calcSizeBinary(&dst, &UA_TYPES[UA_TYPES_BYTE]));
|
|
|
ck_assert_uint_eq(dst, 0x08);
|
|
|
}
|
|
|
END_TEST
|
|
@@ -297,6 +298,7 @@ START_TEST(UA_String_decodeShallAllocateMemoryAndCopyString) {
|
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
|
ck_assert_int_eq(dst.length, 8);
|
|
|
ck_assert_int_eq(dst.data[3], 'L');
|
|
|
+ ck_assert_uint_eq(pos, UA_calcSizeBinary(&dst, &UA_TYPES[UA_TYPES_STRING]));
|
|
|
// finally
|
|
|
UA_String_deleteMembers(&dst);
|
|
|
}
|
|
@@ -345,6 +347,7 @@ START_TEST(UA_NodeId_decodeTwoByteShallReadTwoBytesAndSetNamespaceToZero) {
|
|
|
// then
|
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
|
ck_assert_int_eq(pos, 2);
|
|
|
+ ck_assert_uint_eq(pos, UA_calcSizeBinary(&dst, &UA_TYPES[UA_TYPES_NODEID]));
|
|
|
ck_assert_int_eq(dst.identifierType, UA_NODEIDTYPE_NUMERIC);
|
|
|
ck_assert_int_eq(dst.identifier.numeric, 16);
|
|
|
ck_assert_int_eq(dst.namespaceIndex, 0);
|
|
@@ -362,6 +365,7 @@ START_TEST(UA_NodeId_decodeFourByteShallReadFourBytesAndRespectNamespace) {
|
|
|
// then
|
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
|
ck_assert_int_eq(pos, 4);
|
|
|
+ ck_assert_uint_eq(pos, UA_calcSizeBinary(&dst, &UA_TYPES[UA_TYPES_NODEID]));
|
|
|
ck_assert_int_eq(dst.identifierType, UA_NODEIDTYPE_NUMERIC);
|
|
|
ck_assert_int_eq(dst.identifier.numeric, 256);
|
|
|
ck_assert_int_eq(dst.namespaceIndex, 1);
|
|
@@ -379,6 +383,7 @@ START_TEST(UA_NodeId_decodeStringShallAllocateMemory) {
|
|
|
// then
|
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
|
ck_assert_int_eq(pos, 10);
|
|
|
+ ck_assert_uint_eq(pos, UA_calcSizeBinary(&dst, &UA_TYPES[UA_TYPES_NODEID]));
|
|
|
ck_assert_int_eq(dst.identifierType, UA_NODEIDTYPE_STRING);
|
|
|
ck_assert_int_eq(dst.namespaceIndex, 1);
|
|
|
ck_assert_int_eq(dst.identifier.string.length, 3);
|
|
@@ -399,6 +404,7 @@ START_TEST(UA_Variant_decodeWithOutArrayFlagSetShallSetVTAndAllocateMemoryForArr
|
|
|
// then
|
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
|
ck_assert_int_eq(pos, 5);
|
|
|
+ ck_assert_uint_eq(pos, UA_calcSizeBinary(&dst, &UA_TYPES[UA_TYPES_VARIANT]));
|
|
|
//ck_assert_ptr_eq((const void *)dst.type, (const void *)&UA_TYPES[UA_TYPES_INT32]); //does not compile in gcc 4.6
|
|
|
ck_assert_int_eq((uintptr_t)dst.type, (uintptr_t)&UA_TYPES[UA_TYPES_INT32]);
|
|
|
ck_assert_int_eq(dst.arrayLength, 0);
|
|
@@ -422,6 +428,7 @@ START_TEST(UA_Variant_decodeWithArrayFlagSetShallSetVTAndAllocateMemoryForArray)
|
|
|
// then
|
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
|
ck_assert_int_eq(pos, 1+4+2*4);
|
|
|
+ ck_assert_uint_eq(pos, UA_calcSizeBinary(&dst, &UA_TYPES[UA_TYPES_VARIANT]));
|
|
|
//ck_assert_ptr_eq((const (void*))dst.type, (const void*)&UA_TYPES[UA_TYPES_INT32]); //does not compile in gcc 4.6
|
|
|
ck_assert_int_eq((uintptr_t)dst.type,(uintptr_t)&UA_TYPES[UA_TYPES_INT32]);
|
|
|
ck_assert_int_eq(dst.arrayLength, 2);
|
|
@@ -862,6 +869,7 @@ START_TEST(UA_String_encodeShallWorkOnExample) {
|
|
|
retval = UA_String_encodeBinary(&src, &dst, &pos);
|
|
|
// then
|
|
|
ck_assert_int_eq(pos, sizeof(UA_Int32)+11);
|
|
|
+ ck_assert_uint_eq(pos, UA_calcSizeBinary(&src, &UA_TYPES[UA_TYPES_STRING]));
|
|
|
ck_assert_int_eq(dst.data[0], 11);
|
|
|
ck_assert_int_eq(dst.data[sizeof(UA_Int32)+0], 'A');
|
|
|
ck_assert_int_eq(dst.data[sizeof(UA_Int32)+1], 'C');
|
|
@@ -891,6 +899,7 @@ START_TEST(UA_ExpandedNodeId_encodeShallWorkOnExample) {
|
|
|
// then
|
|
|
ck_assert_int_eq(retval, UA_STATUSCODE_GOOD);
|
|
|
ck_assert_int_eq(pos, 13);
|
|
|
+ ck_assert_uint_eq(pos, UA_calcSizeBinary(&src, &UA_TYPES[UA_TYPES_EXPANDEDNODEID]));
|
|
|
ck_assert_int_eq(dst.data[0], 0x80); // namespaceuri flag
|
|
|
}
|
|
|
END_TEST
|
|
@@ -914,6 +923,7 @@ START_TEST(UA_DataValue_encodeShallWorkOnExampleWithoutVariant) {
|
|
|
retval = UA_DataValue_encodeBinary(&src, &dst, &pos);
|
|
|
// then
|
|
|
ck_assert_int_eq(pos, 9); // represents the length
|
|
|
+ ck_assert_uint_eq(pos, UA_calcSizeBinary(&src, &UA_TYPES[UA_TYPES_DATAVALUE]));
|
|
|
ck_assert_int_eq(dst.data[0], 0x08); // encodingMask
|
|
|
ck_assert_int_eq(dst.data[1], 80); // 8 Byte serverTimestamp
|
|
|
ck_assert_int_eq(dst.data[2], 0);
|
|
@@ -951,6 +961,7 @@ START_TEST(UA_DataValue_encodeShallWorkOnExampleWithVariant) {
|
|
|
retval = UA_DataValue_encodeBinary(&src, &dst, &pos);
|
|
|
// then
|
|
|
ck_assert_int_eq(pos, 1+(1+4)+8); // represents the length
|
|
|
+ ck_assert_uint_eq(pos, UA_calcSizeBinary(&src, &UA_TYPES[UA_TYPES_DATAVALUE]));
|
|
|
ck_assert_int_eq(dst.data[0], 0x08 | 0x01); // encodingMask
|
|
|
ck_assert_int_eq(dst.data[1], 0x06); // Variant's Encoding Mask - INT32
|
|
|
ck_assert_int_eq(dst.data[2], 45); // the single value
|