QTP Math functions – ArraySort
Parent page: Service Functions – Math (QTP, VBScript)
Description
Sorts one-dimentional array in ascending / descending order.
Implementation
Public Function ArraySort(ByRef dvArray, ByVal boolAscending) Dim Iter, Jter, aValue If Not isArray(dvArray) Then dvArray = Array(dvArray) ArraySort = dvArray End If For Jter = 0 To UBound(dvArray) For Iter = 0 To UBound(dvArray)-1 aValue = dvArray(Iter) If aValue > dvArray(Iter+1) Then If boolAscending Then dvArray(Iter) = dvArray(Iter+1) dvArray(Iter+1) = aValue Else 'do nothing End If Else If boolAscending Then 'do nothing Else dvArray(Iter) = dvArray(Iter+1) dvArray(Iter+1) = aValue End If End If Next Next ArraySort = dvArray End Function
Unit Tests
Log.Message("Array routines")
dvArray = Array(2,3,5,1,9,-1)
Call ArraySort(dvArray, True)
If dvArray(0) <> -1 Then
Log.Error("ArraySort failed")
End If
If dvArray(5) <> 9 Then
Log.Error("ArraySort failed")
End If
If dvArray(3) <> 3 Then
Log.Error("ArraySort failed")
End If
dvArray = 1
Call ArraySort(dvArray, True)
If dvArray(0) <> 1 Then
Log.Error("ArraySort failed")
End If
dvArray = ""
Call ArraySort(dvArray, True)
If dvArray(0) <> "" Then
Log.Error("ArraySort failed")
End If
dvArray = ArraySort(sEmpty, True)
If dvArray(0) <> "" Then
Log.Error("ArraySort failed")
End If
dvArray = Array(2,3,5,1,9,-1)
Call ArraySort(dvArray, False)
If dvArray(5) <> -1 Then
Log.Error("ArraySort failed")
End If
If dvArray(0) <> 9 Then
Log.Error("ArraySort failed")
End If
If dvArray(3) <> 2 Then
Log.Error("ArraySort failed")
End If

