Added flags to queue
This commit is contained in:
1 parent
f82fb45242
commit
db2de0b855
2 files changed
+106
-10
No files matched your search
@@ -419,4 +419,63 @@ CMC_CREATE_UNIT(queue_test, true, {
|
||||
q_free(d1);
|
||||
q_free(d2);
|
||||
});
|
||||
|
||||
CMC_CREATE_TEST(flag, {
|
||||
struct queue *q = q_new(100, q_ftab_val);
|
||||
|
||||
cmc_assert_not_equals(ptr, NULL, q);
|
||||
cmc_assert_equals(int32_t, cmc_flags.OK, q_flag(q));
|
||||
|
||||
// clear
|
||||
q->flag = cmc_flags.ERROR;
|
||||
q_clear(q);
|
||||
cmc_assert_equals(int32_t, cmc_flags.OK, q_flag(q));
|
||||
|
||||
// customize
|
||||
q->flag = cmc_flags.ERROR;
|
||||
q_customize(q, NULL, NULL);
|
||||
cmc_assert_equals(int32_t, cmc_flags.OK, q_flag(q));
|
||||
|
||||
// enqueue
|
||||
q->flag = cmc_flags.ERROR;
|
||||
q_enqueue(q, 10);
|
||||
cmc_assert_equals(int32_t, cmc_flags.OK, q_flag(q));
|
||||
|
||||
// dequeue
|
||||
q->flag = cmc_flags.ERROR;
|
||||
q_dequeue(q);
|
||||
cmc_assert_equals(int32_t, cmc_flags.OK, q_flag(q));
|
||||
|
||||
q_dequeue(q);
|
||||
cmc_assert_equals(int32_t, cmc_flags.EMPTY, q_flag(q));
|
||||
|
||||
// peek
|
||||
q->flag = cmc_flags.ERROR;
|
||||
q_peek(q);
|
||||
cmc_assert_equals(int32_t, cmc_flags.EMPTY, q_flag(q));
|
||||
|
||||
cmc_assert(q_enqueue(q, 10));
|
||||
q_peek(q);
|
||||
cmc_assert_equals(int32_t, cmc_flags.OK, q_flag(q));
|
||||
|
||||
// contains
|
||||
q->flag = cmc_flags.ERROR;
|
||||
cmc_assert(q_contains(q, 10));
|
||||
cmc_assert_equals(int32_t, cmc_flags.OK, q_flag(q));
|
||||
|
||||
// copy_of
|
||||
q->flag = cmc_flags.OK;
|
||||
struct queue *q2 = q_copy_of(q);
|
||||
cmc_assert_equals(int32_t, cmc_flags.OK, q_flag(q));
|
||||
cmc_assert_equals(int32_t, cmc_flags.OK, q_flag(q2));
|
||||
|
||||
// equals
|
||||
q->flag = cmc_flags.OK;
|
||||
q2->flag = cmc_flags.OK;
|
||||
cmc_assert(q_equals(q, q2));
|
||||
cmc_assert_equals(int32_t, cmc_flags.OK, q_flag(q));
|
||||
cmc_assert_equals(int32_t, cmc_flags.OK, q_flag(q2));
|
||||
|
||||
q_free(q);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user