6 author = "AlliedModders LLC",
7 description = "Tests sorting functions",
9 url = "http://www.sourcemod.net/"
12 public OnPluginStart(Handle:myself)
14 RegServerCmd("test_sort_ints", Command_TestSortInts)
15 RegServerCmd("test_sort_floats", Command_TestSortFloats)
16 RegServerCmd("test_sort_strings", Command_TestSortStrings)
17 RegServerCmd("test_sort_1d", Command_TestSort1D)
18 RegServerCmd("test_sort_2d", Command_TestSort2D)
24 // Note that integer comparison is just int1-int2 (or a variation therein)
26 PrintIntegers(const array[], size)
28 for (new i=0; i<size; i++)
30 PrintToServer("array[%d] = %d", i, array[i])
34 public Action:Command_TestSortInts(args)
36 new array[10] = {6, 7, 3, 2, 8, 5, 0, 1, 4, 9}
38 PrintToServer("Testing ascending sort:")
39 SortIntegers(array, 10, Sort_Ascending)
40 PrintIntegers(array, 10)
42 PrintToServer("Testing descending sort:")
43 SortIntegers(array, 10, Sort_Descending)
44 PrintIntegers(array, 10)
49 /**************************
50 * Float comparison tests *
51 **************************/
53 PrintFloats(const Float:array[], size)
55 for (new i=0; i<size; i++)
57 PrintToServer("array[%d] = %f", i, array[i])
61 public Action:Command_TestSortFloats(args)
63 new Float:array[10] = {6.3, 7.6, 3.2, 2.1, 8.5, 5.2, 0.4, 1.7, 4.8, 8.2}
65 PrintToServer("Testing ascending sort:")
66 SortFloats(array, 10, Sort_Ascending)
67 PrintFloats(array, 10)
69 PrintToServer("Testing descending sort:")
70 SortFloats(array, 10, Sort_Descending)
71 PrintFloats(array, 10)
76 public Custom1DSort(elem1, elem2, const array[], Handle:hndl)
78 new Float:f1 = Float:elem1
79 new Float:f2 = Float:elem2
90 public Action:Command_TestSort1D(args)
92 new Float:array[10] = {6.3, 7.6, 3.2, 2.1, 8.5, 5.2, 0.4, 1.7, 4.8, 8.2}
94 SortCustom1D(_:array, 10, Custom1DSort)
95 PrintFloats(array, 10)
100 /***************************
101 * String comparison tests *
102 ***************************/
104 PrintStrings(const String:array[][], size)
106 for (new i=0; i<size; i++)
108 PrintToServer("array[%d] = %s", i, array[i])
112 public Action:Command_TestSortStrings(args)
114 new String:strarray[][] =
122 "johnny got his gun",
128 PrintToServer("Testing ascending sort:")
129 SortStrings(strarray, 10, Sort_Ascending)
130 PrintStrings(strarray, 10)
132 PrintToServer("Testing descending sort:")
133 SortStrings(strarray, 10, Sort_Descending)
134 PrintStrings(strarray, 10)
136 return Plugin_Handled
139 public Custom2DSort(String:elem1[], String:elem2[], String:array[][], Handle:hndl)
141 return StrCompare(elem1, elem2)
144 public Action:Command_TestSort2D(args)
146 new String:array[][] =
154 "johnny got his gun",
160 SortCustom2D(_:array, 10, Custom2DSort)
161 PrintStrings(array, 10)
163 return Plugin_Handled