28 #include <gwenhywfar/error.h> 29 #include <gwenhywfar/debug.h> 33 #ifdef GWENHYWFAR_ENABLE_TESTCODE 40 #define TEST1_ARRAYSIZE 16 50 static int _compareInts_cb(
const void *pA,
const void *pB,
void *pArg);
80 int currentArrayOfInts[TEST1_ARRAYSIZE] ={64, 84, 3, 95, 45, 3, 65, 46, 45, 12, 7, 39, 23, 54, 73, 99};
81 const int expectedArrayOfInts[TEST1_ARRAYSIZE]={ 3, 3, 7, 12, 23, 39, 45, 45, 46, 54, 64, 65, 73, 84, 95, 99};
89 GWEN_QuickSort(currentArrayOfInts, n,
sizeof(
int), _compareInts_cb, (
void*) &argUseCount);
92 fprintf(stderr,
"Compare function never called.\n");
98 fprintf(stderr,
"Array: ");
100 fprintf(stderr,
"%s%d", i?
", ":
"", currentArrayOfInts[i]);
101 fprintf(stderr,
"\n");
104 for (i=0; i<n; i++) {
105 if (currentArrayOfInts[i]!=expectedArrayOfInts[i]) {
106 fprintf(stderr,
"Sorted array differes at pos %d: %d != %d\n", i, currentArrayOfInts[i], expectedArrayOfInts[i]);
112 fprintf(stderr,
"At least some parts of the test failed.\n");
121 int _compareInts_cb(
const void *pA,
const void *pB,
void *pArg)
129 pIntA=(
const int*) pA;
130 pIntB=(
const int*) pB;
134 else if (*pIntA > *pIntB)
#define DBG_ERROR(dbg_logger, format,...)
int test1(int argc, char **argv)
GWEN_TEST_MODULE * GWEN_Test_Module_AddTest(GWEN_TEST_MODULE *st, const char *tName, GWEN_TEST_MODULE_TEST_FN fn, const char *tDescr)
struct GWEN_TEST_MODULE GWEN_TEST_MODULE
#define GWEN_ERROR_GENERIC
void GWEN_QuickSort(void *array, int numElems, int sizeElems, GWEN_QUICKSORT_COMPARE_CB cb, void *arg)
int GWEN_Quicksort_AddTests(GWEN_TEST_MODULE *mod)
GWEN_TEST_MODULE * GWEN_Test_Module_AddModule(GWEN_TEST_MODULE *st, const char *tName, const char *tDescr)