summaryrefslogtreecommitdiff
path: root/test/pkarr.c
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2024-12-09 13:25:14 -0500
committerJonathan Bradley <jcb@pikum.xyz>2024-12-09 13:25:14 -0500
commit6bde03ec2db8f1d2ac114991f38896abb78a1812 (patch)
tree86b8a31377205811079ebf9a09b1302cb083cf12 /test/pkarr.c
parent392a1454de35f60f2db7f509d6a1ea6e1b0b2f50 (diff)
pkarr: add pk_arr_find_first_index + tests
Diffstat (limited to 'test/pkarr.c')
-rw-r--r--test/pkarr.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/pkarr.c b/test/pkarr.c
index 97757dc..bbc3411 100644
--- a/test/pkarr.c
+++ b/test/pkarr.c
@@ -31,6 +31,12 @@ test_teardown(struct pk_arr *arr, struct pk_membucket **bkt)
arr->data = NULL;
}
+bool
+find_uint8(void *user_data, void *item)
+{
+ return memcmp(user_data, item, sizeof(uint8_t)) == 0;
+}
+
int main(int argc, char *argv[])
{
(void)argc;
@@ -207,5 +213,24 @@ int main(int argc, char *argv[])
test_teardown(&arr, &bkt);
}
+ // init via append, soft clear
+ {
+ test_spinup(&arr, &bkt);
+ arr.stride = sizeof(uint8_t);
+ arr.alignment = alignof(uint8_t);
+
+ uint8_t c1 = 127;
+ uint8_t c2 = 128;
+ pk_arr_append(&arr, &c1);
+
+ i = pk_arr_find_first_index(&arr, &c1, find_uint8);
+ if (0 != i) exit(1);
+
+ i = pk_arr_find_first_index(&arr, &c2, find_uint8);
+ if (0xFFFFFFFF != i) exit(1);
+
+ test_teardown(&arr, &bkt);
+ }
+
return 0;
}