adds some additional avl tree tests

Fri, 28 Sep 2018 21:47:30 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Fri, 28 Sep 2018 21:47:30 +0200
changeset 330
d2bbf907a189
parent 329
71e9a60abfb4
child 331
3b985a4eb05b

adds some additional avl tree tests

test/avl_tests.c file | annotate | diff | comparison | revisions
     1.1 --- a/test/avl_tests.c	Wed Aug 22 14:39:24 2018 +0200
     1.2 +++ b/test/avl_tests.c	Fri Sep 28 21:47:30 2018 +0200
     1.3 @@ -230,6 +230,8 @@
     1.4  
     1.5  UCX_TEST(test_ucx_avl_find) {
     1.6      UcxAVLTree *tree = ucx_avl_new(ucx_cmp_ptr);
     1.7 +    UcxAVLTree *tree2 = ucx_avl_new(ucx_cmp_ptr);
     1.8 +    UcxAVLTree *tree3 = ucx_avl_new(ucx_cmp_ptr);
     1.9      
    1.10      size_t len = 12;
    1.11      int val[] = {10, 15, 3, 4, -30, 20, 14, -11, 12, -5, 1, 13};
    1.12 @@ -278,9 +280,25 @@
    1.13      ret = ucx_avl_find(tree,(intptr_t)7, dist_int, UCX_AVL_FIND_UPPER_BOUNDED);
    1.14      UCX_TEST_ASSERT(ret && *((int*)ret) == 4, "AVL find UB failed");
    1.15      
    1.16 +    int val2[] = { 10, 15 };
    1.17 +    ucx_avl_put(tree2, val2[0], &(val2[0]));
    1.18 +    ucx_avl_put(tree2, val2[1], &(val2[1]));
    1.19 +    ret = ucx_avl_find(tree2,(intptr_t)11, dist_int, UCX_AVL_FIND_UPPER_BOUNDED);
    1.20 +    UCX_TEST_ASSERT(ret && *((int*)ret) == 10, "AVL find LB failed");
    1.21 +    
    1.22 +    int val3[] = { 15, 16, 1 };
    1.23 +    ucx_avl_put(tree3, val3[0], &(val3[0]));
    1.24 +    ucx_avl_put(tree3, val3[1], &(val3[1]));
    1.25 +    ucx_avl_put(tree3, val3[2], &(val3[2]));
    1.26 +   
    1.27 +    ret = ucx_avl_find(tree3, (intptr_t)13, dist_int, UCX_AVL_FIND_CLOSEST);
    1.28 +    UCX_TEST_ASSERT(ret && *((int*)ret) == 15, "AVL find closest failed");
    1.29 +    
    1.30      UCX_TEST_END
    1.31      
    1.32      ucx_avl_free(tree);
    1.33 +    ucx_avl_free(tree2);
    1.34 +    ucx_avl_free(tree3);
    1.35  }
    1.36  
    1.37  UCX_TEST(test_ucx_avl_traverse) {

mercurial