Browse Source

added cond. comp. of several printf's and some more tests

Leon Urbas 11 years ago
parent
commit
f7a1038037
4 changed files with 68 additions and 7 deletions
  1. 3 3
      src/ua_basictypes.c
  2. 0 2
      tests/check_builtin.c
  3. 63 0
      tests/check_list.c
  4. 2 2
      tests/check_memory.c

+ 3 - 3
src/ua_basictypes.c

@@ -337,12 +337,12 @@ UA_TYPE_START_DECODEBINARY(UA_Double)
 	mantissa = (mantissa / 256.0 ) + (UA_Double) (src->data[*pos+4] & 0xFF); 	// bits 32-39
 	mantissa = (mantissa / 256.0 ) + (UA_Double) (src->data[*pos+5] & 0xFF); 	// bits 40-47
 	mantissa = (mantissa / 256.0 ) + (UA_Double) (src->data[*pos+6] & 0x0F); 	// bits 48-51
-	printf("mantissa = %f\n", mantissa);
+	DBG_VERBOSE(printf("UA_Double_decodeBinary - mantissa=%f\n", mantissa));
 	UA_UInt32 biasedExponent ;
 	biasedExponent  = (src->data[*pos+6] & 0xF0) >>  4;				// bits 52-55
-	printf("biasedExponent=%d, src=%d\n", biasedExponent,src->data[*pos+6]);
+	DBG_VERBOSE(printf("UA_Double_decodeBinary - biasedExponent52-55=%d, src=%d\n", biasedExponent,src->data[*pos+6]));
 	biasedExponent |= ((UA_UInt32) (src->data[*pos+7] & 0x7F)) <<  4;	// bits 56-62
-	printf("biasedExponent=%d, src=%d\n", biasedExponent,src->data[*pos+7]);
+	DBG_VERBOSE(printf("UA_Double_decodeBinary - biasedExponent56-62=%d, src=%d\n", biasedExponent,src->data[*pos+7]));
 	UA_Double sign = ( src->data[*pos+7] & 0x80 ) ? -1.0 : 1.0; // bit 63
 	if (biasedExponent >= 1023) {
 		*dst = (UA_Double) sign * (1 << (biasedExponent-1023)) * (1.0 + mantissa / 8.0 );

+ 0 - 2
tests/check_builtin.c

@@ -780,7 +780,6 @@ START_TEST(UA_Double_decodeShallGiveOne)
 	// then
 	ck_assert_int_eq(retval,UA_SUCCESS);
 	ck_assert_int_eq(pos,8);
-	printf("UA_Double_decodeShallGiveOne %f\n",dst);
 	ck_assert(0.9999999 < dst);
 	ck_assert(dst < 1.00000000001);
 }
@@ -797,7 +796,6 @@ START_TEST(UA_Double_decodeShallGiveZero)
 	// 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);
 }

+ 63 - 0
tests/check_list.c

@@ -144,6 +144,66 @@ START_TEST(searchElementShallFind24)
 }
 END_TEST
 
+START_TEST(addAndRemoveShallYieldEmptyList)
+{
+	// given
+	UA_list_List list;
+	UA_list_init(&list);
+	UA_Int32 plv[] = {42};
+	myAddPayloadVectorToFront(&list,plv,sizeof(plv)/sizeof(UA_Int32));
+	// when
+	UA_list_Element* e = UA_list_search(&list,comparer,(void*)&plv[0]);
+	UA_list_removeElement(e,UA_NULL);
+	visit_count = 0;
+	UA_list_iteratePayload(&list,visitor);
+	// then
+	ck_assert_int_eq(list.size,0);
+	ck_assert_int_eq(visit_count,0);
+	// finally
+	UA_list_destroy(&list, freer);
+}
+END_TEST
+
+START_TEST(addTwiceAndRemoveFirstShallYieldListWithOneElement)
+{
+	// given
+	UA_list_List list;
+	UA_list_init(&list);
+	UA_Int32 plv[] = {42,24};
+	myAddPayloadVectorToFront(&list,plv,sizeof(plv)/sizeof(UA_Int32));
+	// when
+	UA_list_Element* e = UA_list_search(&list,comparer,(void*)&plv[0]);
+	UA_list_removeElement(e,UA_NULL);
+	visit_count = 0;
+	UA_list_iteratePayload(&list,visitor);
+	// then
+	ck_assert_int_eq(list.size,1);
+	ck_assert_int_eq(visit_count,1);
+	// finally
+	UA_list_destroy(&list, freer);
+}
+END_TEST
+
+START_TEST(addTwiceAndRemoveLastShallYieldListWithOneElement)
+{
+	// given
+	UA_list_List list;
+	UA_list_init(&list);
+	UA_Int32 plv[] = {42,24};
+	myAddPayloadVectorToFront(&list,plv,sizeof(plv)/sizeof(UA_Int32));
+	// when
+	UA_list_Element* e = UA_list_search(&list,comparer,(void*)&plv[1]);
+	UA_list_removeElement(e,UA_NULL);
+	visit_count = 0;
+	UA_list_iteratePayload(&list,visitor);
+	// then
+	ck_assert_int_eq(list.size,1);
+	ck_assert_int_eq(visit_count,1);
+	// finally
+	UA_list_destroy(&list, freer);
+}
+END_TEST
+
 Suite*list_testSuite(void)
 {
 	Suite *s = suite_create("list_test");
@@ -152,6 +212,9 @@ Suite*list_testSuite(void)
 	tcase_add_test(tc_core, addElementsShallResultInRespectiveSize);
 	tcase_add_test(tc_core, findElementShallFind42);
 	tcase_add_test(tc_core, searchElementShallFind24);
+	tcase_add_test(tc_core, addAndRemoveShallYieldEmptyList);
+	tcase_add_test(tc_core, addTwiceAndRemoveFirstShallYieldListWithOneElement);
+	tcase_add_test(tc_core, addTwiceAndRemoveLastShallYieldListWithOneElement);
 	suite_add_tcase(s,tc_core);
 	return s;
 }

+ 2 - 2
tests/check_memory.c

@@ -44,7 +44,7 @@ START_TEST (encodeShallYieldDecode)
 }
 END_TEST
 
-START_TEST (decodeShallSurviveTruncatedBuffer)
+START_TEST (decodeShallFailWithTruncatedBufferButSurvive)
 {
 	void *obj1 = UA_NULL, *obj2 = UA_NULL;
 	UA_ByteString msg1;
@@ -81,7 +81,7 @@ int main() {
 	tcase_add_loop_test(tc, encodeShallYieldDecode,UA_BOOLEAN,UA_INVALIDTYPE-1);
 	suite_add_tcase(s,tc);
 	tc = tcase_create("Truncated Buffers");
-	tcase_add_loop_test(tc, decodeShallSurviveTruncatedBuffer,UA_BOOLEAN,UA_INVALIDTYPE-1);
+	tcase_add_loop_test(tc, decodeShallFailWithTruncatedBufferButSurvive,UA_BOOLEAN,UA_INVALIDTYPE-1);
 	suite_add_tcase(s,tc);
 
 	sr = srunner_create(s);