diff options
Diffstat (limited to 'doll_test.c')
-rw-r--r-- | doll_test.c | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/doll_test.c b/doll_test.c new file mode 100644 index 0000000..73dd3b9 --- /dev/null +++ b/doll_test.c @@ -0,0 +1,81 @@ +#include <stdio.h> +#include "doll.h" + +void iter(doll_t *list) +{ + int i; + char *elm; + + printf("\nIterando (for)...\n"); + for (i = 0; i < list->length; i++) + printf("%s\n", doll_at(list, i)); + + printf("\nIterando (doll_foreach)...\n"); + doll_foreach(elm, list) + printf("%s\n", elm); + + printf("\nIterando al revés (for)...\n"); + for (i = -1; -i <= list->length; i--) + printf("%s\n", doll_at(list, i)); + + printf("\nIterando al revés (doll_foreach)...\n"); + doll_foreach_r(elm, list) + printf("%s\n", elm); +} + +void iter_doll(doll_t *list) +{ +} + +int main(void) +{ + char *data1 = "Uno"; + char *data2 = "Dos"; + char *data3 = "Tres"; + char *data4 = "Cuatro"; + doll_t *mylist = doll_new(); + doll_t *mylist2 = doll_new(); + int i; + + doll_append(mylist, data1); + doll_append(mylist, data2); + doll_append(mylist, data3); + doll_append(mylist, data4); + printf("Tamaño: %d\n", mylist->length); + + printf("\nPrimer elemento: %s\n", (char *)doll_first(mylist)); + + iter(mylist); + + printf("\nEliminando %s...\n", data2); + doll_remove(mylist, data2); + printf("\nTamaño: %d\n", mylist->length); + + printf("\nÚltimo elemento: %s\n", (char *)doll_last(mylist)); + + iter(mylist); + + printf("\nPush \"p1\"\n"); + doll_push(mylist, "p1"); + printf("Push \"p2\"\n"); + doll_push(mylist, "p2"); + while (mylist->head) { + printf("Pop: %s\n", (char *)doll_pop(mylist)); + printf("Tamaño: %d\n", mylist->length); + } + + for (i = 0; i < 3; i++) + doll_push(mylist2, "waka"); + + iter(mylist2); + + while (mylist2->head) { + printf("Pop: %s\n", (char *)doll_pop(mylist2)); + printf("Tamaño: %d\n", mylist2->length); + } + + doll_destroy(mylist); + doll_destroy(mylist2); + + return 0; +} |