Add test suite for gargoyle_find_emblem

This commit is contained in:
Nick Chambers 2022-06-30 02:03:25 -05:00
parent f97be5af3b
commit 3f0cef9b5c
2 changed files with 37 additions and 2 deletions

View File

@ -10,7 +10,7 @@ int main() {
CU_TestInfo sleuth_tests[] = {
{ "gargoyle_find_brand", sleuth_test_find_brand },
// { "gargoyle_find_emblem", sleuth_test_find_emblem },
{ "gargoyle_find_emblem", sleuth_test_find_emblem },
CU_TEST_INFO_NULL
};

View File

@ -68,5 +68,40 @@ void sleuth_test_find_brand(void) {
}
void sleuth_test_find_emblem(void) {
CU_ASSERT_TRUE(1);
struct gargoyle_opt optv[] = {
{ GARGOYLE_MK_OPT("foo"), 'f', NULL, 0, GARGOYLE_TYPE_BOOL },
{ GARGOYLE_MK_OPT("bar"), 'b', NULL, 0, GARGOYLE_TYPE_UINT }
};
uint16_t optc = sizeof(optv) / sizeof(struct gargoyle_opt);
struct gargoyle_opt *opt = gargoyle_find_emblem(optc, optv, 'f', 0);
CU_ASSERT_PTR_NOT_NULL(opt);
CU_ASSERT_NSTRING_EQUAL(opt->brand, "foo", opt->brand_sz);
opt = gargoyle_find_emblem(optc, optv, 'f', GARGOYLE_FLG_ECASE);
CU_ASSERT_PTR_NOT_NULL(opt);
CU_ASSERT_NSTRING_EQUAL(opt->brand, "foo", opt->brand_sz);
opt = gargoyle_find_emblem(optc, optv, 'F', 0);
CU_ASSERT_PTR_NULL(opt);
opt = gargoyle_find_emblem(optc, optv, 'F', GARGOYLE_FLG_ECASE);
CU_ASSERT_PTR_NOT_NULL(opt);
CU_ASSERT_NSTRING_EQUAL(opt->brand, "foo", opt->brand_sz);
opt = gargoyle_find_emblem(optc, optv, 'b', 0);
CU_ASSERT_PTR_NOT_NULL(opt);
CU_ASSERT_NSTRING_EQUAL(opt->brand, "bar", opt->brand_sz);
opt = gargoyle_find_emblem(optc, optv, 'b', GARGOYLE_FLG_ECASE);
CU_ASSERT_PTR_NOT_NULL(opt);
CU_ASSERT_NSTRING_EQUAL(opt->brand, "bar", opt->brand_sz);
opt = gargoyle_find_emblem(optc, optv, 'B', 0);
CU_ASSERT_PTR_NULL(opt);
opt = gargoyle_find_emblem(optc, optv, 'B', GARGOYLE_FLG_ECASE);
CU_ASSERT_PTR_NOT_NULL(opt);
CU_ASSERT_NSTRING_EQUAL(opt->brand, "bar", opt->brand_sz);
}