diff --git a/tests/cli/utils/test_parse_float.c b/tests/cli/utils/test_parse_float.c index fa1a148..48c98b6 100644 --- a/tests/cli/utils/test_parse_float.c +++ b/tests/cli/utils/test_parse_float.c @@ -1,6 +1,68 @@ #include +#include "cli.h" -Test(dummy_test_parse_float, always_pass) +/* Test 1: Valid simple number */ +Test(parse_float, valid_number) { - cr_assert(1, ""); + float result; + int ret = cli_parse_float("42.42", &result); + + cr_assert_eq(ret, 0); + cr_assert_float_eq(result, 42.42, 0.0001); +} + +/* Test 2: Zero */ +Test(parse_float, zero) +{ + float result; + int ret = cli_parse_float("0", &result); + + cr_assert_eq(ret, 0); + cr_assert_float_eq(result, 0, 0.0001); +} + +/* Test 3: NULL pointer */ +Test(parse_float, null_pointer) +{ + float result; + int ret = cli_parse_float(NULL, &result); + + cr_assert_eq(ret, 1); +} + +/* Test 4: Empty string */ +Test(parse_float, empty_string) +{ + float result; + int ret = cli_parse_float("", &result); + + cr_assert_eq(ret, 1); +} + +/* Test 5: Negative number */ +Test(parse_float, negative_number) +{ + float result; + int ret = cli_parse_float("-42", &result); + + cr_assert_eq(ret, 1); +} + +/* Test 6: Invalid characters */ +Test(parse_float, invalid_characters) +{ + float result; + int ret = cli_parse_float("42abc", &result); + + cr_assert_eq(ret, 1); +} + +/* Test 7: Dot + number */ +Test(parse_float, dot) +{ + float result; + int ret = cli_parse_float(".42", &result); + + cr_assert_eq(ret, 0); + cr_assert_float_eq(result, 0.42, 0.0001); } diff --git a/tests/cli/utils/test_parse_int.c b/tests/cli/utils/test_parse_int.c index 0a3cb6f..a54cc26 100644 --- a/tests/cli/utils/test_parse_int.c +++ b/tests/cli/utils/test_parse_int.c @@ -1,6 +1,68 @@ #include +#include +#include "cli.h" -Test(dummy_test_parse_int, always_pass) +/* Test 1: Valid simple number */ +Test(parse_uint64, valid_number) { - cr_assert(1, ""); + 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); }