dynamic arrays seem to be working

This commit is contained in:
2025-11-04 20:41:21 +01:00
parent aa0a3d6a25
commit 9b1eaea653
5 changed files with 93 additions and 14 deletions
+46
View File
@@ -0,0 +1,46 @@
#include <criterion/criterion.h>
#include <stdbool.h>
#include "cig.h"
Test(dynamic_arrays, append) {
with_borrow(alloc) {
int *numbers = dyn_array_create(alloc, int);
dyn_array_append(numbers, 40);
dyn_array_append(numbers, 41);
dyn_array_append(numbers, 42);
dyn_array_append(numbers, 43);
dyn_array_append(numbers, 44);
dyn_array_append(numbers, 45);
dyn_array_append(numbers, 46);
dyn_array_append(numbers, 47);
dyn_array_append(numbers, 48);
dyn_array_append(numbers, 49);
dyn_array_append(numbers, 50);
for (int i = 0; i < (int)dyn_array_length(numbers); i++) {
cr_assert_eq(numbers[i], i+40);
}
}
}
Test(dynamic_arrays, pop) {
with_borrow(alloc) {
int *numbers = dyn_array_create(alloc, int);
dyn_array_append(numbers, 40);
dyn_array_append(numbers, 41);
dyn_array_append(numbers, 42);
dyn_array_append(numbers, 43);
dyn_array_append(numbers, 44);
dyn_array_append(numbers, 45);
dyn_array_append(numbers, 46);
dyn_array_append(numbers, 47);
dyn_array_append(numbers, 48);
dyn_array_append(numbers, 49);
dyn_array_append(numbers, 50);
for (int i = 0; i < (int)dyn_array_length(numbers); i++) {
int num = dyn_array_pop(numbers);
cr_assert_eq(num, 50-i);
}
}
}