-int wxCMPFUNC_CONV IntCompare(int *first,
- int *second)
-{
- return *first - *second;
-}
-
-int wxCMPFUNC_CONV IntRevCompare(int *first,
- int *second)
-{
- return *second - *first;
-}
-
-static void TestArrayOfInts()
-{
- puts("*** Testing wxArrayInt ***\n");
-
- wxArrayInt a;
- a.Add(1);
- a.Add(17);
- a.Add(5);
- a.Add(3);
-
- puts("Initially:");
- PrintArray("a", a);
-
- puts("After sort:");
- a.Sort(IntCompare);
- PrintArray("a", a);
-
- puts("After reverse sort:");
- a.Sort(IntRevCompare);
- PrintArray("a", a);
+#define TestArrayOf(name) \
+ \
+static void PrintArray(const char* name, const wxSortedArray##name & array) \
+{ \
+ printf("Dump of the array '%s'\n", name); \
+ \
+ size_t nCount = array.GetCount(); \
+ for ( size_t n = 0; n < nCount; n++ ) \
+ { \
+ printf("\t%s[%u] = %d\n", name, n, array[n]); \
+ } \
+} \
+ \
+static void PrintArray(const char* name, const wxArray##name & array) \
+{ \
+ printf("Dump of the array '%s'\n", name); \
+ \
+ size_t nCount = array.GetCount(); \
+ for ( size_t n = 0; n < nCount; n++ ) \
+ { \
+ printf("\t%s[%u] = %d\n", name, n, array[n]); \
+ } \
+} \
+ \
+static void TestArrayOf ## name ## s() \
+{ \
+ printf("*** Testing wxArray%s ***\n", #name); \
+ \
+ wxArray##name a; \
+ a.Add(1); \
+ a.Add(17); \
+ a.Add(5); \
+ a.Add(3); \
+ \
+ puts("Initially:"); \
+ PrintArray("a", a); \
+ \
+ puts("After sort:"); \
+ a.Sort(name ## Compare); \
+ PrintArray("a", a); \
+ \
+ puts("After reverse sort:"); \
+ a.Sort(name ## RevCompare); \
+ PrintArray("a", a); \
+ \
+ wxSortedArray##name b; \
+ b.Add(1); \
+ b.Add(17); \
+ b.Add(5); \
+ b.Add(3); \
+ \
+ puts("Sorted array initially:"); \
+ PrintArray("b", b); \