diff -r 7fd13b9f8f60 -r d315a068235a test/array_tests.c --- a/test/array_tests.c Sat Aug 10 11:12:49 2019 +0200 +++ b/test/array_tests.c Tue Sep 24 20:16:00 2019 +0200 @@ -622,3 +622,26 @@ UCX_TEST_END ucx_array_destroy(&array); } + +UCX_TEST(test_ucx_array_util_set) { + size_t capacity = 16; + int* array = malloc(sizeof(int)*capacity); + + UCX_TEST_BEGIN + + UCX_ARRAY_UTIL_SET(&array, &capacity, 7, 42); + + UCX_TEST_ASSERT(array[7] == 42, "failed"); + UCX_TEST_ASSERT(capacity == 16, "capacity changed unnecessarily"); + + UCX_ARRAY_UTIL_SET(&array, &capacity, 37, 13); + UCX_ARRAY_UTIL_SET(&array, &capacity, 38, 37); + + UCX_TEST_ASSERT(array[37] == 13, "failed"); + UCX_TEST_ASSERT(array[38] == 37, "failed"); + UCX_TEST_ASSERT(capacity == 64, "capacity not grown"); + + UCX_TEST_END + + free(array); +}