Files
atom/tests/01_atom.c

62 lines
1.7 KiB
C
Raw Normal View History

2026-03-08 16:21:05 -05:00
#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;
}