merge_fd_arrays.test.c (1643B)
1 #include <stdlib.h> 2 #include "socket-util.h" 3 #include "test.h" 4 5 void test_merge_fd_arrays_single() { 6 int *arr1 = malloc(sizeof(int) * 3); 7 arr1[0] = 2; 8 arr1[1] = 5; 9 arr1[2] = 10; 10 11 int *arrays[] = { arr1 }; 12 int *result = merge_fd_arrays(arrays, 1); 13 14 ASSERT("single array merge - count", result[0] == 2); 15 ASSERT("single array merge - first", result[1] == 5); 16 ASSERT("single array merge - second", result[2] == 10); 17 18 free(result); 19 } 20 21 void test_merge_fd_arrays_multiple() { 22 int *arr1 = malloc(sizeof(int) * 3); 23 arr1[0] = 2; 24 arr1[1] = 1; 25 arr1[2] = 2; 26 27 int *arr2 = malloc(sizeof(int) * 3); 28 arr2[0] = 2; 29 arr2[1] = 3; 30 arr2[2] = 4; 31 32 int *arrays[] = { arr1, arr2 }; 33 int *result = merge_fd_arrays(arrays, 2); 34 35 ASSERT("multiple array merge - count", result[0] == 4); 36 ASSERT("multiple array merge - first", result[1] == 1); 37 ASSERT("multiple array merge - second", result[2] == 2); 38 ASSERT("multiple array merge - third", result[3] == 3); 39 ASSERT("multiple array merge - fourth", result[4] == 4); 40 41 free(result); 42 } 43 44 void test_merge_fd_arrays_empty() { 45 int *arr1 = malloc(sizeof(int) * 1); 46 arr1[0] = 0; 47 48 int *arrays[] = { arr1 }; 49 int *result = merge_fd_arrays(arrays, 1); 50 51 ASSERT("empty array merge", result == NULL); 52 } 53 54 void test_merge_fd_arrays_null() { 55 int *result = merge_fd_arrays(NULL, 0); 56 ASSERT("null arrays", result == NULL); 57 } 58 59 int main() { 60 RUN(test_merge_fd_arrays_single); 61 RUN(test_merge_fd_arrays_multiple); 62 RUN(test_merge_fd_arrays_empty); 63 RUN(test_merge_fd_arrays_null); 64 return TEST_REPORT(); 65 }