#include "test/framework/catch.hpp" #include "src/shellmatta_utils.c" #include TEST_CASE( "shellmatta_utils.c - itoa - 123456 base 10" ) { char buffer[64]; memset(buffer, 0, sizeof(buffer)); CHECK( utils_shellItoa(123456, buffer, 10) == 6 ); REQUIRE( strcmp(buffer, "123456") == 0); } TEST_CASE( "shellmatta_utils.c - itoa - 0x0ABBCCDD base 16") { char buffer[64]; memset(buffer, 0, sizeof(buffer)); CHECK( utils_shellItoa(0x0ABBCCDD, buffer, 16) == 7 ); REQUIRE( strcmp(buffer, "ABBCCDD") == 0); } TEST_CASE( "shellmatta_utils.c - itoa - -574236 base 10") { char buffer[64]; memset(buffer, 0, sizeof(buffer)); CHECK( utils_shellItoa(-574236, buffer, 10) == 7 ); REQUIRE( strcmp(buffer, "-574236") == 0); } TEST_CASE( "shellmatta_utils.c - itoa - 0x80000000 base 2") { char buffer[64]; memset(buffer, 0, sizeof(buffer)); CHECK( utils_shellItoa(0x80000000, buffer, 2) == 33 ); REQUIRE( strcmp(buffer, "-10000000000000000000000000000000") == 0); } TEST_CASE( "shellmatta_utils.c - itoa - 0x7FFFFFFF base 2") { char buffer[64]; memset(buffer, 0, sizeof(buffer)); CHECK( utils_shellItoa(0x7FFFFFFF, buffer, 2) == 31 ); REQUIRE( strcmp(buffer, "1111111111111111111111111111111") == 0); } TEST_CASE( "shellmatta_utils.c - itoa - 0x7FFFFFFF base 1 - wrong base") { char buffer[64]; memset(buffer, 0, sizeof(buffer)); CHECK( utils_shellItoa(0x7FFFFFFF, buffer, 1) == 0 ); REQUIRE( strcmp(buffer, "\0") == 0); } TEST_CASE( "shellmatta_utils.c - itoa - 0x7FFFFFFF base 17 - wrong base") { char buffer[64]; memset(buffer, 0, sizeof(buffer)); CHECK( utils_shellItoa(0x7FFFFFFF, buffer, 17) == 0 ); REQUIRE( strcmp(buffer, "\0") == 0); }