@@ -436,6 +436,30 @@ TEST(STR_TO_INT8, DummyData_Negative) {
436436 EXPECT_EQ (1 , error);
437437}
438438
439+ TEST (STR_TO_INT8, EmptyString) {
440+ const char * empty = " " ;
441+ char error = 0 ;
442+ int8_t result = str_to_int8 (empty, empty, &error);
443+ EXPECT_EQ (0 , result);
444+ EXPECT_EQ (1 , error); // Should set error flag for empty string
445+ }
446+
447+ TEST (STR_TO_INT8, JustMinusSign) {
448+ const char * just_minus = " -" ;
449+ char error = 0 ;
450+ int8_t result = str_to_int8 (just_minus, just_minus + 1 , &error);
451+ EXPECT_EQ (0 , result);
452+ EXPECT_EQ (1 , error); // Should set error flag for just minus sign
453+ }
454+
455+ TEST (STR_TO_INT8, NoDigits) {
456+ const char * no_digits = " abc" ;
457+ char error = 0 ;
458+ int8_t result = str_to_int8 (no_digits, no_digits + 3 , &error);
459+ EXPECT_EQ (0 , result);
460+ EXPECT_EQ (1 , error); // Should set error flag for non-digit characters
461+ }
462+
439463TEST (STR_TO_INT64, Min) {
440464 char numberStr[] = " -9223372036854775808" ;
441465 char error = 0 ;
@@ -518,6 +542,30 @@ TEST(STR_TO_INT64, MixedInvalidCharacters) {
518542 EXPECT_EQ (1 , error);
519543}
520544
545+ TEST (STR_TO_INT64, EmptyString) {
546+ const char * empty = " " ;
547+ char error = 0 ;
548+ int64_t result = str_to_int64 (empty, empty, &error);
549+ EXPECT_EQ (0 , result);
550+ EXPECT_EQ (1 , error); // Should set error flag for empty string
551+ }
552+
553+ TEST (STR_TO_INT64, JustMinusSign) {
554+ const char * just_minus = " -" ;
555+ char error = 0 ;
556+ int64_t result = str_to_int64 (just_minus, just_minus + 1 , &error);
557+ EXPECT_EQ (0 , result);
558+ EXPECT_EQ (1 , error); // Should set error flag for just minus sign
559+ }
560+
561+ TEST (STR_TO_INT64, ErrorParameterInitialization) {
562+ char numberStr[] = " 42" ;
563+ char error = 99 ; // Initialize with non-zero value
564+ int64_t result = str_to_int64 (numberStr, numberStr + strlen (numberStr), &error);
565+ EXPECT_EQ (42 , result);
566+ EXPECT_EQ (0 , error); // Error should be initialized to 0 for valid input
567+ }
568+
521569TEST (CASE_CONVERSION, ToUppercase) {
522570 uint8_t letter = ' a' ;
523571 zxerr_t result = to_uppercase (&letter);
0 commit comments