Guest User

Untitled

a guest
May 25th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. #include "queue.h"
  2. #include "util.h"
  3.  
  4. #include <assert.h>
  5. #include <stddef.h>
  6. #include <stdio.h>
  7. #include <stdlib.h>
  8.  
  9. struct queue_test {
  10. struct queue element;
  11. struct list_elem elem;
  12. int zaehler;
  13. };
  14.  
  15. int main (void) {
  16.  
  17. struct queue_test* queue = malloc(sizeof(struct queue_test));
  18. struct queue_test* queue2 = malloc(sizeof(struct queue_test));
  19. struct queue_test* queue3 = malloc(sizeof(struct queue_test));
  20. struct queue_test* queue4 = malloc(sizeof(struct queue_test));
  21. struct queue_test* queue5 = malloc(sizeof(struct queue_test));
  22. struct queue_test* queue6 = malloc(sizeof(struct queue_test));
  23. struct queue_test* queue7 = malloc(sizeof(struct queue_test));
  24. struct queue_test* queue8 = malloc(sizeof(struct queue_test));
  25.  
  26. queue_init(&queue->element, QUEUE_LIFO);
  27. queue->zaehler = 1;
  28.  
  29. queue_add(&queue->element, &queue2->elem);
  30. queue2->zaehler = 2;
  31.  
  32. queue_add(&queue->element, &queue3->elem);
  33. queue3->zaehler = 3;
  34.  
  35. queue_add(&queue->element, &queue4->elem);
  36. queue4->zaehler = 4;
  37.  
  38. printf("%i \n", queue->zaehler);
  39. assert(queue_del(&queue->element) == &queue4->elem);
  40. /*how can i get the return value another time eg for printf?*/
  41. free(queue4);
  42.  
  43. assert(queue_del(&queue->element) == &queue3->elem);
  44. free(queue3);
  45.  
  46. assert(queue_del(&queue->element) == &queue2->elem);
  47. free(queue2);
  48.  
  49. assert(queue_del(&queue->element) == NULL);
  50. free(queue);
  51.  
  52.  
  53.  
  54. queue_init(&queue5->element, QUEUE_FIFO);
  55. queue->zaehler = 5;
  56.  
  57. queue_add(&queue5->element, &queue6->elem);
  58. queue2->zaehler = 6;
  59.  
  60. queue_add(&queue5->element, &queue7->elem);
  61. queue3->zaehler = 7
  62.  
  63. queue_add(&queue5->element, &queue8->elem);
  64. queue4->zaehler = 8;
  65.  
  66.  
  67. printf("%i \n", queue5->zaehler);
  68. assert(queue_del(&queue5->element) == &queue5->elem);
  69.  
  70. assert(queue_del(&queue5->element) == &queue6->elem);
  71. free(queue3);
  72.  
  73. assert(queue_del(&queue5->element) == &queue7->elem);
  74. free(queue2);
  75.  
  76. assert(queue_del(&queue5->element) == NULL);
  77. free(queue);
  78. free(queue5);
  79.  
  80. return 0;
  81. }
Add Comment
Please, Sign In to add comment