소스 검색

one more unit test

Leon Urbas 10 년 전
부모
커밋
db994a5894
3개의 변경된 파일18개의 추가작업 그리고 2개의 파일을 삭제
  1. 1 1
      include/opcua_basictypes.h
  2. 0 1
      src/opcua_basictypes.c
  3. 17 0
      tests/check_builtin.c

+ 1 - 1
include/opcua_basictypes.h

@@ -16,7 +16,7 @@
 # undef DBG_ERR
 # define DBG_ERR(expression) expression
 # if defined(VERBOSE)
-#  undef DB_VERBOSE
+#  undef DBG_VERBOSE
 #  define DBG_VERBOSE(expression) expression
 # endif
 #endif

+ 0 - 1
src/opcua_basictypes.c

@@ -1,7 +1,6 @@
 #include <stdio.h>	// printf
 #include <stdlib.h>	// alloc, free
 #include <string.h>
-#include <math.h>   // pow
 #include "opcua.h"
 #include "opcua_basictypes.h"
 

+ 17 - 0
tests/check_builtin.c

@@ -678,6 +678,22 @@ START_TEST(UA_Double_decodeShallGiveOne)
 	ck_assert(dst < 1.00000000001);
 }
 END_TEST
+START_TEST(UA_Double_decodeShallGiveZero)
+{
+	// given
+	UA_Int32 pos = 0;
+	UA_Byte src[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; // 1
+	UA_Double dst;
+	// when
+	UA_Int32 retval = UA_Double_decode(src,&pos,&dst);
+	// then
+	ck_assert_int_eq(retval,UA_SUCCESS);
+	ck_assert_int_eq(pos,8);
+	printf("UA_Double_decodeShallGiveZero %f\n",dst);
+	ck_assert(-0.00000001 < dst);
+	ck_assert(dst < 0.000000001);
+}
+END_TEST
 START_TEST(UA_Double_decodeShallGiveMinusTwo)
 {
 	// given
@@ -945,6 +961,7 @@ Suite *testSuite_builtin(void)
 	tcase_add_test(tc_decode, UA_UInt32_decodeShallNotRespectSign);
 	tcase_add_test(tc_decode, UA_Float_decodeShallWorkOnExample);
 	tcase_add_test(tc_decode, UA_Double_decodeShallGiveOne);
+	tcase_add_test(tc_decode, UA_Double_decodeShallGiveZero);
 	tcase_add_test(tc_decode, UA_Double_decodeShallGiveMinusTwo);
 	tcase_add_test(tc_decode, UA_String_decodeShallAllocateMemoryAndCopyString);
 	tcase_add_test(tc_decode, UA_String_decodeWithNegativeSizeShallNotAllocateMemoryAndNullPtr);