3 Dim passCount
As Integer
4 Dim failCount
As Integer
7 Function doUnitTest() As String
8 result
= verify_testInStrRev()
9 If failCount
<> 0 or passCount
= 0 Then
18 Function verify_testInStrRev() As String
23 result
= "Test Results" & Chr
$(10) & "============" & Chr
$(10)
25 Dim testName
As String
26 Dim date1
, date2
, SearchString
, SearchChar
27 testName
= "Test InStrRev function"
28 On Error GoTo errorHandler
31 date1
= InStrRev("somemoretext", "more", -1)
32 TestLog_ASSERT date1
= date2
, "the return InStrRev is: " & date1
35 date1
= InStrRev("somemoretext", "more")
36 TestLog_ASSERT date1
= date2
, "the return InStrRev is: " & date1
39 date1
= InStrRev("somemoretext", "somemoretext")
40 TestLog_ASSERT date1
= date2
, "the return InStrRev is: " & date1
43 date1
= InStrRev("somemoretext", "nothing")
44 TestLog_ASSERT date1
= date2
, "the return InStrRev is: " & date1
46 SearchString
= "XXpXXpXXPXXP" ' String to search in.
47 SearchChar
= "P" ' Search for "P".
49 date1
= InStrRev(SearchString
, SearchChar
, 4, 1)
50 TestLog_ASSERT date1
= date2
, "the return InStrRev is: " & date1
53 date1
= InStrRev(SearchString
, SearchChar
, -1, 0)
54 TestLog_ASSERT date1
= date2
, "the return InStrRev is: " & date1
57 date1
= InStrRev(SearchString
, "W", 1)
58 TestLog_ASSERT date1
= date2
, "the return InStrRev is: " & date1
60 result
= result
& Chr
$(10) & "Tests passed: " & passCount
& Chr
$(10) & "Tests failed: " & failCount
& Chr
$(10)
61 verify_testInStrRev
= result
65 TestLog_ASSERT (False), testName
& ": hit error handler"
68 Sub TestLog_ASSERT(assertion
As Boolean, Optional testId
As String, Optional testComment
As String)
70 If assertion
= True Then
71 passCount
= passCount
+ 1
74 If Not IsMissing(testId
) Then
75 testMsg
= testMsg
+ " : " + testId
77 If Not IsMissing(testComment
) And Not (testComment
= "") Then
78 testMsg
= testMsg
+ " (" + testComment
+ ")"
81 result
= result
& Chr
$(10) & " Failed: " & testMsg
82 failCount
= failCount
+ 1