Added flags to queue

This commit is contained in:
Leonardo committed 2020-03-13 14:29:29 -03:00
1 parent f82fb45242
commit db2de0b855
2 files changed
+106 -10

No files matched your search

+59
View File
@@ -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);
});
});