Added flags to stack

This commit is contained in:
Leonardo committed 2020-03-15 16:42:34 -03:00
1 parent b3fa566725
commit ffb03890df
2 files changed
+112

No files matched your search

+59
View File
@@ -612,4 +612,63 @@ CMC_CREATE_UNIT(stack_test, true, {
s_free(s);
});
CMC_CREATE_TEST(flags, {
struct stack *s = s_new(100, s_ftab_val);
cmc_assert_not_equals(ptr, NULL, s);
cmc_assert_equals(int32_t, cmc_flags.OK, s_flag(s));
// clear
s->flag = cmc_flags.ERROR;
s_clear(s);
cmc_assert_equals(int32_t, cmc_flags.OK, s_flag(s));
// customize
s->flag = cmc_flags.ERROR;
s_customize(s, NULL, NULL);
cmc_assert_equals(int32_t, cmc_flags.OK, s_flag(s));
// push
s->flag = cmc_flags.ERROR;
cmc_assert(s_push(s, 1));
cmc_assert_equals(int32_t, cmc_flags.OK, s_flag(s));
// pop
s->flag = cmc_flags.ERROR;
cmc_assert(s_pop(s));
cmc_assert_equals(int32_t, cmc_flags.OK, s_flag(s));
cmc_assert(!s_pop(s));
cmc_assert_equals(int32_t, cmc_flags.EMPTY, s_flag(s));
// top
s->flag = cmc_flags.ERROR;
s_top(s);
cmc_assert_equals(int32_t, cmc_flags.EMPTY, s_flag(s));
cmc_assert(s_push(s, 1));
s_top(s);
cmc_assert_equals(int32_t, cmc_flags.OK, s_flag(s));
// contains
s->flag = cmc_flags.ERROR;
cmc_assert(s_contains(s, 1));
cmc_assert_equals(int32_t, cmc_flags.OK, s_flag(s));
// copy_of
s->flag = cmc_flags.ERROR;
struct stack *s2 = s_copy_of(s);
cmc_assert_equals(int32_t, cmc_flags.OK, s_flag(s));
cmc_assert_equals(int32_t, cmc_flags.OK, s_flag(s2));
// equals
s->flag = cmc_flags.ERROR;
s2->flag = cmc_flags.ERROR;
cmc_assert(s_equals(s, s2));
cmc_assert_equals(int32_t, cmc_flags.OK, s_flag(s));
cmc_assert_equals(int32_t, cmc_flags.OK, s_flag(s2));
s_free(s);
});
});