#define DEBUG #include "../include/atom.h" #include #include void test_positive_integers() { int test_values[] = { 1, 42, 123456, 9999999 }; for (int i = 0; i < 4; i++) { const char *result = atom_int(test_values[i]); printf("Input: %d -> Result: %s\n", test_values[i], result); } } void test_negative_integers() { int test_values[] = { -1, -42, -123456, -9999999 }; for (int i = 0; i < 4; i++) { const char *result = atom_int(test_values[i]); printf("Input: %d -> Result: %s\n", test_values[i], result); } } void test_int64_min() { int64_t min_value = INT64_MIN; const char *result = atom_int(min_value); printf("Input: %ld -> Result: %s\n", min_value, result); } void test_zero() { int zero_value = 0; const char *result = atom_int(zero_value); printf("Input: %d -> Result: %s\n", zero_value, result); } void test_large_numbers() { int64_t large_positive = 9223372036854775807; // Largest 64-bit signed integer int64_t large_negative = -9223372036854775807; // Negative version of the largest integer const char *result_pos = atom_int(large_positive); const char *result_neg = atom_int(large_negative); printf("Input: %ld -> Result: %s\n", large_positive, result_pos); printf("Input: %ld -> Result: %s\n", large_negative, result_neg); } int main(void){ printf("Testing Positive Integers:\n"); test_positive_integers(); printf("\nTesting Negative Integers:\n"); test_negative_integers(); printf("\nTesting INT64_MIN Edge Case:\n"); test_int64_min(); printf("\nTesting Zero Case:\n"); test_zero(); printf("\nTesting Large Numbers:\n"); test_large_numbers(); return EXIT_SUCCESS; }