Archived
1
0
Fork 0
This repository has been archived on 2026-05-10. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
archived/test/t_queue.c
Henrik Hautakoski f973e29668 src/queue.c: don't deallocate the last block when queue becomes empty.
always keep one block in the queue so that in situations when the queue becomes empty
frequently. performance dosent blow up by calls to malloc/free.
2011-01-13 15:37:00 +01:00

34 lines
567 B
C

#include <assert.h>
#include <stdlib.h>
#include "../src/queue.h"
int main() {
int i, map[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
queue_t q = queue_init();
for(i=0; i < 10; i++)
queue_enqueue(q, &map[i]);
assert(queue_num_items(q) == 10);
for(i=0; i < 4; i++) {
int *c = queue_dequeue(q);
assert(c == &map[i]);
}
for(i=4; i < 10; i++)
queue_enqueue(q, &map[i]);
assert(queue_isempty(q) == 0);
while(queue_dequeue(q));
assert(queue_isempty(q));
queue_destroy(q);
return 0;
}