aboutsummaryrefslogtreecommitdiff
path: root/tests/test_vec.c
blob: 68cb0ce5dd898a869ccd589215d743990b30aa92 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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;
}