summaryrefslogtreecommitdiff
path: root/doll_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'doll_test.c')
-rw-r--r--doll_test.c81
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;
+}