| 2522 const size_t len = 75; |
2522 const size_t len = 75; |
| 2523 int *testdata = int_test_data_added_to_list(list, isptrlist, len); |
2523 int *testdata = int_test_data_added_to_list(list, isptrlist, len); |
| 2524 cxDefineAdvancedDestructor(list, advanced_destr_test_fun, NULL); |
2524 cxDefineAdvancedDestructor(list, advanced_destr_test_fun, NULL); |
| 2525 CX_TEST_CALL_SUBROUTINE(test_list_verify_destructor, list, testdata, len); |
2525 CX_TEST_CALL_SUBROUTINE(test_list_verify_destructor, list, testdata, len); |
| 2526 free(testdata); |
2526 free(testdata); |
| |
2527 }) |
| |
2528 |
| |
2529 roll_out_test_combos(reserve_and_shrink, { |
| |
2530 // there is no actual observable behavior, |
| |
2531 // so we just check that the functions return zero |
| |
2532 int *td1 = int_test_data_added_to_list(list, isptrlist, 500); |
| |
2533 CX_TEST_ASSERT(0 == cxListReserve(list, 200)); |
| |
2534 CX_TEST_ASSERT(0 == cxListReserve(list, 1000)); |
| |
2535 int *td2 = int_test_data_added_to_list(list, isptrlist, 500); |
| |
2536 int *td3 = int_test_data_added_to_list(list, isptrlist, 500); |
| |
2537 CX_TEST_ASSERT(0 == cxListShrink(list)); |
| |
2538 size_t i = 0; |
| |
2539 for (size_t j = 0 ; j < 500 ; j++, i++) { |
| |
2540 CX_TEST_ASSERT(*(int*)cxListAt(list, i) == td1[j]); |
| |
2541 } |
| |
2542 for (size_t j = 0 ; j < 500 ; j++, i++) { |
| |
2543 CX_TEST_ASSERT(*(int*)cxListAt(list, i) == td2[j]); |
| |
2544 } |
| |
2545 for (size_t j = 0 ; j < 500 ; j++, i++) { |
| |
2546 CX_TEST_ASSERT(*(int*)cxListAt(list, i) == td3[j]); |
| |
2547 } |
| |
2548 free(td1); |
| |
2549 free(td2); |
| |
2550 free(td3); |
| 2527 }) |
2551 }) |
| 2528 |
2552 |
| 2529 static bool test_clone_func_max_enabled = false; |
2553 static bool test_clone_func_max_enabled = false; |
| 2530 static unsigned test_clone_func_max_clones; |
2554 static unsigned test_clone_func_max_clones; |
| 2531 static void *test_clone_func(void *dest, const void *src, const CxAllocator *al, void *data) { |
2555 static void *test_clone_func(void *dest, const void *src, const CxAllocator *al, void *data) { |
| 3224 cx_test_register(suite, test_list_parl_compare_parl); |
3248 cx_test_register(suite, test_list_parl_compare_parl); |
| 3225 cx_test_register(suite, test_list_arl_simple_destr); |
3249 cx_test_register(suite, test_list_arl_simple_destr); |
| 3226 cx_test_register(suite, test_list_parl_simple_destr); |
3250 cx_test_register(suite, test_list_parl_simple_destr); |
| 3227 cx_test_register(suite, test_list_arl_advanced_destr); |
3251 cx_test_register(suite, test_list_arl_advanced_destr); |
| 3228 cx_test_register(suite, test_list_parl_advanced_destr); |
3252 cx_test_register(suite, test_list_parl_advanced_destr); |
| |
3253 cx_test_register(suite, test_list_arl_reserve_and_shrink); |
| |
3254 cx_test_register(suite, test_list_parl_reserve_and_shrink); |
| 3229 cx_test_register(suite, test_list_arl_clone_into_arl); |
3255 cx_test_register(suite, test_list_arl_clone_into_arl); |
| 3230 cx_test_register(suite, test_list_parl_clone_into_arl); |
3256 cx_test_register(suite, test_list_parl_clone_into_arl); |
| 3231 cx_test_register(suite, test_list_arl_clone_into_ll); |
3257 cx_test_register(suite, test_list_arl_clone_into_ll); |
| 3232 cx_test_register(suite, test_list_parl_clone_into_ll); |
3258 cx_test_register(suite, test_list_parl_clone_into_ll); |
| 3233 cx_test_register(suite, test_list_arl_clone_into_parl); |
3259 cx_test_register(suite, test_list_arl_clone_into_parl); |
| 3359 cx_test_register(suite, test_list_pll_compare_parl); |
3385 cx_test_register(suite, test_list_pll_compare_parl); |
| 3360 cx_test_register(suite, test_list_ll_simple_destr); |
3386 cx_test_register(suite, test_list_ll_simple_destr); |
| 3361 cx_test_register(suite, test_list_pll_simple_destr); |
3387 cx_test_register(suite, test_list_pll_simple_destr); |
| 3362 cx_test_register(suite, test_list_ll_advanced_destr); |
3388 cx_test_register(suite, test_list_ll_advanced_destr); |
| 3363 cx_test_register(suite, test_list_pll_advanced_destr); |
3389 cx_test_register(suite, test_list_pll_advanced_destr); |
| |
3390 cx_test_register(suite, test_list_ll_reserve_and_shrink); |
| |
3391 cx_test_register(suite, test_list_pll_reserve_and_shrink); |
| 3364 cx_test_register(suite, test_list_ll_clone_into_arl); |
3392 cx_test_register(suite, test_list_ll_clone_into_arl); |
| 3365 cx_test_register(suite, test_list_pll_clone_into_arl); |
3393 cx_test_register(suite, test_list_pll_clone_into_arl); |
| 3366 cx_test_register(suite, test_list_ll_clone_into_ll); |
3394 cx_test_register(suite, test_list_ll_clone_into_ll); |
| 3367 cx_test_register(suite, test_list_pll_clone_into_ll); |
3395 cx_test_register(suite, test_list_pll_clone_into_ll); |
| 3368 cx_test_register(suite, test_list_ll_clone_into_parl); |
3396 cx_test_register(suite, test_list_ll_clone_into_parl); |
| 3467 cx_test_register(suite, test_list_pkvl_compare_parl); |
3495 cx_test_register(suite, test_list_pkvl_compare_parl); |
| 3468 cx_test_register(suite, test_list_kvl_simple_destr); |
3496 cx_test_register(suite, test_list_kvl_simple_destr); |
| 3469 cx_test_register(suite, test_list_pkvl_simple_destr); |
3497 cx_test_register(suite, test_list_pkvl_simple_destr); |
| 3470 cx_test_register(suite, test_list_kvl_advanced_destr); |
3498 cx_test_register(suite, test_list_kvl_advanced_destr); |
| 3471 cx_test_register(suite, test_list_pkvl_advanced_destr); |
3499 cx_test_register(suite, test_list_pkvl_advanced_destr); |
| |
3500 cx_test_register(suite, test_list_kvl_reserve_and_shrink); |
| |
3501 cx_test_register(suite, test_list_pkvl_reserve_and_shrink); |
| 3472 // note: kv-lists also support a list clone, but that does not clone the keys |
3502 // note: kv-lists also support a list clone, but that does not clone the keys |
| 3473 cx_test_register(suite, test_list_kvl_clone_into_arl); |
3503 cx_test_register(suite, test_list_kvl_clone_into_arl); |
| 3474 cx_test_register(suite, test_list_pkvl_clone_into_arl); |
3504 cx_test_register(suite, test_list_pkvl_clone_into_arl); |
| 3475 cx_test_register(suite, test_list_kvl_clone_into_ll); |
3505 cx_test_register(suite, test_list_kvl_clone_into_ll); |
| 3476 cx_test_register(suite, test_list_pkvl_clone_into_ll); |
3506 cx_test_register(suite, test_list_pkvl_clone_into_ll); |