Public Function IsGoodFilter() As Boolean
' verify correct Filter returns
' returns True if all tests are passed
  Dim sSrcArr(1) As String
  Dim sTrgArr() As String
  Dim ret As Long
  
  ' replace "FilterB01" with the name of your function to test
  
  ' init source
  sSrcArr(0) = "a": sSrcArr(1) = "ab"

  ret = FilterB01(sSrcArr, "a", sTrgArr)
  If ret <> 1 Then
    Stop: Exit Function
  ElseIf sTrgArr(0) <> "a" And sTrgArr(1) <> "ab" Then
    Stop: Exit Function
  End If
  
  ret = FilterB01(sSrcArr, "b", sTrgArr)
  If ret <> 0 Then
    Stop: Exit Function
  ElseIf sTrgArr(0) <> "ab" Then
    Stop: Exit Function
  End If
  
  ret = FilterB01(sSrcArr, "b", sTrgArr, False)
  If ret <> 0 Then
    Stop: Exit Function
  ElseIf sTrgArr(0) <> "a" Then
    Stop: Exit Function
  End If
  
  ret = FilterB01(sSrcArr, "", sTrgArr)
  If ret <> 1 Then
    Stop: Exit Function
  ElseIf sTrgArr(0) <> "a" And sTrgArr(1) <> "b" Then
    Stop: Exit Function
  End If
  
  ret = FilterB01(sSrcArr, "", sTrgArr, False)
  If ret <> -1 Then
    Stop: Exit Function
  End If
  
  ' init source
  sSrcArr(0) = "": sSrcArr(1) = ""
  
  ret = FilterB01(sSrcArr, "b", sTrgArr)
  If ret <> -1 Then
    Stop: Exit Function
  End If
 
  ret = FilterB01(sSrcArr, "", sTrgArr)
  If ret <> 1 Then
    Stop: Exit Function
  End If
  
  ' well done
  IsGoodFilter = True

End Function


Back to Filter