dvander@535: #include dvander@535: dvander@535: public Plugin:myinfo = dvander@535: { dvander@535: name = "Sorting Test", dvander@535: author = "AlliedModders LLC", dvander@535: description = "Tests sorting functions", dvander@535: version = "1.0.0.0", dvander@535: url = "http://www.sourcemod.net/" dvander@535: }; dvander@535: ferret99gt@1701: public OnPluginStart() dvander@535: { dvander@535: RegServerCmd("test_sort_ints", Command_TestSortInts) dvander@535: RegServerCmd("test_sort_floats", Command_TestSortFloats) dvander@535: RegServerCmd("test_sort_strings", Command_TestSortStrings) dvander@535: RegServerCmd("test_sort_1d", Command_TestSort1D) dvander@535: RegServerCmd("test_sort_2d", Command_TestSort2D) ferret99gt@1701: RegServerCmd("test_adtsort_ints", Command_TestSortADTInts) ferret99gt@1701: RegServerCmd("test_adtsort_floats", Command_TestSortADTFloats) ferret99gt@1701: RegServerCmd("test_adtsort_strings", Command_TestSortADTStrings) ferret99gt@1701: RegServerCmd("test_adtsort_custom", Command_TestSortADTCustom) dvander@535: } dvander@535: dvander@535: /***************** dvander@535: * INTEGER TESTS * dvander@535: *****************/ dvander@535: // Note that integer comparison is just int1-int2 (or a variation therein) dvander@535: dvander@535: PrintIntegers(const array[], size) dvander@535: { dvander@535: for (new i=0; i f2) dvander@535: { dvander@535: return -1; dvander@535: } else if (f1 < f2) { dvander@535: return 1; dvander@535: } dvander@535: dvander@535: return 0; dvander@535: } dvander@535: dvander@535: public Action:Command_TestSort1D(args) dvander@535: { dvander@535: new Float:array[10] = {6.3, 7.6, 3.2, 2.1, 8.5, 5.2, 0.4, 1.7, 4.8, 8.2} dvander@535: dvander@535: SortCustom1D(_:array, 10, Custom1DSort) dvander@535: PrintFloats(array, 10) dvander@535: dvander@535: return Plugin_Handled dvander@535: } dvander@535: dvander@535: /*************************** dvander@535: * String comparison tests * dvander@535: ***************************/ dvander@535: dvander@535: PrintStrings(const String:array[][], size) dvander@535: { dvander@535: for (new i=0; i