fix tests and contains cmp version

This commit is contained in:
2025-12-14 15:48:16 +01:00
parent 526b49e518
commit 4906ae7001
2 changed files with 23 additions and 23 deletions
+2 -2
View File
@@ -203,8 +203,8 @@ bool dyn_array_contains_eq_func(void *this, uint8_t *value, dyn_array_eq_fn eq);
#define arr_contains_cmp(THIS, EQ_FN, ...)\
(\
STATIC_ASSERT(sizeof(*(THIS)) == sizeof(*(__VA_ARGS__))),\
dyn_array_contains_eq_func((THIS), (uint8_t*)(__VA_ARGS__), (EQ_FN))\
STATIC_ASSERT(sizeof(*(THIS)) == sizeof(*(&__VA_ARGS__))),\
dyn_array_contains_eq_func((THIS), (uint8_t*)(&__VA_ARGS__), (EQ_FN))\
)
// Comparison function for sorting: returns -1 if a < b, 0 if a == b, 1 if a > b
+21 -21
View File
@@ -57,12 +57,12 @@ Test(dynamic_arrays, contains) {
with_borrow(alloc) {
int *numbers = make_arr(int, alloc);
arr_append(numbers, 20);
cr_expect(arr_contains(numbers, &(int){20}));
cr_expect(arr_contains(numbers, (int){20}));
arr_reset(numbers);
for ( size_t y = 0; y < 1000; y++ ) {
for ( size_t i = 0; i < 100; i++ ) {
if (!arr_contains(numbers, &(int){i})) {
if (!arr_contains(numbers, (int){i})) {
arr_append(numbers, i);
}
}
@@ -80,9 +80,9 @@ Test(dynamic_arrays, contains_found) {
arr_append(arr, 20);
arr_append(arr, 30);
cr_assert(arr_contains(arr, &(int){10}));
cr_assert(arr_contains(arr, &(int){20}));
cr_assert(arr_contains(arr, &(int){30}));
cr_assert(arr_contains(arr, (int){10}));
cr_assert(arr_contains(arr, (int){20}));
cr_assert(arr_contains(arr, (int){30}));
}
}
@@ -93,9 +93,9 @@ Test(dynamic_arrays, contains_not_found) {
arr_append(arr, 20);
arr_append(arr, 30);
cr_assert_not(arr_contains(arr, &(int){5}));
cr_assert_not(arr_contains(arr, &(int){15}));
cr_assert_not(arr_contains(arr, &(int){99}));
cr_assert_not(arr_contains(arr, (int){5}));
cr_assert_not(arr_contains(arr, (int){15}));
cr_assert_not(arr_contains(arr, (int){99}));
}
}
@@ -103,7 +103,7 @@ Test(dynamic_arrays, contains_empty) {
with_borrow(alloc) {
int *arr = make_arr(int, alloc, .initial_capacity = 5);
cr_assert_not(arr_contains(arr, &(int){10}));
cr_assert_not(arr_contains(arr, (int){10}));
}
}
@@ -115,9 +115,9 @@ Test(dynamic_arrays, contains_cmp_found) {
arr_append(arr, 20);
arr_append(arr, 30);
cr_assert(arr_contains_cmp(arr, int_eq, &(int){10}));
cr_assert(arr_contains_cmp(arr, int_eq, &(int){20}));
cr_assert(arr_contains_cmp(arr, int_eq, &(int){30}));
cr_assert(arr_contains_cmp(arr, int_eq, (int){10}));
cr_assert(arr_contains_cmp(arr, int_eq, (int){20}));
cr_assert(arr_contains_cmp(arr, int_eq, (int){30}));
}
}
@@ -128,9 +128,9 @@ Test(dynamic_arrays, contains_cmp_not_found) {
arr_append(arr, 20);
arr_append(arr, 30);
cr_assert_not(arr_contains_cmp(arr, int_eq, &(int){5}));
cr_assert_not(arr_contains_cmp(arr, int_eq, &(int){15}));
cr_assert_not(arr_contains_cmp(arr, int_eq, &(int){99}));
cr_assert_not(arr_contains_cmp(arr, int_eq, (int){5}));
cr_assert_not(arr_contains_cmp(arr, int_eq, (int){15}));
cr_assert_not(arr_contains_cmp(arr, int_eq, (int){99}));
}
}
@@ -138,7 +138,7 @@ Test(dynamic_arrays, contains_cmp_empty) {
with_borrow(alloc) {
int *arr = make_arr(int, alloc, .initial_capacity = 5);
cr_assert_not(arr_contains_cmp(arr, int_eq, &(int){10}));
cr_assert_not(arr_contains_cmp(arr, int_eq, (int){10}));
}
}
@@ -164,13 +164,13 @@ Test(dynamic_arrays, contains_cmp_key_value_map) {
arr_append(map, ((kv_pair_t){.key = 10, .value = "ten"}));
// Check if keys exist
cr_assert(arr_contains_cmp(map, kv_eq_by_key, &(kv_pair_t){.key = 1}));
cr_assert(arr_contains_cmp(map, kv_eq_by_key, &(kv_pair_t){.key = 5}));
cr_assert(arr_contains_cmp(map, kv_eq_by_key, &(kv_pair_t){.key = 10}));
cr_assert(arr_contains_cmp(map, kv_eq_by_key, (kv_pair_t){.key = 1}));
cr_assert(arr_contains_cmp(map, kv_eq_by_key, (kv_pair_t){.key = 5}));
cr_assert(arr_contains_cmp(map, kv_eq_by_key, (kv_pair_t){.key = 10}));
// Check for non-existent keys
cr_assert_not(arr_contains_cmp(map, kv_eq_by_key, &(kv_pair_t){.key = 2}));
cr_assert_not(arr_contains_cmp(map, kv_eq_by_key, &(kv_pair_t){.key = 99}));
cr_assert_not(arr_contains_cmp(map, kv_eq_by_key, (kv_pair_t){.key = 2}));
cr_assert_not(arr_contains_cmp(map, kv_eq_by_key, (kv_pair_t){.key = 99}));
}
}