forked from HCL-TECH-SOFTWARE/voltscript-testing
-
Notifications
You must be signed in to change notification settings - Fork 0
/
SampleCustomTester.bss
111 lines (81 loc) · 2.79 KB
/
SampleCustomTester.bss
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
%REM
Copyright 2022-2023 HCL America, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and limitations under the License
%END REM
%REM
Agent DateTimeTester
Created Mar 16, 2022 by Paul Withers/UK/PNPHCL
Description: Tests NotesDateTime. Will not work outside Domino
%END REM
Option Public
Option Declare
Use "./src/VoltScriptTesting"
%REM
Class DateTimeTester
Description: Example a custom tests class
%END REM
Private Class DateTimeTester As AbstractCustomTester
%REM
Function runTests
Description: Runs a variety of custom tests
%END REM
Function runTests As Boolean
Dim dateTime As Variant
Dim mon As Integer
' If first test does not use an assertion, call checkStarted
' This starts timer and run beforeAll function, if relevant
Me.testSuite.checkStarted
' No custom before/after code, so no need to call TestSuite.beforeEach and TestSuite.afterEach
dateTime = CDat("01/30/2022")
print datatype(datetime)
print typeName(dateTime)
Call checkIsDateTime(Datetime)
mon = Month(dateTime)
checkMonthLessThan13(mon)
Call Me.testSuite.describe(|Check dateTime is before Now|).assertIsLessThan(Now(), CDbl(dateTime))
' Delete function of TestSuite will run afterAll function
End Function
%REM
*****************************************************
INDIVIDUAL TESTS
*****************************************************
%END REM
%REM
Function checkIsDateTime
Description: Comments for Function
%END REM
Function checkIsDateTime(dateTime As Variant) As Boolean
print typeName(dateTime)
checkIsDateTime = Me.testSuite.describe(|Check is DateTime Variant|).assertIs(|DATE|, dateTime)
End Function
%REM
Function checkMonthLessThan13
Description: Comments for Function
%END REM
Function checkMonthLessThan13(mon As Integer)
On Error GoTo errCatch
Call Me.testSuite.describe(|Check month is less than 13|)
If (mon < 13) Then
Me.testSuite.addResult True, ||
checkMonthLessThan13 = True
Else
Me.testSuite.addResult False, |Expected less than 13, was | & CStr(mon)
checkMonthLessThan13 = False
End If
Exit Function
errCatch:
testSuite.addError testSuite.getErrorMsg, ||
End Function
End Class
Sub Initialize
Dim testSuite As New TestSuite(|DateTime Tests|)
Dim DateTimeTester As New DateTimeTester
Call DateTimeTester.addTestSuite(testSuite).runTests()
End Sub