test(cli/utils): implement parse_int and parse_float tests
This commit is contained in:
parent
20e3ae3a3d
commit
37a4085cfc
2 changed files with 128 additions and 4 deletions
|
|
@ -1,6 +1,68 @@
|
||||||
#include <criterion/criterion.h>
|
#include <criterion/criterion.h>
|
||||||
|
#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);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,68 @@
|
||||||
#include <criterion/criterion.h>
|
#include <criterion/criterion.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
#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);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue