TEST_C(DequeTests, DequeRemoveLast) { int a = 1; int b = 2; int c = 3; int d = 4; deque_add_first(deque, &a); deque_add_first(deque, &b); deque_add_last(deque, &c); deque_add_last(deque, &d); int *last; deque_get_last(deque, (void*) &last); CHECK_EQUAL_C_INT(d, *last); int *removed; deque_remove_last(deque, (void*) &removed); CHECK_EQUAL_C_INT(d, *removed); deque_get_last(deque, (void*) &last); CHECK_EQUAL_C_INT(c, *last); };
TEST_C(DequeTests, DequeGetLast) { int a = 1; int b = 2; int c = 3; deque_add_first(deque, &a); deque_add_last(deque, &b); deque_add_first(deque, &c); int *last; deque_get_last(deque, (void*) &last); CHECK_EQUAL_C_INT(b, *last); };
TEST_C(DequeTests, DequeRemoveAll) { int a = 1; int b = 2; int c = 3; deque_add(deque, &a); deque_add(deque, &b); deque_add(deque, &c); deque_remove_all(deque); void *first; int stat1 = deque_get_first(deque, &first); void *last; int stat2 = deque_get_last(deque, &last); CHECK_EQUAL_C_INT(CC_ERR_OUT_OF_RANGE, stat1); CHECK_EQUAL_C_INT(CC_ERR_OUT_OF_RANGE, stat2); CHECK_EQUAL_C_INT(0, deque_size(deque)); };
/** * Gets the element at the front of the queue and sets the out * parameter to its value. * * @param[in] queue the Queue whose element is being returned * @param[out] out Pointer to where the element is stored * * @return CC_OK if the element was found, or CC_ERR_OUT_OF_RANGE if the * Queue is empty. */ enum cc_stat queue_peek(Queue *queue, void **out) { return deque_get_last(queue->d, out); }