tests/test_list.c

changeset 1485
814c1c61488d
parent 1483
97a6cf1520ba
child 1486
717e472f18d9
equal deleted inserted replaced
1484:d72725216f37 1485:814c1c61488d
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);

mercurial