void test_inserts_the_element_at_the_starting_of_queue(){ void* pQueue = createPQueue(); int data = 40; ASSERT(1 == enQueue(pQueue, &data, 5)); ASSERT(1 == deQueue(pQueue)); ASSERT(0 == deQueue(pQueue)); };
void test_inserts_the_element_first_having_higher_priority_String(){ void* pQueue = createPQueue(); String data1 = "a" , data2 = "b"; ASSERT(1 == enQueue(pQueue, &data2, 2)); ASSERT(1 == enQueue(pQueue, &data1, 1)); ASSERT(1 == deQueue(pQueue)); ASSERT(1 == deQueue(pQueue)); ASSERT(0 == deQueue(pQueue)); };
void test_inserts_the_element_first_having_lower_priority_char(){ void* pQueue = createPQueue(); char data1 = 'a' , data2 = 'b'; ASSERT(1 == enQueue(pQueue, &data1, 1)); ASSERT(1 == enQueue(pQueue, &data2, 2)); ASSERT(1 == deQueue(pQueue)); ASSERT(1 == deQueue(pQueue)); ASSERT(0 == deQueue(pQueue)); };
void test_inserts_the_element_first_having_lower_priority_double(){ void* pQueue = createPQueue(); double data1 = 10.0 , data2 = 20.0; ASSERT(1 == enQueue(pQueue, &data1, 1)); ASSERT(1 == enQueue(pQueue, &data2, 2)); ASSERT(1 == deQueue(pQueue)); ASSERT(1 == deQueue(pQueue)); ASSERT(0 == deQueue(pQueue)); };
void test_inserts_the_element_first_having_higher_priority_float(){ void* pQueue = createPQueue(); float data1 = 10.0f , data2 = 20.0f; ASSERT(1 == enQueue(pQueue, &data2, 2)); ASSERT(1 == enQueue(pQueue, &data1, 1)); ASSERT(1 == deQueue(pQueue)); ASSERT(1 == deQueue(pQueue)); ASSERT(0 == deQueue(pQueue)); };
int main(int argc, char *argv[]) { PQueue *queue = createPQueue(100); for(int i = 0; i < 10; i++) { PItem* item = (PItem*) malloc(sizeof(PItem)); item->data = malloc(sizeof(char) * 10); item->priority = rand(); sprintf(item->data, "%d", item->priority); pQueueAdd(queue, item); } PItem* item = pQueueRemove(queue); do { printf("%s\n", item->data, item->priority, item); item = pQueueRemove(queue); } while(item != NULL); }