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));