]> git.llucax.com Git - z.facultad/75.42/calculadora.git/blobdiff - dllist_test.c
Se cambia el inicializador para que sea más parecido a un constructor y se actualiza...
[z.facultad/75.42/calculadora.git] / dllist_test.c
index 5c52a49540a1e810d7f463f088acf991d6a95ad7..7eca5ab6fc026d08a3b34d8e503147e853bcba9f 100644 (file)
  */
 int main(void) {
     /* Declaración de variables. */
-    DLList lista;
+    DLList* lista = NULL;
     int a=1, b=2, c=3, d=4, e=5, f=6, g=7, h=8;
 
-    printf("Chequeo de inicialización: ");
-    assert(DLList_init(&lista));
+    printf("Chequeo de creación: ");
+    lista = DLList_new();
+    assert(lista != NULL);
     printf("OK!\n");
 
     printf("Chequeo si está vacía: ");
-    assert(DLList_empty(&lista));
+    assert(DLList_empty(lista));
     printf("OK!\n");
 
     printf("Chequeo si no tiene más elementos: ");
-    assert(!DLList_have_more(&lista));
+    assert(!DLList_have_more(lista));
     printf("OK!\n");
 
     printf("Agrego elemento '%i' al inicio: ", a);
-    assert(DLList_unshift(&lista, &a));
+    assert(DLList_unshift(lista, &a));
     printf("OK!\n");
 
     printf("Chequeo que no esté vacía: ");
-    assert(!DLList_empty(&lista));
+    assert(!DLList_empty(lista));
     printf("OK!\n");
 
     printf("Agrego elemento '%i' al final: ", b);
-    assert(DLList_push(&lista, &b));
+    assert(DLList_push(lista, &b));
     printf("OK!\n");
 
     printf("Chequeo que no esté vacía: ");
-    assert(!DLList_empty(&lista));
+    assert(!DLList_empty(lista));
     printf("OK!\n");
 
     printf("Agrego elemento '%i' al inicio: ", c);
-    assert(DLList_unshift(&lista, &c));
+    assert(DLList_unshift(lista, &c));
     printf("OK!\n");
 
     printf("Agrego elemento '%i' al inicio: ", d);
-    assert(DLList_unshift(&lista, &d));
+    assert(DLList_unshift(lista, &d));
     printf("OK!\n");
 
     printf("Agrego elemento '%i' al final: ", e);
-    assert(DLList_push(&lista, &e));
+    assert(DLList_push(lista, &e));
     printf("OK!\n");
 
     printf("Agrego elemento '%i' al final: ", f);
-    assert(DLList_push(&lista, &f));
+    assert(DLList_push(lista, &f));
     printf("OK!\n");
 
     printf("Chequeo elemento actual: ");
-    assert(DLList_current(&lista) == &f);
+    assert(DLList_current(lista) == &f);
     printf("OK!\n");
 
     printf("Agrego elemento '%i' al final: ", g);
-    assert(DLList_push(&lista, &g));
+    assert(DLList_push(lista, &g));
     printf("OK!\n");
 
     printf("Agrego elemento '%i' al inicio: ", h);
-    assert(DLList_unshift(&lista, &h));
+    assert(DLList_unshift(lista, &h));
     printf("OK!\n");
 
     printf("Obtengo el primer elemento: ");
-    assert(DLList_begin(&lista) == &h);
+    assert(DLList_begin(lista) == &h);
     printf("OK!\n");
 
     printf("Chequeo si hay más elementos: ");
-    assert(DLList_have_more(&lista));
+    assert(DLList_have_more(lista));
     printf("OK!\n");
 
     printf("Obtengo el elemento anterior elemento: ");
-    assert(DLList_prev(&lista) == NULL);
+    assert(DLList_prev(lista) == NULL);
     printf("OK!\n");
 
     printf("Chequeo que no haya más elementos: ");
-    assert(!DLList_have_more(&lista));
+    assert(!DLList_have_more(lista));
     printf("OK!\n");
 
     printf("Obtengo el último elemento: ");
-    assert(DLList_end(&lista) == &g);
+    assert(DLList_end(lista) == &g);
     printf("OK!\n");
 
     printf("Chequeo si hay más elementos: ");
-    assert(DLList_have_more(&lista));
+    assert(DLList_have_more(lista));
     printf("OK!\n");
 
     printf("Obtengo el próximo elemento elemento: ");
-    assert(DLList_next(&lista) == NULL);
+    assert(DLList_next(lista) == NULL);
     printf("OK!\n");
 
     printf("Chequeo que no haya más elementos: ");
-    assert(!DLList_have_more(&lista));
+    assert(!DLList_have_more(lista));
     printf("OK!\n");
 
     printf("Recorro la lista...\n");
     printf("Elemento 1: ");
-    assert(DLList_begin(&lista) == &h);
+    assert(DLList_begin(lista) == &h);
     printf("OK!\n");
     printf("Elemento 2: ");
-    assert(DLList_next(&lista) == &d);
+    assert(DLList_next(lista) == &d);
     printf("OK!\n");
     printf("Elemento 3: ");
-    assert(DLList_next(&lista) == &c);
+    assert(DLList_next(lista) == &c);
     printf("OK!\n");
     printf("Elemento 4: ");
-    assert(DLList_next(&lista) == &a);
+    assert(DLList_next(lista) == &a);
     printf("OK!\n");
     printf("Elemento 5: ");
-    assert(DLList_next(&lista) == &b);
+    assert(DLList_next(lista) == &b);
     printf("OK!\n");
     printf("Elemento 6: ");
-    assert(DLList_next(&lista) == &e);
+    assert(DLList_next(lista) == &e);
     printf("OK!\n");
     printf("Elemento actual (6): ");
-    assert(DLList_current(&lista) == &e);
+    assert(DLList_current(lista) == &e);
     printf("OK!\n");
     printf("Elemento anterior (5): ");
-    assert(DLList_prev(&lista) == &b);
+    assert(DLList_prev(lista) == &b);
     printf("OK!\n");
     printf("Elemento siguiente (6 de nuevo): ");
-    assert(DLList_next(&lista) == &e);
+    assert(DLList_next(lista) == &e);
     printf("OK!\n");
     printf("Elemento 7: ");
-    assert(DLList_next(&lista) == &f);
+    assert(DLList_next(lista) == &f);
     printf("OK!\n");
     printf("Elemento 8: ");
-    assert(DLList_next(&lista) == &g);
+    assert(DLList_next(lista) == &g);
     printf("OK!\n");
     printf("Elemento 9: ");
-    assert(DLList_next(&lista) == NULL);
+    assert(DLList_next(lista) == NULL);
     printf("OK!\n");
     printf("Chequeo que no haya más elementos: ");
-    assert(!DLList_have_more(&lista));
+    assert(!DLList_have_more(lista));
     printf("OK!\n");
 
     printf("Saco el primer elemento: ");
-    assert(DLList_shift(&lista) == &h);
+    assert(DLList_shift(lista) == &h);
     printf("OK!\n");
     printf("Chequeo elemento actual: ");
-    assert(DLList_current(&lista) == &d);
+    assert(DLList_current(lista) == &d);
     printf("OK!\n");
 
     printf("Saco el último elemento: ");
-    assert(DLList_pop(&lista) == &g);
+    assert(DLList_pop(lista) == &g);
     printf("OK!\n");
     printf("Chequeo elemento actual: ");
-    assert(DLList_current(&lista) == &f);
+    assert(DLList_current(lista) == &f);
     printf("OK!\n");
 
     printf("Saco el último elemento: ");
-    assert(DLList_pop(&lista) == &f);
+    assert(DLList_pop(lista) == &f);
     printf("OK!\n");
     printf("Chequeo elemento actual: ");
-    assert(DLList_current(&lista) == &e);
+    assert(DLList_current(lista) == &e);
     printf("OK!\n");
 
     printf("Saco el último elemento: ");
-    assert(DLList_pop(&lista) == &e);
+    assert(DLList_pop(lista) == &e);
     printf("OK!\n");
     printf("Chequeo elemento actual: ");
-    assert(DLList_current(&lista) == &b);
+    assert(DLList_current(lista) == &b);
     printf("OK!\n");
 
     printf("Saco el primer elemento: ");
-    assert(DLList_shift(&lista) == &d);
+    assert(DLList_shift(lista) == &d);
     printf("OK!\n");
     printf("Chequeo elemento actual: ");
-    assert(DLList_current(&lista) == &c);
+    assert(DLList_current(lista) == &c);
     printf("OK!\n");
 
     printf("Saco el primer elemento: ");
-    assert(DLList_shift(&lista) == &c);
+    assert(DLList_shift(lista) == &c);
     printf("OK!\n");
     printf("Chequeo elemento actual: ");
-    assert(DLList_current(&lista) == &a);
+    assert(DLList_current(lista) == &a);
     printf("OK!\n");
 
     printf("Saco el primer elemento: ");
-    assert(DLList_shift(&lista) == &a);
+    assert(DLList_shift(lista) == &a);
     printf("OK!\n");
     printf("Chequeo elemento actual: ");
-    assert(DLList_current(&lista) == &b);
+    assert(DLList_current(lista) == &b);
     printf("OK!\n");
 
     printf("Saco el primer elemento: ");
-    assert(DLList_shift(&lista) == &b);
+    assert(DLList_shift(lista) == &b);
     printf("OK!\n");
     printf("Chequeo elemento actual: ");
-    assert(DLList_current(&lista) == NULL);
+    assert(DLList_current(lista) == NULL);
     printf("OK!\n");
     printf("Chequeo si está vacía: ");
-    assert(DLList_empty(&lista));
+    assert(DLList_empty(lista));
     printf("OK!\n");
 
+    DLList_delete(lista);
+
     return EXIT_SUCCESS;
 }