/* $Id: da_test.c 1442 2005-08-02 20:36:21Z mipsator $ */
/* Public Domain */
/* dynamic array tests */
#include <stdio.h>
#include <stdlib.h>
#include "../compat/pmk_string.h"
#include "../dynarray.h"
char *tval[10] = {
"zero",
"one",
"two",
"three",
"four",
"five",
"six",
"seven",
"eight",
"nine"
};
int main(void) {
char *p;
dynary *da;
int i;
printf("Init dynary.\n");
da = da_init();
printf("\nAdding 9 values :\n");
for (i = 0 ; i < 10 ; i++) {
printf("\tAdd value '%s' ", tval[i]);
da_push(da, strdup(tval[i]));
printf("(%d)\n", da_size(da));
}
printf("\nTesting values :\n");
for (i = 9 ; i >= 0 ; i--) {
printf("\tda[%d] = %s\n", i, (char *)da_idx(da, i));
}
printf("\nRemoving values using da_pop :\n");
do {
p = da_pop(da);
if (p != NULL) {
printf("\tPoped '%s' (%d)\n", p, da_size(da));
free(p);
}
} while (p != NULL);
printf("\nAdding 9 values :\n");
for (i = 0 ; i < 10 ; i++) {
printf("\tAdd value '%s' ", tval[i]);
da_push(da, strdup(tval[i]));
printf("(%d)\n", da_size(da));
}
printf("\nTesting values :\n");
for (i = 9 ; i >= 0 ; i--) {
printf("\tda[%d] = %s\n", i, (char *)da_idx(da, i));
}
printf("\nRemoving values using da_shift :\n");
do {
p = da_shift(da);
if (p != NULL) {
printf("\tShifted '%s' (%d)\n", p, da_size(da));
free(p);
}
} while (p!= NULL);
printf("\nCleaning.\n");
da_destroy(da);
return(0);
}
syntax highlighted by Code2HTML, v. 0.9.1