summaryrefslogtreecommitdiff
path: root/basic/qa/vba_tests/bytearraystring.vb
blob: c404b6e9a9a9d1b7472bd22cd66ada6d1f8ee088 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Option VBASupport 1
Option Explicit

Dim passCount As Integer
Dim failCount As Integer
Dim displayMessage As Boolean
Dim thisTest As String

Function doUnitTest() As String
Dim result As String
result = verify_ByteArrayString()
If failCount <> 0 Then
    doUnitTest = result
Else
    doUnitTest = "OK"
End If
End Function

Sub Main()
MsgBox verify_ByteArrayString()
End Sub

Function verify_ByteArrayString() As String
    passCount = 0
    failCount = 0
    Dim result As String

    Dim testName As String
    Dim MyString As String
    Dim x() As Byte
    Dim count As Integer
    testName = "Test the conversion between bytearray and string"


    On Error GoTo errorHandler

    MyString = "abc"
    x = MyString ' string -> byte array

    result = "Test Results" & Chr$(10) & "============" & Chr$(10)

    count = UBound(x) ' 6 byte

    ' test bytes in string
    result = result + updateResultString("test1 numbytes ", (count), 5)


    MyString = x 'byte array -> string
    result = result + updateResultString("test assign byte array to string", MyString, "abc")

    result = result & Chr$(10) & "Tests passed: " & passCount & Chr$(10) & "Tests failed: " & failCount & Chr$(10)
    verify_ByteArrayString = result
    Exit Function
errorHandler:
    failCount = failCount + 1
    verify_ByteArrayString = "Error Handler hit"
End Function

Function updateResultString(testDesc As String, actual As String, expected As String) As String
Dim result As String
If actual <> expected Then
    result = result & Chr$(10) & testDesc & " Failed: expected " & expected & " got " & actual
    failCount = failCount + 1
Else
    passCount = passCount + 1
End If
updateResultString = result
End Function