test/array_tests.c

branch
feature/array
changeset 337
f695ae118460
parent 336
6d7aa8a1a3b3
child 342
8f0a3c00d1d2
     1.1 --- a/test/array_tests.c	Thu Jul 04 22:23:15 2019 +0200
     1.2 +++ b/test/array_tests.c	Thu Jul 04 22:32:03 2019 +0200
     1.3 @@ -118,6 +118,34 @@
     1.4      ucx_array_free(&array);
     1.5  }
     1.6  
     1.7 +UCX_TEST(test_ucx_array_set) {
     1.8 +    UcxArray array = ucx_array_new(16, sizeof(int));
     1.9 +    
    1.10 +    int x = 42;
    1.11 +
    1.12 +    UCX_TEST_BEGIN
    1.13 +
    1.14 +    ucx_array_set(&array, 7, &x);
    1.15 +    UCX_TEST_ASSERT(ucx_array_at_int(array, 7) == 42, "failed");
    1.16 +    UCX_TEST_ASSERT(array.size >= 8, "array not resized on set");
    1.17 +    UCX_TEST_ASSERT(array.capacity == 16, "capacity changed unnecessarily");
    1.18 +    
    1.19 +    x = 13;
    1.20 +    ucx_array_set(&array, 27, &x);
    1.21 +    
    1.22 +    UCX_TEST_ASSERT(ucx_array_at_int(array, 27) == 13, "failed");
    1.23 +    UCX_TEST_ASSERT(array.size == 28, "array not resized on set");
    1.24 +    UCX_TEST_ASSERT(array.capacity == 28, "capacity not grown");
    1.25 +    
    1.26 +    ucx_array_set(&array, 7, NULL);
    1.27 +    
    1.28 +    UCX_TEST_ASSERT(ucx_array_at_int(array, 7) == 0, "not zeroed on NULL set");
    1.29 +    
    1.30 +    UCX_TEST_END
    1.31 +    
    1.32 +    ucx_array_free(&array);
    1.33 +}
    1.34 +
    1.35  UCX_TEST(test_ucx_array_equals) {
    1.36      UcxArray a1 = ucx_array_new(16, sizeof(int));
    1.37      UcxArray a2 = ucx_array_new(16, sizeof(int));

mercurial