62 lines
1.7 KiB
C
62 lines
1.7 KiB
C
#define DEBUG
|
|
#include "../include/atom.h"
|
|
|
|
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
|
|
|
|
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;
|
|
}
|