57 lines
1.2 KiB
C
57 lines
1.2 KiB
C
|
#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_set(v,1,(void *)ptr);
|
||
|
ASSERTED(strcmp( (char *)v->items[1],(char *)ptr ) == 0);
|
||
|
ASSERTED(v->len == 2);
|
||
|
ASSERTED(v->cap == 4);
|
||
|
|
||
|
|
||
|
vec_free(v);
|
||
|
return EXIT_SUCCESS;
|
||
|
|
||
|
}
|