aboutsummaryrefslogtreecommitdiff
path: root/tests/test_vec.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_vec.c')
-rw-r--r--tests/test_vec.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/test_vec.c b/tests/test_vec.c
new file mode 100644
index 0000000..68cb0ce
--- /dev/null
+++ b/tests/test_vec.c
@@ -0,0 +1,25 @@
+#include "../include/testing.h"
+#include "../include/vec.h"
+
+i32 test_int_vec() {
+ Arena perm = Arena_new(128e3);
+
+ Vec vec = Vec_new(&perm, i32, 2);
+ i32 *tmp = new(&perm, i32, 1);
+ *tmp = 1;
+ Vec_push(&perm, &vec, tmp);
+ *tmp = 2;
+ Vec_push(&perm, &vec, tmp);
+
+ t_assert_equal(*Vec_get(vec, i32, 0), 1);
+ t_assert_equal(*Vec_get(vec, i32, 1), 2);
+ t_assert_equal(vec.cap, 2);
+
+ *tmp = 3;
+ Vec_push(&perm, &vec, tmp);
+
+ t_assert_equal(*Vec_get(vec, i32, 2), 3);
+ t_assert_equal(vec.cap, 4);
+
+ return 0;
+}