vec/tests/04_vec_read.c

51 lines
1.0 KiB
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);
char *str4 = (char *)vec_pop(v);
ASSERTED(strcmp(str4,str3) == 0);
ASSERTED(v->len == 2);
ASSERTED(v->cap == 4);
char *ptr = (char *)vec_read(v,1);
ASSERTED(strcmp(str2,ptr) == 0);
ASSERTED(v->len == 2);
ASSERTED(v->cap == 4);
vec_free(v);
return EXIT_SUCCESS;
}