vec/tests/02_vec_push.c

40 lines
770 B
C
Raw Permalink Normal View History

2025-07-19 18:53:45 +00:00
#define DEBUG
#include "../include/except.h"
#include "../include/vec.h"
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void){
Vec *v = NULL;
v = vec_init(SOFTFAIL);
ASSERTED(v->items != NULL);
ASSERTED(v->cap == VEC_INIT_SZ);
ASSERTED(v->len == 0);
char *str = "Hello";
char *str2 = "World";
char *str3 = "Goodbye";
int p1 = vec_push(v, (void *)str);
ASSERTED(p1 == 1);
ASSERTED(v->len == 1);
int p2 = vec_push(v, (void *)str2);
ASSERTED(p2 == 2);
ASSERTED(v->len == 2);
ASSERTED(v->cap == 2);
int p3 = vec_push(v,str3);
ASSERTED(p3 == 3);
ASSERTED(v->len == 3);
ASSERTED(v->cap == 4);
vec_free(v);
return EXIT_SUCCESS;
}