summaryrefslogtreecommitdiff
path: root/basic/qa/vba_tests/enum.vb
blob: 72f0c4fb8fe254bf95ea68b903e22ba157deaa07 (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
'
' This file is part of the LibreOffice project.
'
' This Source Code Form is subject to the terms of the Mozilla Public
' License, v. 2.0. If a copy of the MPL was not distributed with this
' file, You can obtain one at http://mozilla.org/MPL/2.0/.
'

Option VBASupport 1
Option Explicit

Enum CountDown ' Values get ROUNDED to Int32
    FIVE = 4.11
    FOUR = -4.25
    THREE = 5
    TWO = -.315E1
    ONE = 286.0E-2 ' equals 3
    LIFT_OFF = 7
End Enum ' CountDown

Function doUnitTest()
    ''' test_vba.cxx main entry point '''
    TestUtil.TestInit
    Call ENUM_TestCases
    doUnitTest = TestUtil.GetResult()
End Function

Sub ENUM_TestCases()
try:
    On Error Goto catch

    With CountDown

a:      TestUtil.AssertEqual(.ONE, 3, ".ONE")

b:      TestUtil.AssertEqual(.TWO, -3, ".TWO")

c:      TestUtil.AssertEqual(TypeName(.FOUR), "Long", "TypeName(.FOUR)")

d:      Dim sum As Double
        sum = .FIVE + .FOUR + .THREE + .TWO + .ONE + .LIFT_OFF
        TestUtil.AssertEqual(sum, 12, "sum")

    End With

finally:
    Exit Sub

catch:
    TestUtil.ReportErrorHandler("ENUM_TestCases", Err, Error$, Erl)
    Resume Next
End Sub