#include #include #include "cli.h" /* Test 1: Valid simple number */ Test(parse_uint64, valid_number) { uint64_t result; int ret = cli_parse_uint64("42", &result); cr_assert_eq(ret, 0); cr_assert_eq(result, 42); } /* Test 2: Zero */ Test(parse_uint64, zero) { uint64_t result; int ret = cli_parse_uint64("0", &result); cr_assert_eq(ret, 0); cr_assert_eq(result, 0); } /* Test 3: NULL pointer */ Test(parse_uint64, null_pointer) { uint64_t result; int ret = cli_parse_uint64(NULL, &result); cr_assert_eq(ret, 1); } /* Test 4: Empty string */ Test(parse_uint64, empty_string) { uint64_t result; int ret = cli_parse_uint64("", &result); cr_assert_eq(ret, 1); } /* Test 5: Negative number */ Test(parse_uint64, negative_number) { uint64_t result; int ret = cli_parse_uint64("-42", &result); cr_assert_eq(ret, 1); } /* Test 6: Invalid characters */ Test(parse_uint64, invalid_characters) { uint64_t result; int ret = cli_parse_uint64("42abc", &result); cr_assert_eq(ret, 1); } /* Test 7: Overflow */ Test(parse_uint64, overflow) { uint64_t result; int ret = cli_parse_uint64("18446744073709551616", &result); cr_assert_eq(ret, 1); }