/** * int-sort-utest.c * Unit tests for int-sort */ // +---------+-------------------------------------------------------- // | Headers | // +---------+ #include #include #include #include "int-sort.h" // +---------+-------------------------------------------------------- // | Globals | // +---------+ // +---------+-------------------------------------------------------- // | Helpers | // +---------+ static int is_sorted (int arr[], int size) { int i; for (i = 0; i < size-1; i++) if (arr[i] > arr[i+1]) return 0; return 1; } // is_sorted // +------+----------------------------------------------------------- // | Main | // +------+ int main (int argc, char *argv[]) { int errors = 0; // Test the empty array. int test0[0]; int_sort (test0, 0); // ? what do we check // Test a one element array int test1[1] = { 13 }; int_sort (test1, 1); if (test1[0] != 13) { printf ("Whoops. Could not sort { 13 }\n"); ++errors; } // Test a longer array int test2[5] = { INT_MIN, INT_MAX, INT_MAX/2, INT_MIN/2, 0 }; int_sort (test2, 5); if (!is_sorted (test2, 5)) { printf ("Whoops. Did not sort test2.\n"); ++errors; } if (test2[0] != INT_MIN) { printf ("Whoops. test2[0] != INT_MIN.\n"); ++errors; } if (test2[4] != INT_MAX) { printf ("Whoops. test2[4] != INT_MAX.\n"); ++errors; } // And we're done return errors; } // main