1 ' Copyright 2011 Jacek Caban for CodeWeavers
3 ' This library is free software; you can redistribute it and/or
4 ' modify it under the terms of the GNU Lesser General Public
5 ' License as published by the Free Software Foundation; either
6 ' version 2.1 of the License, or (at your option) any later version.
8 ' This library is distributed in the hope that it will be useful,
9 ' but WITHOUT ANY WARRANTY; without even the implied warranty of
10 ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 ' Lesser General Public License for more details.
13 ' You should have received a copy of the GNU Lesser General Public
14 ' License along with this library; if not, write to the Free Software
15 ' Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
25 Call ok(vbSunday
= 1, "vbSunday = " & vbSunday
)
26 Call ok(getVT(vbSunday
) = "VT_I2", "getVT(vbSunday) = " & getVT(vbSunday
))
27 Call ok(vbMonday
= 2, "vbMonday = " & vbMonday
)
28 Call ok(getVT(vbMonday
) = "VT_I2", "getVT(vbMonday) = " & getVT(vbMonday
))
29 Call ok(vbTuesday
= 3, "vbTuesday = " & vbTuesday
)
30 Call ok(getVT(vbTuesday
) = "VT_I2", "getVT(vbTuesday) = " & getVT(vbTuesday
))
31 Call ok(vbWednesday
= 4, "vbWednesday = " & vbWednesday
)
32 Call ok(getVT(vbWednesday
) = "VT_I2", "getVT(vbWednesday) = " & getVT(vbWednesday
))
33 Call ok(vbThursday
= 5, "vbThursday = " & vbThursday
)
34 Call ok(getVT(vbThursday
) = "VT_I2", "getVT(vbThursday) = " & getVT(vbThursday
))
35 Call ok(vbFriday
= 6, "vbFriday = " & vbFriday
)
36 Call ok(getVT(vbFriday
) = "VT_I2", "getVT(vbFriday) = " & getVT(vbFriday
))
37 Call ok(vbSaturday
= 7, "vbSaturday = " & vbSaturday
)
38 Call ok(getVT(vbSaturday
) = "VT_I2", "getVT(vbSaturday) = " & getVT(vbSaturday
))
40 Sub TestConstant(name
, val
, exval
)
41 Call ok(val
= exval
, name
& " = " & val
& " expected " & exval
)
42 Call ok(getVT(val
) = "VT_I2*", "getVT(" & name
& ") = " & getVT(val
))
45 Sub TestConstantI4(name
, val
, exval
)
46 Call ok(val
= exval
, name
& " = " & val
& " expected " & exval
)
47 Call ok(getVT(val
) = "VT_I4*", "getVT(" & name
& ") = " & getVT(val
))
50 Sub TestConstantBSTR(name
, val
, exval
)
51 Call ok(val
= exval
, name
& " = " & val
& " expected " & exval
)
52 Call ok(getVT(val
) = "VT_BSTR*", "getVT(" & name
& ") = " & getVT(val
))
55 TestConstant
"vbEmpty", vbEmpty
, 0
56 TestConstant
"vbNull", vbNull
, 1
57 TestConstant
"vbLong", vbLong
, 3
58 TestConstant
"vbSingle", vbSingle
, 4
59 TestConstant
"vbDouble", vbDouble
, 5
60 TestConstant
"vbCurrency", vbCurrency
, 6
61 TestConstant
"vbDate", vbDate
, 7
62 TestConstant
"vbString", vbString
, 8
63 TestConstant
"vbObject", vbObject
, 9
64 TestConstant
"vbError", vbError
, 10
65 TestConstant
"vbBoolean", vbBoolean
, 11
66 TestConstant
"vbVariant", vbVariant
, 12
67 TestConstant
"vbDataObject", vbDataObject
, 13
68 TestConstant
"vbDecimal", vbDecimal
, 14
69 TestConstant
"vbByte", vbByte
, 17
70 TestConstant
"vbArray", vbArray
, 8192
71 TestConstant
"vbCritical", vbCritical
, 16
72 TestConstant
"vbQuestion", vbQuestion
, 32
73 TestConstant
"vbExclamation", vbExclamation
, 48
74 TestConstant
"vbInformation", vbInformation
, 64
75 TestConstant
"vbDefaultButton1", vbDefaultButton1
, 0
76 TestConstant
"vbDefaultButton2", vbDefaultButton2
, 256
77 TestConstant
"vbDefaultButton3", vbDefaultButton3
, 512
78 TestConstant
"vbDefaultButton4", vbDefaultButton4
, 768
79 TestConstant
"vbApplicationModal", vbApplicationModal
, 0
80 TestConstant
"vbSystemModal", vbSystemModal
, 4096
81 TestConstant
"vbUseSystem", vbUseSystem
, 0
82 TestConstant
"vbUseSystemDayOfWeek", vbUseSystemDayOfWeek
, 0
83 TestConstant
"vbFirstJan1", vbFirstJan1
, 1
84 TestConstant
"vbFirstFourDays", vbFirstFourDays
, 2
85 TestConstant
"vbFirstFullWeek", vbFirstFullWeek
, 3
86 TestConstant
"vbTrue", vbTrue
, -1
87 TestConstant
"vbFalse", vbFalse
, 0
88 TestConstantI4
"vbMsgBoxHelpButton", vbMsgBoxHelpButton
, 16384
89 TestConstantI4
"vbMsgBoxSetForeground", vbMsgBoxSetForeground
, 65536
90 TestConstantI4
"vbMsgBoxRight", vbMsgBoxRight
, 524288
91 TestConstantI4
"vbMsgBoxRtlReading", vbMsgBoxRtlReading
, 1048576
92 TestConstant
"vbUseDefault", vbUseDefault
, -2
93 TestConstant
"vbBinaryCompare", vbBinaryCompare
, 0
94 TestConstant
"vbTextCompare", vbTextCompare
, 1
95 TestConstant
"vbDatabaseCompare", vbDatabaseCompare
, 2
96 TestConstant
"vbGeneralDate", vbGeneralDate
, 0
97 TestConstant
"vbLongDate", vbLongDate
, 1
98 TestConstant
"vbShortDate", vbShortDate
, 2
99 TestConstant
"vbLongTime", vbLongTime
, 3
100 TestConstant
"vbShortTime", vbShortTime
, 4
101 TestConstantI4
"vbObjectError", vbObjectError
, &h80040000
&
102 TestConstantI4
"vbBlack", vbBlack
, 0
103 TestConstantI4
"vbBlue", vbBlue
, &hff0000
&
104 TestConstantI4
"vbCyan", vbCyan
, &hffff00
&
105 TestConstantI4
"vbGreen", vbGreen
, &h00ff00
&
106 TestConstantI4
"vbMagenta", vbMagenta
, &hff00ff
&
107 TestConstantI4
"vbRed", vbRed
, &h0000ff
&
108 TestConstantI4
"vbWhite", vbWhite
, &hffffff
&
109 TestConstantI4
"vbYellow", vbYellow
, &h00ffff
&
110 TestConstantBSTR
"vbCr", vbCr
, Chr(13)
111 TestConstantBSTR
"vbCrLf", vbCrLf
, Chr(13)&Chr(10)
112 TestConstantBSTR
"vbNewLine", vbNewLine
, Chr(13)&Chr(10)
113 TestConstantBSTR
"vbFormFeed", vbFormFeed
, Chr(12)
114 TestConstantBSTR
"vbLf", vbLf
, Chr(10)
115 TestConstantBSTR
"vbNullChar", vbNullChar
, Chr(0)
116 TestConstantBSTR
"vbNullString", vbNullString
, ""
117 TestConstantBSTR
"vbTab", vbTab
, chr(9)
118 TestConstantBSTR
"vbVerticalTab", vbVerticalTab
, chr(11)
120 Sub TestCStr(arg
, exval
)
123 Call ok(getVT(x
) = "VT_BSTR*", "getVT(x) = " & getVT(x
))
124 Call ok(x
= exval
, "CStr(" & arg
& ") = " & x
)
127 TestCStr
"test", "test"
129 if isEnglishLang
then TestCStr
3.5, "3.5"
130 if isEnglishLang
then TestCStr
true, "True"
132 Call ok(getVT(Chr(120)) = "VT_BSTR", "getVT(Chr(120)) = " & getVT(Chr(120)))
133 Call ok(getVT(Chr(255)) = "VT_BSTR", "getVT(Chr(255)) = " & getVT(Chr(255)))
134 Call ok(Chr(120) = "x", "Chr(120) = " & Chr(120))
135 Call ok(Chr(0) <> "", "Chr(0) = """"")
136 Call ok(Chr(120.5) = "x", "Chr(120.5) = " & Chr(120.5))
137 Call ok(Chr(119.5) = "x", "Chr(119.5) = " & Chr(119.5))
138 Call ok(Chr("120") = "x", "Chr(""120"") = " & Chr("120"))
143 if isEnglishLang
then
146 call ok(Err
.number
= 5, "Err.number = " & Err
.number
)
150 call ok(Err
.number
= 5, "Err.number = " & Err
.number
)
155 call ok(Err
.number
= 5, "Err.number = " & Err
.number
)
159 call ok(Err
.number
= 5, "Err.number = " & Err
.number
)
164 Call ok(isObject(new EmptyClass
), "isObject(new EmptyClass) is not true?")
165 Set x
= new EmptyClass
166 Call ok(isObject(x
), "isObject(x) is not true?")
167 Call ok(isObject(Nothing), "isObject(Nothing) is not true?")
168 Call ok(not isObject(true), "isObject(true) is true?")
169 Call ok(not isObject(4), "isObject(4) is true?")
170 Call ok(not isObject("x"), "isObject(""x"") is true?")
171 Call ok(not isObject(Null
), "isObject(Null) is true?")
173 Call ok(not isEmpty(new EmptyClass
), "isEmpty(new EmptyClass) is true?")
174 Set x
= new EmptyClass
175 Call ok(not isEmpty(x
), "isEmpty(x) is true?")
177 Call ok(isEmpty(x
), "isEmpty(x) is not true?")
178 Call ok(isEmpty(empty
), "isEmpty(empty) is not true?")
179 Call ok(not isEmpty(Nothing), "isEmpty(Nothing) is not true?")
180 Call ok(not isEmpty(true), "isEmpty(true) is true?")
181 Call ok(not isEmpty(4), "isEmpty(4) is true?")
182 Call ok(not isEmpty("x"), "isEmpty(""x"") is true?")
183 Call ok(not isEmpty(Null
), "isEmpty(Null) is true?")
185 Call ok(not isNull(new EmptyClass
), "isNull(new EmptyClass) is true?")
186 Set x
= new EmptyClass
187 Call ok(not isNull(x
), "isNull(x) is true?")
189 Call ok(isNull(x
), "isNull(x) is not true?")
190 Call ok(not isNull(empty
), "isNull(empty) is true?")
191 Call ok(not isNull(Nothing), "isNull(Nothing) is true?")
192 Call ok(not isNull(true), "isNull(true) is true?")
193 Call ok(not isNull(4), "isNull(4) is true?")
194 Call ok(not isNull("x"), "isNull(""x"") is true?")
195 Call ok(isNull(Null
), "isNull(Null) is not true?")
197 Call ok(isNumeric(Empty
), "isNumeric(empty) is not true?")
198 Call ok(not isNumeric(Null
), "isNumeric(Null) is not true?")
199 Call ok(isNumeric(32767), "isNumeric(32767) is true?")
200 Call ok(isNumeric(32768), "isNumeric(32768) is true?")
201 Call ok(isNumeric(CSng(3242.4)), "isNumeric(CSng(3242.4)) is true?")
202 Call ok(isNumeric(32768.4), "isNumeric(32768.4) is true?")
203 Call ok(isNumeric(CCur(32768.4)), "isNumeric(CCur(32768.4)) is true?")
204 Call ok(isNumeric("44"), "isNumeric(""44"") is true?")
205 Call ok(not isNumeric("rwrf"), "isNumeric(""rwrf"") is not true?")
206 Call ok(not isNumeric(Nothing), "isNumeric(Nothing) is not true?")
207 Call ok(not isNumeric(New EmptyClass
), "isNumeric(New EmptyClass) is not true?")
208 Call ok(isNumeric(true), "isNumeric(true) is true?")
209 Call ok(isNumeric(CByte(32)), "isNumeric(CByte(32)) is true?")
213 Call ok(not isNumeric(arr
), "isNumeric(arr) is not true?")
216 Set newObject
= New ValClass
218 Call ok(isNumeric(newObject
), "isNumeric(newObject) is true?")
219 newObject
.myval
= "test"
220 Call ok(not isNumeric(newObject
), "isNumeric(newObject) is not true?")
222 Call ok(getVT(err
) = "VT_DISPATCH", "getVT(err) = " & getVT(err
))
225 Call ok(hex(x
) = ex
, "hex(" & x
& ") = " & hex(x
) & " expected " & ex
)
231 TestHex
&hdeadbeef
&, "DEADBEEF"
234 TestHex
-934859845, "C8472BBB"
238 TestHex
-32767, "8001"
239 TestHex
-32768, "FFFF8000"
240 TestHex
2147483647.49, "7FFFFFFF"
241 TestHex
-2147483647.5, "80000000"
242 newObject
.myval
= 30.5
243 TestHex newObject
, "1E"
244 newObject
.myval
= "27"
245 TestHex newObject
, "1B"
248 Call ok(getVT(hex(null
)) = "VT_NULL", "getVT(hex(null)) = " & getVT(hex(null
)))
249 Call ok(getVT(hex(empty
)) = "VT_BSTR", "getVT(hex(empty)) = " & getVT(hex(empty
)))
251 Sub TestHexError(num
, err_num
)
254 Call ok(Err
.number
= err_num
, "Hex(" & num
& ") returns error number " & Err
.number
& " expected " & err_num
)
257 TestHexError
2147483647.5, 6
258 TestHexError
2147483648.51, 6
259 TestHexError
"test", 13
261 Sub TestOct(x
, ex
, res_type
)
262 Call ok(Oct(x
) = ex
, "Oct(" & x
& ") = " & Oct(x
) & " expected " & ex
)
263 Call ok(getVT(Oct(x
)) = res_type
, "getVT(Oct(" &x
& ")) = " & getVT(Oct(x
)) & "expected " & res_type
)
266 Sub TestOctError(num
, err_num
)
269 Call ok(Err
.number
= err_num
, "Oct(" & num
& ") error number is " & Err
.number
& " expected " & err_num
)
272 TestOct empty
, "0", "VT_BSTR"
273 TestOct
0, "0", "VT_BSTR"
274 TestOct
9, "11", "VT_BSTR"
275 TestOct
"9", "11", "VT_BSTR"
276 TestOct
8.5, "10", "VT_BSTR"
277 TestOct
9.5, "12", "VT_BSTR"
278 TestOct
-1, "177777", "VT_BSTR"
279 TestOct
-32767, "100001", "VT_BSTR"
280 TestOct
-32768, "37777700000", "VT_BSTR"
281 TestOct
2147483647.49, "17777777777", "VT_BSTR"
282 TestOct
-2147483648.5, "20000000000", "VT_BSTR"
283 Call ok(getVT(Oct(null
)) = "VT_NULL", "getVT(Oct(null)) = " & getVT(Oct(null
)))
285 TestOct newObject
, "5", "VT_BSTR"
287 TestOctError
2147483647.5, 6
288 TestOctError
-2147483648.51, 6
289 TestOctError
"test", 13
291 x
= InStr(1, "abcd", "bc")
292 Call ok(x
= 2, "InStr returned " & x
)
294 x
= InStr("abcd", "bc")
295 Call ok(x
= 2, "InStr returned " & x
)
296 Call ok(getVT(x
) = "VT_I4*", "getVT(InStr) returned " & getVT(x
))
298 x
= InStr("abc", "bc")
299 Call ok(x
= 2, "InStr returned " & x
)
301 x
= InStr("abcbc", "bc")
302 Call ok(x
= 2, "InStr returned " & x
)
304 x
= InStr("bcabc", "bc")
305 Call ok(x
= 1, "InStr returned " & x
)
307 x
= InStr(3, "abcd", "bc")
308 Call ok(x
= 0, "InStr returned " & x
)
310 x
= InStr("abcd", "bcx")
311 Call ok(x
= 0, "InStr returned " & x
)
313 x
= InStr(5, "abcd", "bc")
314 Call ok(x
= 0, "InStr returned " & x
)
318 Call ok(x
= 2, "InStr returned " & x
)
320 x
= InStr("abcd", null
)
321 Call ok(isNull(x
), "InStr returned " & x
)
322 x
= InStr(null
, "abcd")
323 Call ok(isNull(x
), "InStr returned " & x
)
324 x
= InStr(2, null
, "abcd")
325 Call ok(isNull(x
), "InStr returned " & x
)
327 x
= InStr(1.3, "abcd", "bc")
328 Call ok(x
= 2, "InStr returned " & x
)
330 x
= InStr(2.3, "abcd", "bc")
331 Call ok(x
= 2, "InStr returned " & x
)
333 x
= InStr(2.6, "abcd", "bc")
334 Call ok(x
= 0, "InStr returned " & x
)
337 x
= InStrRev("bcabcd", "bc")
338 Call ok(x
= 4, "InStrRev returned " & x
)
339 Call ok(getVT(x
) = "VT_I4*", "getVT(InStrRev) returned " & getVT(x
))
341 x
= InStrRev("bcabcd", "bc", 6)
342 Call ok(x
= 4, "InStrRev returned " & x
)
344 x
= InStrRev("abcd", "bcx")
345 Call ok(x
= 0, "InStrRev returned " & x
)
347 x
= InStrRev("abcd", "bc", 3)
348 Call ok(x
= 2, "InStrRev returned " & x
)
350 x
= InStrRev("abcd", "bc", 2)
351 Call ok(x
= 0, "InStrRev returned " & x
)
353 x
= InStrRev("abcd", "b", 2)
354 Call ok(x
= 2, "InStrRev returned " & x
)
356 x
= InStrRev("abcd", "bc", 5)
357 Call ok(x
= 0, "InStrRev returned " & x
)
359 x
= InStrRev("abcd", "bc", 15)
360 Call ok(x
= 0, "InStrRev returned " & x
)
363 x
= InStrRev(x
, "bc")
364 Call ok(x
= 2, "InStrRev returned " & x
)
366 x
= InStrRev("abcd", "bc", 1.3)
367 Call ok(x
= 0, "InStrRev returned " & x
)
369 x
= InStrRev("abcd", "bc", 2.3)
370 Call ok(x
= 0, "InStrRev returned " & x
)
372 x
= InStrRev("abcd", "bc", 2.6)
373 Call ok(x
= 2, "InStrRev returned " & x
)
375 x
= InStrRev("1234", 34)
376 Call ok(x
= 3, "InStrRev returned " & x
)
378 x
= InStrRev(1234, 34)
379 Call ok(x
= 3, "InStrRev returned " & x
)
381 Sub testInStrRevError(arg1
, arg2
, arg3
, error_num
)
386 x
= InStrRev(arg1
, arg2
, arg3
)
387 Call ok(Err
.number
= error_num
, "Err.number = " & Err
.number
)
390 call testInStrRevError("abcd", null
, 2, 94)
391 call testInStrRevError(null
, "abcd", 2, 94)
392 call testInStrRevError("abcd", "abcd", null
, 94)
394 Sub TestMid(str
, start
, len
, ex
)
395 x
= Mid(str
, start
, len
)
396 Call ok(x
= ex
, "Mid(" & str
& ", " & start
& ", " & len
& ") = " & x
& " expected " & ex
)
399 Sub TestMid2(str
, start
, ex
)
401 Call ok(x
= ex
, "Mid(" & str
& ", " & start
& ") = " & x
& " expected " & ex
)
404 TestMid
"test", 2, 2, "es"
405 TestMid
"test", 2, 4, "est"
406 TestMid
"test", 1, 2, "te"
407 TestMid
"test", 1, 0, ""
408 TestMid
"test", 1, 0, ""
409 TestMid
"test", 5, 2, ""
410 TestMid2
"test", 1, "test"
411 TestMid2
"test", 2, "est"
412 TestMid2
"test", 4, "t"
413 TestMid2
"test", 5, ""
415 Sub TestUCase(str
, ex
)
417 Call ok(x
= ex
, "UCase(" & str
& ") = " & x
& " expected " & ex
)
420 TestUCase
"test", "TEST"
421 TestUCase
"123aBC?", "123ABC?"
424 if isEnglishLang
then TestUCase
true, "TRUE"
425 TestUCase
0.123, doubleAsString(0.123)
427 Call ok(getVT(UCase(Null
)) = "VT_NULL", "getVT(UCase(Null)) = " & getVT(UCase(Null
)))
429 Sub TestLCase(str
, ex
)
431 Call ok(x
= ex
, "LCase(" & str
& ") = " & x
& " expected " & ex
)
434 TestLCase
"test", "test"
435 TestLCase
"123aBC?", "123abc?"
438 if isEnglishLang
then TestLCase
true, "true"
439 TestLCase
0.123, doubleAsString(0.123)
441 Call ok(getVT(LCase(Null
)) = "VT_NULL", "getVT(LCase(Null)) = " & getVT(LCase(Null
)))
443 Sub TestStrComp(str_left
, str_right
, mode
, ex
)
444 x
= StrComp(str_left
, str_right
, mode
)
445 Call ok(x
= ex
, "StrComp(" & str_left
& ", " & str_right
& ", " & mode
& ") = " & x
& " expected " & ex
)
448 TestStrComp
"ABC", "abc", 0, -1
449 TestStrComp
"abc", "ABC", 0, 1
450 TestStrComp
"ABC", "ABC", 0, 0
451 TestStrComp
"ABC", "abc", 0, -1
452 TestStrComp
"abc", "ABC", 0, 1
453 TestStrComp
"ABC", "ABC", 0, 0
454 TestStrComp
"ABCD", "ABC", 0, 1
455 TestStrComp
"ABC", "ABCD", 0, -1
456 TestStrComp
"ABC", "abc", 1, 0
457 TestStrComp
"ABC", "ABC", 1, 0
458 TestStrComp
"ABCD", "ABC", 1, 1
459 TestStrComp
"ABC", "ABCD", 1, -1
460 TestStrComp
"ABC", "ABCD", "0", -1
461 TestStrComp
"ABC", "ABCD", "1", -1
462 TestStrComp
1, 1, 1, 0
463 TestStrComp
"1", 1, 1, 0
464 TestStrComp
"1", 1.0, 1, 0
465 TestStrComp Empty
, Empty
, 1, 0
466 TestStrComp Empty
, "", 1, 0
467 TestStrComp Empty
, "ABC", 1, -1
468 TestStrComp
"ABC", Empty
, 1, 1
469 TestStrComp vbNull
, vbNull
, 1, 0
470 TestStrComp
"", vbNull
, 1, -1
472 Call ok(Len("abc") = 3, "Len(abc) = " & Len("abc"))
473 Call ok(Len("") = 0, "Len() = " & Len(""))
474 Call ok(Len(1) = 1, "Len(1) = " & Len(1))
475 Call ok(isNull(Len(null
)), "Len(null) = " & Len(null
))
476 Call ok(Len(empty
) = 0, "Len(empty) = " & Len(empty
))
477 Call ok(getVT(Len("abc")) = "VT_I4", "getVT(Len(abc)) = " & getVT(Len("abc")))
479 Call ok(Space(1) = " ", "Space(1) = " & Space(1) & """")
480 Call ok(Space(0) = "", "Space(0) = " & Space(0) & """")
481 Call ok(Space(false) = "", "Space(false) = " & Space(false) & """")
482 Call ok(Space(5) = " ", "Space(5) = " & Space(5) & """")
483 Call ok(Space(5.2) = " ", "Space(5.2) = " & Space(5.2) & """")
484 Call ok(Space(5.8) = " ", "Space(5.8) = " & Space(5.8) & """")
485 Call ok(Space(5.5) = " ", "Space(5.5) = " & Space(5.5) & """")
486 Call ok(Space(4.5) = " ", "Space(4.5) = " & Space(4.5) & """")
487 Call ok(Space(0.5) = "", "Space(0.5) = " & Space(0.5) & """")
488 Call ok(Space(1.5) = " ", "Space(1.5) = " & Space(1.5) & """")
489 Call ok(Space("1") = " ", "Space(""1"") = " & Space("1") & """")
491 Sub TestStrReverse(str
, ex
)
492 Call ok(StrReverse(str
) = ex
, "StrReverse(" & str
& ") = " & StrReverse(str
))
495 TestStrReverse
"test", "tset"
496 TestStrReverse
"", ""
497 TestStrReverse
123, "321"
498 if isEnglishLang
then TestStrReverse
true, "eurT"
500 Sub TestLeft(str
, len
, ex
)
501 Call ok(Left(str
, len
) = ex
, "Left(" & str
& ", " & len
& ") = " & Left(str
, len
))
504 TestLeft
"test", 2, "te"
505 TestLeft
"test", 5, "test"
506 TestLeft
"test", 0, ""
507 TestLeft
123, 2, "12"
508 TestLeft
"123456", 1.5, "12"
509 TestLeft
"123456", 2.5, "12"
510 TestLeft
"test", "2", "te"
511 if isEnglishLang
then TestLeft
true, 2, "Tr"
513 Sub TestRight(str
, len
, ex
)
514 Call ok(Right(str
, len
) = ex
, "Right(" & str
& ", " & len
& ") = " & Right(str
, len
))
517 TestRight
"test", 2, "st"
518 TestRight
"test", 5, "test"
519 TestRight
"test", 0, ""
520 TestRight
123, 2, "23"
521 if isEnglishLang
then TestRight
true, 2, "ue"
523 Sub TestTrim(str
, exstr
)
524 Call ok(Trim(str
) = exstr
, "Trim(" & str
& ") = " & Trim(str
))
527 TestTrim
" test ", "test"
528 TestTrim
"test ", "test"
529 TestTrim
" test", "test"
530 TestTrim
"test", "test"
533 if isEnglishLang
then TestTrim
true, "True"
535 Sub TestLTrim(str
, exstr
)
536 Call ok(LTrim(str
) = exstr
, "LTrim(" & str
& ") = " & LTrim(str
))
539 TestLTrim
" test ", "test "
540 TestLTrim
"test ", "test "
541 TestLTrim
" test", "test"
542 TestLTrim
"test", "test"
545 if isEnglishLang
then TestLTrim
true, "True"
547 Sub TestRound(val
, exval
, vt
)
548 Call ok(Round(val
) = exval
, "Round(" & val
& ") = " & Round(val
))
549 Call ok(getVT(Round(val
)) = vt
, "getVT(Round(" & val
& ")) = " & getVT(Round(val
)))
552 Sub TestRTrim(str
, exstr
)
553 Call ok(RTrim(str
) = exstr
, "RTrim(" & str
& ") = " & RTrim(str
))
556 TestRTrim
" test ", " test"
557 TestRTrim
"test ", "test"
558 TestRTrim
" test", " test"
559 TestRTrim
"test", "test"
562 if isEnglishLang
then TestRTrim
true, "True"
564 TestRound
3, 3, "VT_I2"
565 TestRound
3.3, 3, "VT_R8"
566 TestRound
3.8, 4, "VT_R8"
567 TestRound
3.5, 4, "VT_R8"
568 TestRound
-3.3, -3, "VT_R8"
569 TestRound
-3.5, -4, "VT_R8"
570 TestRound
"2", 2, "VT_R8"
571 TestRound
true, true, "VT_BOOL"
572 TestRound
false, false, "VT_BOOL"
574 if isEnglishLang
then
575 Call ok(WeekDayName(1) = "Sunday", "WeekDayName(1) = " & WeekDayName(1))
576 Call ok(WeekDayName(3) = "Tuesday", "WeekDayName(3) = " & WeekDayName(3))
577 Call ok(WeekDayName(7) = "Saturday", "WeekDayName(7) = " & WeekDayName(7))
578 Call ok(WeekDayName(1.1) = "Sunday", "WeekDayName(1.1) = " & WeekDayName(1.1))
579 Call ok(WeekDayName(1, false) = "Sunday", "WeekDayName(1, false) = " & WeekDayName(1, false))
580 Call ok(WeekDayName(1, true) = "Sun", "WeekDayName(1, true) = " & WeekDayName(1, true))
581 Call ok(WeekDayName(1, 10) = "Sun", "WeekDayName(1, 10) = " & WeekDayName(1, 10))
582 Call ok(WeekDayName(1, true, 0) = "Sun", "WeekDayName(1, true, 0) = " & WeekDayName(1, true, 0))
583 Call ok(WeekDayName(1, true, 2) = "Mon", "WeekDayName(1, true, 2) = " & WeekDayName(1, true, 2))
584 Call ok(WeekDayName(1, true, 2.5) = "Mon", "WeekDayName(1, true, 2.5) = " & WeekDayName(1, true, 2.5))
585 Call ok(WeekDayName(1, true, 1.5) = "Mon", "WeekDayName(1, true, 1.5) = " & WeekDayName(1, true, 1.5))
586 Call ok(WeekDayName(1, true, 7) = "Sat", "WeekDayName(1, true, 7) = " & WeekDayName(1, true, 7))
587 Call ok(WeekDayName(1, true, 7.1) = "Sat", "WeekDayName(1, true, 7.1) = " & WeekDayName(1, true, 7.1))
589 Call ok(MonthName(1) = "January", "MonthName(1) = " & MonthName(1))
590 Call ok(MonthName(12) = "December", "MonthName(12) = " & MonthName(12))
591 Call ok(MonthName(1, 0) = "January", "MonthName(1, 0) = " & MonthName(1, 0))
592 Call ok(MonthName(12, false) = "December", "MonthName(12, false) = " & MonthName(12, false))
593 Call ok(MonthName(1, 10) = "Jan", "MonthName(1, 10) = " & MonthName(1, 10))
594 Call ok(MonthName(12, true) = "Dec", "MonthName(12, true) = " & MonthName(12, true))
597 Call ok(getVT(Now()) = "VT_DATE", "getVT(Now()) = " & getVT(Now()))
599 Call ok(vbOKOnly
= 0, "vbOKOnly = " & vbOKOnly
)
600 Call ok(getVT(vbOKOnly
) = "VT_I2", "getVT(vbOKOnly) = " & getVT(vbOKOnly
))
601 Call ok(vbOKCancel
= 1, "vbOKCancel = " & vbOKCancel
)
602 Call ok(getVT(vbOKCancel
) = "VT_I2", "getVT(vbOKCancel) = " & getVT(vbOKCancel
))
603 Call ok(vbAbortRetryIgnore
= 2, "vbAbortRetryIgnore = " & vbAbortRetryIgnore
)
604 Call ok(getVT(vbAbortRetryIgnore
) = "VT_I2", "getVT(vbAbortRetryIgnore) = " & getVT(vbAbortRetryIgnore
))
605 Call ok(vbYesNoCancel
= 3, "vbYesNoCancel = " & vbYesNoCancel
)
606 Call ok(getVT(vbYesNoCancel
) = "VT_I2", "getVT(vbYesNoCancel) = " & getVT(vbYesNoCancel
))
607 Call ok(vbYesNo
= 4, "vbYesNo = " & vbYesNo
)
608 Call ok(getVT(vbYesNo
) = "VT_I2", "getVT(vbYesNo) = " & getVT(vbYesNo
))
609 Call ok(vbRetryCancel
= 5, "vbRetryCancel = " & vbRetryCancel
)
610 Call ok(getVT(vbRetryCancel
) = "VT_I2", "getVT(vbRetryCancel) = " & getVT(vbRetryCancel
))
612 Call ok(vbOK
= 1, "vbOK = " & vbOK
)
613 Call ok(getVT(vbOK
) = "VT_I2", "getVT(vbOK) = " & getVT(vbOK
))
614 Call ok(vbCancel
= 2, "vbCancel = " & vbCancel
)
615 Call ok(getVT(vbCancel
) = "VT_I2", "getVT(vbCancel) = " & getVT(vbCancel
))
616 Call ok(vbAbort
= 3, "vbAbort = " & vbAbort
)
617 Call ok(getVT(vbAbort
) = "VT_I2", "getVT(vbAbort) = " & getVT(vbAbort
))
618 Call ok(vbRetry
= 4, "vbRetry = " & vbRetry
)
619 Call ok(getVT(vbRetry
) = "VT_I2", "getVT(vbRetry) = " & getVT(vbRetry
))
620 Call ok(vbIgnore
= 5, "vbIgnore = " & vbIgnore
)
621 Call ok(getVT(vbIgnore
) = "VT_I2", "getVT(vbIgnore) = " & getVT(vbIgnore
))
622 Call ok(vbYes
= 6, "vbYes = " & vbYes
)
623 Call ok(getVT(vbYes
) = "VT_I2", "getVT(vbYes) = " & getVT(vbYes
))
624 Call ok(vbNo
= 7, "vbNo = " & vbNo
)
625 Call ok(getVT(vbNo
) = "VT_I2", "getVT(vbNo) = " & getVT(vbNo
))
627 Call ok(CInt(-36.75) = -37, "CInt(-36.75) = " & CInt(-36.75))
628 Call ok(getVT(CInt(-36.75)) = "VT_I2", "getVT(CInt(-36.75)) = " & getVT(CInt(-36.75)))
629 Call ok(CInt(-36.50) = -36, "CInt(-36.50) = " & CInt(-36.50))
630 Call ok(getVT(CInt(-36.50)) = "VT_I2", "getVT(CInt(-36.50)) = " & getVT(CInt(-36.50)))
631 Call ok(CInt(-36.25) = -36, "CInt(-36.25) = " & CInt(-36.25))
632 Call ok(getVT(CInt(-36.25)) = "VT_I2", "getVT(CInt(-36.25)) = " & getVT(CInt(-36.25)))
633 Call ok(CInt(-36) = -36, "CInt(-36) = " & CInt(-36))
634 Call ok(getVT(CInt(-36)) = "VT_I2", "getVT(CInt(-36)) = " & getVT(CInt(-36)))
635 Call ok(CInt(0) = 0, "CInt(0) = " & CInt(0))
636 Call ok(getVT(CInt(0)) = "VT_I2", "getVT(CInt(0)) = " & getVT(CInt(0)))
637 Call ok(CInt(0.0) = 0, "CInt(0.0) = " & CInt(0))
638 Call ok(getVT(CInt(0.0)) = "VT_I2", "getVT(CInt(0.0)) = " & getVT(CInt(0.0)))
639 Call ok(CInt(0.5) = 0, "CInt(0.5) = " & CInt(0))
640 Call ok(getVT(CInt(0.5)) = "VT_I2", "getVT(CInt(0.5)) = " & getVT(CInt(0.5)))
641 Call ok(CInt(36) = 36, "CInt(36) = " & CInt(36))
642 Call ok(getVT(CInt(36)) = "VT_I2", "getVT(CInt(36)) = " & getVT(CInt(36)))
643 Call ok(CInt(36.25) = 36, "CInt(36.25) = " & CInt(36.25))
644 Call ok(getVT(CInt(36.25)) = "VT_I2", "getVT(CInt(36.25)) = " & getVT(CInt(36.25)))
645 Call ok(CInt(36.50) = 36, "CInt(36.50) = " & CInt(36.50))
646 Call ok(getVT(CInt(36.50)) = "VT_I2", "getVT(CInt(36.50)) = " & getVT(CInt(36.50)))
647 Call ok(CInt(36.75) = 37, "CInt(36.75) = " & CInt(36.75))
648 Call ok(getVT(CInt(36.75)) = "VT_I2", "getVT(CInt(36.75)) = " & getVT(CInt(36.75)))
651 Call ok(CBool(5) = true, "CBool(5) = " & CBool(5))
652 Call ok(getVT(CBool(5)) = "VT_BOOL", "getVT(CBool(5)) = " & getVT(CBool(5)))
653 Call ok(CBool(0) = false, "CBool(0) = " & CBool(0))
654 Call ok(getVT(CBool(0)) = "VT_BOOL", "getVT(CBool(0)) = " & getVT(CBool(0)))
655 Call ok(CBool(-5) = true, "CBool(-5) = " & CBool(-5))
656 Call ok(getVT(CBool(-5)) = "VT_BOOL", "getVT(CBool(-5)) = " & getVT(CBool(-5)))
658 Sub testCBoolError(strings
, error_num
)
663 Call ok(Err
.number
= error_num
, "Err.number = " & Err
.number
)
669 Public default
Property Get defprop
675 Set MyObject
= New ValClass
677 Call ok(CBool(Empty
) = False, "CBool(Empty) = " & CBool(Empty
))
678 Call ok(getVT(CBool(Empty
)) = "VT_BOOL", "getVT(CBool(Empty)) = " & getVT(CBool(Empty
)))
679 Call ok(CBool(1) = True, "CBool(1) = " & CBool(1))
680 Call ok(getVT(CBool(1)) = "VT_BOOL", "getVT(CBool(1)) = " & getVT(CBool(1)))
681 Call ok(CBool(0) = False, "CBool(0) = " & CBool(0))
682 Call ok(getVT(CBool(0)) = "VT_BOOL", "getVT(CBool(0)) = " & getVT(CBool(0)))
683 Call ok(CBool(-0.56) = True, "CBool(-0.56) = " & CBool(-0.56))
684 Call ok(getVT(CBool(-0.56)) = "VT_BOOL", "getVT(CBool(-0.56)) = " & getVT(CBool(-0.56)))
685 Call testCBoolError("", 13)
686 Call ok(CBool("0") = False, "CBool(""0"") = " & CBool("0"))
687 Call ok(getVT(CBool("0")) = "VT_BOOL", "getVT(CBool(""0"")) = " & getVT(CBool("0")))
688 If isEnglishLang
Then
689 Call ok(CBool("0.1") = True, "CBool(""0.1"") = " & CBool("0.1"))
690 Call ok(getVT(CBool("0.1")) = "VT_BOOL", "getVT(CBool(""0.1"")) = " & getVT(CBool("0.1")))
692 Call ok(CBool("true") = True, "CBool(""true"") = " & CBool("true"))
693 Call ok(getVT(CBool("true")) = "VT_BOOL", "getVT(CBool(""true"")) = " & getVT(CBool("true")))
694 Call ok(CBool("false") = False, "CBool(""false"") = " & CBool("false"))
695 Call ok(getVT(CBool("false")) = "VT_BOOL", "getVT(CBool(""false"")) = " & getVT(CBool("false")))
696 Call ok(CBool("TRUE") = True, "CBool(""TRUE"") = " & CBool("TRUE"))
697 Call ok(getVT(CBool("TRUE")) = "VT_BOOL", "getVT(CBool(""TRUE"")) = " & getVT(CBool("TRUE")))
698 Call ok(CBool("FALSE") = False, "CBool(""FALSE"") = " & CBool("FALSE"))
699 Call ok(getVT(CBool("FALSE")) = "VT_BOOL", "getVT(CBool(""FALSE"")) = " & getVT(CBool("FALSE")))
700 Call ok(CBool("#TRUE#") = True, "CBool(""#TRUE#"") = " & CBool("#TRUE#"))
701 Call ok(getVT(CBool("#TRUE#")) = "VT_BOOL", "getVT(CBool(""#TRUE#"")) = " & getVT(CBool("#TRUE#")))
702 Call ok(CBool("#FALSE#") = False, "CBool(""#FALSE#"") = " & CBool("#FALSE#"))
703 Call ok(getVT(CBool("#FALSE#")) = "VT_BOOL", "getVT(CBool(""#FALSE#"")) = " & getVT(CBool("#FALSE#")))
704 Call ok(CBool(MyObject
) = False, "CBool(MyObject) = " & CBool(MyObject
))
705 Call ok(getVT(CBool(MyObject
)) = "VT_BOOL", "getVT(CBool(MyObject)) = " & getVT(CBool(MyObject
)))
707 Call ok(CBool(MyObject
) = True, "CBool(MyObject) = " & CBool(MyObject
))
708 Call ok(getVT(CBool(MyObject
)) = "VT_BOOL", "getVT(CBool(MyObject)) = " & getVT(CBool(MyObject
)))
710 Call ok(CBool(MyObject
) = False, "CBool(MyObject) = " & CBool(MyObject
))
711 Call ok(getVT(CBool(MyObject
)) = "VT_BOOL", "getVT(CBool(MyObject)) = " & getVT(CBool(MyObject
)))
713 Sub testCByteError(strings
, error_num1
,error_num2
)
719 Call ok(Err
.number
= error_num1
, "Err.number = " & Err
.number
)
723 Call ok(Err
.number
= error_num2
, "Err.number = " & Err
.number
)
726 Call ok(CByte(Empty
) = 0, "CByte(Empty) = " & CByte(Empty
))
727 Call ok(getVT(CByte(Empty
)) = "VT_UI1", "getVT(CByte(Empty)) = " & getVT(CByte(Empty
)))
728 Call ok(CByte(255) = 255, "CByte(255) = " & CByte(255))
729 Call ok(getVT(CByte(255)) = "VT_UI1", "getVT(CByte(255)) = " & getVT(CByte(255)))
730 Call ok(CByte(255.49) = 255, "CByte(255.49) = " & CByte(255.49))
731 Call ok(getVT(CByte(255.49)) = "VT_UI1", "getVT(CByte(255.49)) = " & getVT(CByte(255.49)))
732 Call testCByteError(1, 0, 458)
733 Call testCByteError("", 13, 13)
734 Call testCByteError("-1", 6, 6)
735 Call testCByteError("258", 6, 6)
736 Call testCByteError("TRUE", 13, 13)
737 Call testCByteError("FALSE", 13, 13)
738 Call testCByteError("#TRue#", 13, 13)
739 Call testCByteError("#fAlSE#", 13, 13)
740 If isEnglishLang
Then
741 Call ok(CByte("-0.5") = 0, "CByte(""-0.5"") = " & CByte("-0.5"))
742 Call ok(getVT(CByte("-0.5")) = "VT_UI1", "getVT(CByte(""-0.5"")) = " & getVT(CByte("-0.5")))
744 Call ok(CByte(True) = 255, "CByte(True) = " & CByte(True))
745 Call ok(getVT(CByte(True)) = "VT_UI1", "getVT(CByte(True)) = " & getVT(CByte(True)))
746 Call ok(CByte(False) = 0, "CByte(False) = " & CByte(False))
747 Call ok(getVT(CByte(False)) = "VT_UI1", "getVT(CByte(False)) = " & getVT(CByte(False)))
748 Call ok(CByte(MyObject
) = 0, "CByte(MyObject) = " & CByte(MyObject
))
749 Call ok(getVT(CByte(MyObject
)) = "VT_UI1", "getVT(CByte(MyObject)) = " & getVT(CByte(MyObject
)))
751 Call ok(CByte(MyObject
) = 1, "CByte(MyObject) = " & CByte(MyObject
))
752 Call ok(getVT(CByte(MyObject
)) = "VT_UI1", "getVT(CByte(MyObject)) = " & getVT(CByte(MyObject
)))
754 Call ok(CByte(MyObject
) = 0, "CByte(MyObject) = " & CByte(MyObject
))
755 Call ok(getVT(CByte(MyObject
)) = "VT_UI1", "getVT(CByte(MyObject)) = " & getVT(CByte(MyObject
)))
757 Sub testCCurError(strings
, error_num1
, error_num2
)
763 Call ok(Err
.number
= error_num1
, "Err.number = " & Err
.number
)
767 Call ok(Err
.number
= error_num2
, "Err.number = " & Err
.number
)
770 Call ok(CCur(Empty
) = 0, "CCur(Empty) = " & CCur(Empty
))
771 Call ok(getVT(CCur(Empty
)) = "VT_CY", "getVT(CCur(Empty)) = " & getVT(CCur(Empty
)))
772 Call ok(CCur(-32768) = -32768, "CCur(-32768) = " & CCur(-32768))
773 Call ok(getVT(CCur(-32768)) = "VT_CY", "getVT(CCur(-32768)) = " & getVT(CCur(-32768)))
774 Call ok(CCur(32768) = 32768, "CCur(32768) = " & CCur(32768))
775 Call ok(getVT(CCur(32768)) = "VT_CY", "getVT(CCur(32768)) = " & getVT(CCur(32768)))
776 Call ok(CCur(0.000149) = 0.0001, "CCur(0.000149) = " & CCur(0.000149))
777 Call ok(getVT(CCur(0.000149)) = "VT_CY", "getVT(CCur(0.000149)) = " & getVT(CCur(0.000149)))
778 Call ok(CCur(2147483647.99) = 2147483647.99, "CCur(2147483647.99) = " & CCur(2147483647.99))
779 Call ok(getVT(CCur(2147483647.99)) = "VT_CY", "getVT(CCur(2147483647.99)) = " & getVT(CCur(2147483647.99)))
780 Call ok(CCur("-1") = -1, "CCur(""-1"") = " & CCur("-1"))
781 Call ok(getVT(CCur("-1")) = "VT_CY", "getVT(CCur(""-1"")) = " & getVT(CCur("-1")))
782 If isEnglishLang
Then
783 Call ok(CCur("-0.5") = -0.5, "CCur(""-0.5"") = " & CCur("-0.5"))
784 Call ok(getVT(CCur("-0.5")) = "VT_CY", "getVT(CCur(""-0.5"")) = " & getVT(CCur("-0.5")))
786 Call testCCurError("", 13, 13)
787 Call testCCurError("-1", 0, 458)
788 Call testCCurError("TRUE", 13, 13)
789 Call testCCurError("FALSE", 13, 13)
790 Call testCCurError("#TRue#", 13, 13)
791 Call testCCurError("#fAlSE#", 13, 13)
792 Call testCCurError(1, 0, 458)
793 Call ok(CCur(True) = -1, "CCur(True) = " & CCur(True))
794 Call ok(getVT(CCur(True)) = "VT_CY", "getVT(CCur(True)) = " & getVT(CCur(True)))
795 Call ok(CCur(False) = 0, "CCur(False) = " & CCur(False))
796 Call ok(getVT(CCur(False)) = "VT_CY", "getVT(CCur(False)) = " & getVT(CCur(False)))
798 Call ok(CCur(MyObject
) = 0.1, "CCur(MyObject) = " & CCur(MyObject
))
799 Call ok(getVT(CCur(MyObject
)) = "VT_CY", "getVT(CCur(MyObject)) = " & getVT(CCur(MyObject
)))
801 Call ok(CCur(MyObject
) = 0, "CCur(MyObject) = " & CCur(MyObject
))
802 Call ok(getVT(CCur(MyObject
)) = "VT_CY", "getVT(CCur(MyObject)) = " & getVT(CCur(MyObject
)))
804 Sub testCDblError(strings
, error_num1
, error_num2
)
810 Call ok(Err
.number
= error_num1
, "Err.number = " & Err
.number
)
814 Call ok(Err
.number
= error_num2
, "Err.number = " & Err
.number
)
817 Call ok(CDbl(Empty
) = 0, "CDbl(Empty) = " & CDbl(Empty
))
818 Call ok(getVT(CDbl(Empty
)) = "VT_R8", "getVT(CDbl(Empty)) = " & getVT(CDbl(Empty
)))
819 Call ok(CDbl(CByte(0)) = 0, "CDbl(CByte(0)) = " & CDbl(CByte(0)))
820 Call ok(getVT(CDbl(CCur(0))) = "VT_R8", "getVT(CDbl(CCur(0))) = " & getVT(CDbl(CCur(0))))
821 Call ok(CDbl(CCur(0)) = 0, "CDbl(CCur(0)) = " & CDbl(CCur(0)))
822 Call ok(getVT(CDbl(CCur(0))) = "VT_R8", "getVT(CDbl(CCur(0))) = " & getVT(CDbl(CCur(0))))
823 Call ok(CDbl(0) = 0, "CDbl(0) = " & CDbl(0))
824 Call ok(getVT(CDbl(0)) = "VT_R8", "getVT(CDbl(0)) = " & getVT(CDbl(0)))
825 Call ok(CDbl(32768) = 32768, "CDbl(32768) = " & CDbl(32768))
826 Call ok(getVT(CDbl(32768)) = "VT_R8", "getVT(CDbl(32768)) = " & getVT(CDbl(32768)))
827 Call ok(CDbl(0.001 * 0.001) = 0.000001, "CDbl(0.001 * 0.001) = " & CDbl(0.001 * 0.001))
828 Call ok(getVT(CDbl(0.001 * 0.001)) = "VT_R8", "getVT(CDbl(0.001 * 0.001)) = " & getVT(CDbl(0.001 * 0.001)))
829 Call ok(CDbl("-1") = -1, "CDbl(""-1"") = " & CDbl("-1"))
830 Call ok(getVT(CDbl("-1")) = "VT_R8", "getVT(CDbl(""-1"")) = " & getVT(CDbl("-1")))
831 If isEnglishLang
Then
832 Call ok(CDbl("-0.5") = -0.5, "CDbl(""-0.5"") = " & CDbl("-0.5"))
833 Call ok(getVT(CDbl("-0.5")) = "VT_R8", "getVT(CDbl(""-0.5"")) = " & getVT(CDbl("-0.5")))
835 Call testCDblError("", 13, 13)
836 Call testCDblError("TRUE", 13, 13)
837 Call testCDblError("FALSE", 13, 13)
838 Call testCDblError("#TRue#", 13, 13)
839 Call testCDblError("#fAlSE#", 13, 13)
840 Call testCDblError(1, 0, 458)
841 Call ok(CDbl(True) = -1, "CDbl(True) = " & CDbl(True))
842 Call ok(getVT(CDbl(True)) = "VT_R8", "getVT(CDbl(True)) = " & getVT(CDbl(True)))
843 Call ok(CDbl(False) = 0, "CDbl(False) = " & CDbl(False))
844 Call ok(getVT(CDbl(False)) = "VT_R8", "getVT(CDbl(False)) = " & getVT(CDbl(False)))
846 Call ok(CDbl(MyObject
) = 0.1, "CDbl(MyObject) = " & CDbl(MyObject
))
847 Call ok(getVT(CDbl(MyObject
)) = "VT_R8", "getVT(CDbl(MyObject)) = " & getVT(CDbl(MyObject
)))
849 Call ok(CDbl(MyObject
) = 0, "CDbl(MyObject) = " & CDbl(MyObject
))
850 Call ok(getVT(CDbl(MyObject
)) = "VT_R8", "getVT(CDbl(MyObject)) = " & getVT(CDbl(MyObject
)))
852 Sub testCLngError(strings
, error_num1
, error_num2
)
858 Call ok(Err
.number
= error_num1
, "Err.number = " & Err
.number
)
862 Call ok(Err
.number
= error_num2
, "Err.number = " & Err
.number
)
865 Call ok(CLng(Empty
) = 0, "CLng(Empty) = " & CLng(Empty
))
866 Call ok(getVT(CLng(Empty
)) = "VT_I4", "getVT(CLng(Empty)) = " & getVT(CLng(Empty
)))
867 Call ok(CLng(CByte(0)) = 0, "CLng(CByte(0)) = " & CLng(CByte(0)))
868 Call ok(getVT(CLng(CCur(0))) = "VT_I4", "getVT(CLng(CCur(0))) = " & getVT(CLng(CCur(0))))
869 Call ok(CLng(CCur(0)) = 0, "CLng(CCur(0)) = " & CLng(CCur(0)))
870 Call ok(getVT(CLng(CCur(0))) = "VT_I4", "getVT(CLng(CCur(0))) = " & getVT(CLng(CCur(0))))
871 Call ok(CLng(0) = 0, "CLng(0) = " & CLng(0))
872 Call ok(getVT(CLng(0)) = "VT_I4", "getVT(CLng(0)) = " & getVT(CLng(0)))
873 Call ok(CLng(0.49) = 0, "CLng(0.49) = " & CLng(0.49))
874 Call ok(getVT(CLng(0.49)) = "VT_I4", "getVT(CLng(0.49)) = " & getVT(CLng(0.49)))
875 Call ok(CLng(0.5) = 0, "CLng(0.5) = " & CLng(0.5))
876 Call ok(getVT(CLng(0.5)) = "VT_I4", "getVT(CLng(0.5)) = " & getVT(CLng(0.5)))
877 Call ok(CLng(0.51) = 1, "CLng(0.51) = " & CLng(0.51))
878 Call ok(getVT(CLng(0.51)) = "VT_I4", "getVT(CLng(0.51)) = " & getVT(CLng(0.51)))
879 Call ok(CLng(1.49) = 1, "CLng(1.49) = " & CLng(1.49))
880 Call ok(getVT(CLng(1.49)) = "VT_I4", "getVT(CLng(1.49)) = " & getVT(CLng(1.49)))
881 Call ok(CLng(1.5) = 2, "CLng(1.5) = " & CLng(1.5))
882 Call ok(getVT(CLng(1.5)) = "VT_I4", "getVT(CLng(1.5)) = " & getVT(CLng(1.5)))
883 Call ok(CLng(1.51) = 2, "CLng(1.51) = " & CLng(1.51))
884 Call ok(getVT(CLng(1.51)) = "VT_I4", "getVT(CLng(1.51)) = " & getVT(CLng(1.51)))
885 Call ok(CLng("-1") = -1, "CLng(""-1"") = " & CLng("-1"))
886 Call ok(getVT(CLng("-1")) = "VT_I4", "getVT(CLng(""-1"")) = " & getVT(CLng("-1")))
887 If isEnglishLang
Then
888 Call ok(CLng("-0.5") = 0, "CLng(""-0.5"") = " & CLng("-0.5"))
889 Call ok(getVT(CLng("-0.5")) = "VT_I4", "getVT(CLng(""-0.5"")) = " & getVT(CLng("-0.5")))
891 Call testCLngError("", 13, 13)
892 Call testCLngError("TRUE", 13, 13)
893 Call testCLngError("FALSE", 13, 13)
894 Call testCLngError("#TRue#", 13, 13)
895 Call testCLngError("#fAlSE#", 13, 13)
896 Call testCLngError(1, 0, 458)
897 Call ok(CLng(True) = -1, "CLng(True) = " & CLng(True))
898 Call ok(getVT(CLng(True)) = "VT_I4", "getVT(CLng(True)) = " & getVT(CLng(True)))
899 Call ok(CLng(False) = 0, "CLng(False) = " & CLng(False))
900 Call ok(getVT(CLng(False)) = "VT_I4", "getVT(CLng(False)) = " & getVT(CLng(False)))
902 Call ok(CLng(MyObject
) = 1, "CLng(MyObject) = " & CLng(MyObject
))
903 Call ok(getVT(CLng(MyObject
)) = "VT_I4", "getVT(CLng(MyObject)) = " & getVT(CLng(MyObject
)))
905 Call ok(CLng(MyObject
) = 0, "CLng(MyObject) = " & CLng(MyObject
))
906 Call ok(getVT(CLng(MyObject
)) = "VT_I4", "getVT(CLng(MyObject)) = " & getVT(CLng(MyObject
)))
908 Sub testCIntError(strings
, error_num1
, error_num2
)
914 Call ok(Err
.number
= error_num1
, "Err.number = " & Err
.number
)
918 Call ok(Err
.number
= error_num2
, "Err.number = " & Err
.number
)
921 Call ok(CInt(Empty
) = 0, "CInt(Empty) = " & CInt(Empty
))
922 Call ok(getVT(CInt(Empty
)) = "VT_I2", "getVT(CInt(Empty)) = " & getVT(CInt(Empty
)))
923 Call ok(CInt(CByte(0)) = 0, "CInt(CByte(0)) = " & CInt(CByte(0)))
924 Call ok(getVT(CInt(CByte(0))) = "VT_I2", "getVT(CInt(CByte(0))) = " & getVT(CInt(CByte(0))))
925 Call ok(CInt(CCur(0)) = 0, "CInt(CCur(0)) = " & CInt(CCur(0)))
926 Call ok(getVT(CInt(CCur(0))) = "VT_I2", "getVT(CInt(CCur(0))) = " & getVT(CInt(CCur(0))))
927 Call ok(CInt(0.49) = 0, "CInt(0.49) = " & CInt(0.49))
928 Call ok(getVT(CInt(0.49)) = "VT_I2", "getVT(CInt(0.49)) = " & getVT(CInt(0.49)))
929 Call ok(CInt(0.5) = 0, "CInt(0.5) = " & CInt(0.5))
930 Call ok(getVT(CInt(0.5)) = "VT_I2", "getVT(CInt(0.5)) = " & getVT(CInt(0.5)))
931 Call ok(CInt(0.51) = 1, "CInt(0.51) = " & CInt(0.51))
932 Call ok(getVT(CInt(0.51)) = "VT_I2", "getVT(CInt(0.51)) = " & getVT(CInt(0.51)))
933 Call ok(CInt(1.49) = 1, "CInt(0.49) = " & CInt(0.49))
934 Call ok(getVT(CInt(0.49)) = "VT_I2", "getVT(CInt(0.49)) = " & getVT(CInt(0.49)))
935 Call ok(CInt(1.5) = 2, "CInt(1.5) = " & CInt(1.5))
936 Call ok(getVT(CInt(1.5)) = "VT_I2", "getVT(CInt(1.5)) = " & getVT(CInt(1.5)))
937 Call ok(CInt(1.51) = 2, "CInt(1.51) = " & CInt(1.51))
938 Call ok(getVT(CInt(1.51)) = "VT_I2", "getVT(CInt(1.51)) = " & getVT(CInt(1.51)))
939 Call ok(CInt("-1") = -1, "CInt(""-1"") = " & CInt("-1"))
940 Call ok(getVT(CInt("-1")) = "VT_I2", "getVT(CInt(""-1"")) = " & getVT(CInt("-1")))
941 If isEnglishLang
Then
942 Call ok(CInt("-0.5") = 0, "CInt(""-0.5"") = " & CInt("-0.5"))
943 Call ok(getVT(CInt("-0.5")) = "VT_I2", "getVT(CInt(""-0.5"")) = " & getVT(CInt("-0.5")))
945 Call testCIntError("", 13, 13)
946 Call testCIntError("-1", 0, 458)
947 Call testCIntError("TRUE", 13, 13)
948 Call testCIntError("FALSE", 13, 13)
949 Call testCIntError("#TRue#", 13, 13)
950 Call testCIntError("#fAlSE#", 13, 13)
951 Call testCIntError(1, 0, 458)
952 Call testCIntError(32767.49, 0, 458)
953 Call testCIntError(32767.5, 6, 6)
954 Call testCIntError(-32768.5, 0, 458)
955 Call testCIntError(-32768.51, 6, 6)
956 Call ok(CInt(True) = -1, "CInt(True) = " & CInt(True))
957 Call ok(getVT(CInt(True)) = "VT_I2", "getVT(CInt(True)) = " & getVT(CInt(True)))
958 Call ok(CInt(False) = 0, "CInt(False) = " & CInt(False))
959 Call ok(getVT(CInt(False)) = "VT_I2", "getVT(CInt(False)) = " & getVT(CInt(False)))
961 Call ok(CInt(MyObject
) = 2, "CInt(MyObject) = " & CInt(MyObject
))
962 Call ok(getVT(CInt(MyObject
)) = "VT_I2", "getVT(CInt(MyObject)) = " & getVT(CInt(MyObject
)))
964 Call ok(CInt(MyObject
) = 2, "CInt(MyObject) = " & CInt(MyObject
))
965 Call ok(getVT(CInt(MyObject
)) = "VT_I2", "getVT(CInt(MyObject)) = " & getVT(CInt(MyObject
)))
967 Sub testCSngError(strings
, error_num1
, error_num2
)
973 Call ok(Err
.number
= error_num1
, "Err.number = " & Err
.number
)
977 Call ok(Err
.number
= error_num2
, "Err.number = " & Err
.number
)
980 Call ok(CSng(Empty
) = 0, "CSng(Empty) = " & CSng(Empty
))
981 Call ok(getVT(CSng(Empty
)) = "VT_R4", "getVT(CSng(Empty)) = " & getVT(CSng(Empty
)))
982 Call ok(CSng(CByte(0)) = 0, "CSng(CByte(0)) = " & CSng(CByte(0)))
983 Call ok(getVT(CSng(CCur(0))) = "VT_R4", "getVT(CSng(CCur(0))) = " & getVT(CSng(CCur(0))))
984 Call ok(CSng(CCur(0)) = 0, "CSng(CCur(0)) = " & CSng(CCur(0)))
985 Call ok(getVT(CSng(CCur(0))) = "VT_R4", "getVT(CSng(CCur(0))) = " & getVT(CSng(CCur(0))))
986 Call ok(CSng(0) = 0, "CSng(0) = " & CSng(0))
987 Call ok(getVT(CSng(0)) = "VT_R4", "getVT(CSng(0)) = " & getVT(CSng(0)))
988 Call ok(CSng(32768) = 32768, "CSng(32768) = " & CSng(32768))
989 Call ok(getVT(CSng(32768)) = "VT_R4", "getVT(CSng(32768)) = " & getVT(CSng(32768)))
990 Call ok(CSng(0.001 * 0.001) = 0.000001, "CSng(0.001 * 0.001) = " & CSng(0.001 * 0.001))
991 Call ok(getVT(CSng(0.001 * 0.001)) = "VT_R4", "getVT(CSng(0.001 * 0.001)) = " & getVT(CSng(0.001 * 0.001)))
992 Call ok(CSng("-1") = -1, "CSng(""-1"") = " & CSng("-1"))
993 Call ok(getVT(CSng("-1")) = "VT_R4", "getVT(CSng(""-1"")) = " & getVT(CSng("-1")))
994 If isEnglishLang
Then
995 Call ok(CSng("-0.5") = -0.5, "CSng(""-0.5"") = " & CSng("-0.5"))
996 Call ok(getVT(CSng("-0.5")) = "VT_R4", "getVT(CSng(""-0.5"")) = " & getVT(CSng("-0.5")))
998 Call testCSngError("", 13, 13)
999 Call testCSngError("TRUE", 13, 13)
1000 Call testCSngError("FALSE", 13, 13)
1001 Call testCSngError("#TRue#", 13, 13)
1002 Call testCSngError("#fAlSE#", 13, 13)
1003 Call testCSngError(1, 0, 458)
1004 Call ok(CSng(True) = -1, "CSng(True) = " & CSng(True))
1005 Call ok(getVT(CSng(True)) = "VT_R4", "getVT(CSng(True)) = " & getVT(CSng(True)))
1006 Call ok(CSng(False) = 0, "CSng(False) = " & CSng(False))
1007 Call ok(getVT(CSng(False)) = "VT_R4", "getVT(CSng(False)) = " & getVT(CSng(False)))
1008 MyObject
.myval
= 0.1
1009 Call ok(CSng(MyObject
) = 0.1, "CSng(MyObject) = " & CSng(MyObject
))
1010 Call ok(getVT(CSng(MyObject
)) = "VT_R4", "getVT(CSng(MyObject)) = " & getVT(CSng(MyObject
)))
1012 Call ok(CSng(MyObject
) = 0, "CSng(MyObject) = " & CSng(MyObject
))
1013 Call ok(getVT(CSng(MyObject
)) = "VT_R4", "getVT(CSng(MyObject)) = " & getVT(CSng(MyObject
)))
1015 Call ok(TypeName(Empty
) = "Empty", "TypeName(MyEmpty) = " & TypeName(Empty
))
1016 Call ok(getVT(TypeName(Empty
)) = "VT_BSTR", "getVT(TypeName(Empty)) = " & getVT(TypeName(Empty
)))
1017 Call ok(TypeName(Null
) = "Null", "TypeName(Null) = " & TypeName(Null
))
1018 Call ok(getVT(TypeName(Null
)) = "VT_BSTR", "getVT(TypeName(Null)) = " & getVT(TypeName(Null
)))
1019 Call ok(TypeName(CByte(255)) = "Byte", "TypeName(CByte(255)) = " & TypeName(CByte(255)))
1020 Call ok(getVT(TypeName(CByte(255))) = "VT_BSTR", "getVT(TypeName(CByte(255))) = " & getVT(TypeName(CByte(255))))
1021 Call ok(TypeName(255) = "Integer", "TypeName(255) = " & TypeName(255))
1022 Call ok(getVT(TypeName(255)) = "VT_BSTR", "getVT(TypeName(255)) = " & getVT(TypeName(255)))
1023 Call ok(TypeName(32768) = "Long", "TypeName(32768) = " & TypeName(32768))
1024 Call ok(getVT(TypeName(32768)) = "VT_BSTR", "getVT(TypeName(32768)) = " & getVT(TypeName(32768)))
1025 Call ok(TypeName(CSng(0.5)) = "Single", "TypeName(CSng(0.5)) = " & TypeName(CSng(0.5)))
1026 Call ok(getVT(TypeName(CSng(0.5))) = "VT_BSTR", "getVT(TypeName(CSng(0.5))) = " & getVT(TypeName(CSng(0.5))))
1027 Call ok(TypeName(-0.5) = "Double", "TypeName(-0.5) = " & TypeName(-0.5))
1028 Call ok(getVT(TypeName(-0.5)) = "VT_BSTR", "getVT(TypeName(-0.5)) = " & getVT(TypeName(-0.5)))
1029 Call ok(TypeName(CCur(0.5)) = "Currency", "TypeName(CCur(0.5)) = " & TypeName(CCur(0.5)))
1030 Call ok(getVT(TypeName(CCur(0.5))) = "VT_BSTR", "getVT(TypeName(CCur(0.5))) = " & getVT(TypeName(CCur(0.5))))
1031 Call ok(TypeName(CStr(0.5)) = "String", "TypeName(CStr(0.5)) = " & TypeName(CStr(0.5)))
1032 Call ok(getVT(TypeName(CStr(0.5))) = "VT_BSTR", "getVT(TypeName(CStr(0.5))) = " & getVT(TypeName(CStr(0.5))))
1033 Call ok(TypeName(True) = "Boolean", "TypeName(True) = " & TypeName(True))
1034 Call ok(getVT(TypeName(True)) = "VT_BSTR", "getVT(TypeName(True)) = " & getVT(TypeName(True)))
1036 Call ok(VarType(Empty
) = vbEmpty
, "VarType(Empty) = " & VarType(Empty
))
1037 Call ok(getVT(VarType(Empty
)) = "VT_I2", "getVT(VarType(Empty)) = " & getVT(VarType(Empty
)))
1038 Call ok(VarType(Null
) = vbNull
, "VarType(Null) = " & VarType(Null
))
1039 Call ok(getVT(VarType(Null
)) = "VT_I2", "getVT(VarType(Null)) = " & getVT(VarType(Null
)))
1040 Call ok(VarType(255) = vbInteger
, "VarType(255) = " & VarType(255))
1041 Call ok(getVT(VarType(255)) = "VT_I2", "getVT(VarType(255)) = " & getVT(VarType(255)))
1042 Call ok(VarType(32768) = vbLong
, "VarType(32768) = " & VarType(32768))
1043 Call ok(getVT(VarType(32768)) = "VT_I2", "getVT(VarType(32768)) = " & getVT(VarType(32768)))
1044 Call ok(VarType(CSng(0.5)) = vbSingle
, "VarType(CSng(0.5)) = " & VarType(CSng(0.5)))
1045 Call ok(getVT(VarType(CSng(0.5))) = "VT_I2", "getVT(VarType(CSng(0.5))) = " & getVT(VarType(CSng(0.5))))
1046 Call ok(VarType(-0.5) = vbDouble
, "VarType(-0.5) = " & VarType(-0.5))
1047 Call ok(getVT(VarType(-0.5)) = "VT_I2", "getVT(VarType(-0.5)) = " & getVT(VarType(-0.5)))
1048 Call ok(VarType(CCur(0.5)) = vbCurrency
, "VarType(CCur(0.5)) = " & VarType(CCur(0.5)))
1049 Call ok(getVT(VarType(CCur(0.5))) = "VT_I2", "getVT(VarType(CCur(0.5))) = " & getVT(VarType(CCur(0.5))))
1050 Call ok(VarType(CStr(0.5)) = vbString
, "VarType(CStr(0.5)) = " & VarType(CStr(0.5)))
1051 Call ok(getVT(VarType(CStr(0.5))) = "VT_I2", "getVT(VarType(CStr(0.5))) = " & getVT(VarType(CStr(0.5))))
1052 Call ok(VarType(CBool(0.5)) = vbBoolean
, "VarType(CBool(0.5)) = " & VarType(CBool(0.5)))
1053 Call ok(getVT(VarType(CBool(0.5))) = "VT_I2", "getVT(VarType(CBool(0.5))) = " & getVT(VarType(CBool(0.5))))
1054 Call ok(VarType(CByte(255)) = vbByte
, "VarType(CByte(255)) = " & VarType(CByte(255)))
1055 Call ok(getVT(VarType(CByte(255))) = "VT_I2", "getVT(VarType(CByte(255))) = " & getVT(VarType(CByte(255))))
1057 Call ok(Sgn(Empty
) = 0, "Sgn(MyEmpty) = " & Sgn(Empty
))
1058 Call ok(getVT(Sgn(Empty
)) = "VT_I2", "getVT(Sgn(MyEmpty)) = " & getVT(Sgn(Empty
)))
1059 Call ok(Sgn(0) = 0, "Sgn(0) = " & Sgn(0))
1060 Call ok(getVT(Sgn(0)) = "VT_I2", "getVT(Sgn(0)) = " & getVT(Sgn(0)))
1061 Call ok(Sgn(-32769) = -1, "Sgn(-32769) = " & Sgn(-32769))
1062 Call ok(getVT(Sgn(-32769)) = "VT_I2", "getVT(Sgn(-32769)) = " & getVT(Sgn(-32769)))
1063 Call ok(Sgn(CSng(-0.5)) = -1, "Sgn(CSng(-0.5)) = " & Sgn(CSng(-0.5)))
1064 Call ok(getVT(Sgn(CSng(-0.5))) = "VT_I2", "getVT(Sgn(CSng(-0.5))) = " & getVT(Sgn(CSng(-0.5))))
1065 Call ok(Sgn(0.5) = 1, "Sgn(0.5) = " & Sgn(0.5))
1066 Call ok(getVT(Sgn(0.5)) = "VT_I2", "getVT(Sgn(0.5)) = " & getVT(Sgn(0.5)))
1067 Call ok(Sgn(CCur(-1)) = -1, "Sgn(CCur(-1)) = " & Sgn(CCur(-1)))
1068 Call ok(getVT(Sgn(CCur(-1))) = "VT_I2", "getVT(Sgn(CCur(-1))) = " & getVT(Sgn(CCur(-1))))
1069 Call ok(Sgn(CStr(-1)) = -1, "Sgn(CStr(-1)) = " & Sgn(CStr(-1)))
1070 Call ok(getVT(Sgn(CStr(-1))) = "VT_I2", "getVT(Sgn(CStr(-1))) = " & getVT(Sgn(CStr(-1))))
1071 Call ok(Sgn(False) = 0, "Sgn(False) = " & Sgn(False))
1072 Call ok(getVT(Sgn(False)) = "VT_I2", "getVT(Sgn(False)) = " & getVT(Sgn(False)))
1073 Call ok(Sgn(True) = -1, "Sgn(True) = " & Sgn(True))
1074 Call ok(getVT(Sgn(True)) = "VT_I2", "getVT(Sgn(True)) = " & getVT(Sgn(True)))
1075 Call ok(Sgn(CByte(1)) = 1, "Sgn(CByte(1)) = " & Sgn(CByte(1)))
1076 Call ok(getVT(Sgn(CByte(1))) ="VT_I2", "getVT(Sgn(CByte(1))) = " & getVT(Sgn(CByte(1))))
1078 Sub testSgnError(strings
, error_num
)
1079 on error resume next
1083 Call ok(Err
.number
= error_num
, "Err.number = " & Err
.number
)
1086 Call testSgnError(Null
, 94)
1088 Call ok(Abs(Empty
) = 0, "Abs(Empty) = " & Abs(Empty
))
1089 Call ok(getVT(Abs(Empty
)) = "VT_I2", "getVT(Abs(Empty)) = " & getVT(Abs(Empty
)))
1090 Call ok(IsNull(Abs(Null
)), "Is Abs(Null) not Null?")
1091 Call ok(getVT(Abs(Null
)) = "VT_NULL", "getVT(Abs(Null)) = " & getVT(Abs(Null
)))
1092 Call ok(Abs(0) = 0, "Abs(0) = " & Abs(0))
1093 Call ok(getVT(Abs(0)) = "VT_I2", "getVT(Abs(0)) = " & getVT(Abs(0)))
1094 Call ok(Abs(-32769) = 32769, "Abs(-32769) = " & Abs(-32769))
1095 Call ok(getVT(Abs(-32769)) = "VT_I4", "getVT(Abs(-32769)) = " & getVT(Abs(-32769)))
1096 Call ok(Abs(CSng(-0.5)) = 0.5, "Abs(CSng(-0.5)) = " & Abs(CSng(-0.5)))
1097 Call ok(getVT(Abs(CSng(-0.5))) = "VT_R4", "getVT(Abs(CSng(-0.5))) = " & getVT(Abs(CSng(-0.5))))
1098 Call ok(Abs(0.5) = 0.5, "Abs(0.5) = " & Abs(0.5))
1099 Call ok(getVT(Abs(0.5)) = "VT_R8", "getVT(Abs(0.5)) = " & getVT(Abs(0.5)))
1100 Call ok(Abs(CCur(-1)) = 1, "Abs(CCur(-1)) = " & Abs(CCur(-1)))
1101 Call ok(getVT(Abs(CCur(-1))) = "VT_CY", "getVT(Abs(CCur(-1))) = " & getVT(Abs(CCur(-1))))
1102 Call ok(Abs("-1") = 1, "Abs(""-1"") = " & Abs("-1"))
1103 Call ok(getVT(Abs("-1")) = "VT_R8", "getVT(Abs(""-1"")) = " & getVT(Abs("-1")))
1104 Call ok(Abs(False) = 0, "Abs(False) = " & Abs(False))
1105 Call ok(getVT(Abs(False)) = "VT_I2", "getVT(Abs(False)) = " & getVT(Abs(False)))
1106 Call ok(Abs(True) = 1, "Abs(True) = " & Abs(True))
1107 Call ok(getVT(Abs(True)) = "VT_I2", "getVT(Abs(True)) = " & getVT(Abs(True)))
1108 Call ok(Abs(CByte(1)) = 1, "Abs(CByte(1)) = " & Abs(CByte(1)))
1109 Call ok(getVT(Abs(CByte(1))) = "VT_UI1", "getVT(Abs(CByte(1))) = " & getVT(Abs(CByte(1))))
1111 Sub testAbsError(strings
, error_num1
, error_num2
)
1112 on error resume next
1117 Call ok(Err
.number
= error_num1
, "Err.number1 = " & Err
.number
)
1121 Call ok(Err
.number
= error_num2
, "Err.number2 = " & Err
.number
)
1124 Call testAbsError("strings", 13, 13)
1125 Call testAbsError(-4, 0, 0)
1127 Call ok(ScriptEngine
= "VBScript", "Is scriptengine not VBScript?")
1128 Call ok(getVT(ScriptEngine
) = "VT_BSTR", "getVT(ScriptEngine) = " & getVT(ScriptEngine
))
1130 Call ok(getVT(ScriptEngineBuildVersion
) = "VT_I4", "getVT(ScriptEngineBuildVersion) = " & getVT(ScriptEngineBuildVersion
))
1132 Call ok(getVT(ScriptEngineMajorVersion
) = "VT_I4", "getVT(ScriptEngineMajorVersion) = " & getVT(ScriptEngineMajorVersion
))
1134 Call ok(getVT(ScriptEngineMinorVersion
) = "VT_I4", "getVT(ScriptEngineMinorVersion) = " & getVT(ScriptEngineMinorVersion
))
1136 Call ok(Fix(Empty
) = 0, "Fix(Empty) = " & Fix(Empty
))
1137 Call ok(getVT(Fix(Empty
)) = "VT_I2", "getVT(Fix(Empty)) = " & getVT(Fix(Empty
)))
1138 Call ok(Fix(CCur(-0.99)) = 0, "Fix(CCur(-0.99)) = " & Fix(CCur(-0.99)))
1139 Call ok(getVT(Fix(CCur(-0.99))) = "VT_CY", "getVT(Fix(CCur(-0.99))) = " & getVT(Fix(CCur(-0.99))))
1140 Call ok(Fix(1.99) = 1, "Fix(1.99) = " & Fix(1.99))
1141 Call ok(getVT(Fix(1.99)) = "VT_R8", "getVT(Fix(1.99)) = " & getVT(Fix(1.99)))
1142 Call ok(Fix(-1.99) = -1, "Fix(-1.99) = " & Fix(-1.99))
1143 Call ok(getVT(Fix(-1.99)) = "VT_R8", "getVT(Fix(-1.99)) = " & getVT(Fix(-1.99)))
1144 If isEnglishLang
Then
1145 Call ok(Fix("1.99") = 1, "Fix(""1.99"") = " & Fix("1.99"))
1146 Call ok(getVT(Fix("1.99")) = "VT_R8", "getVT(Fix(""1.99"")) = " & getVT(Fix("1.99")))
1147 Call ok(Fix("-1.99") = -1, "Fix(""-1.99"") = " & Fix("-1.99"))
1148 Call ok(getVT(Fix("-1.99")) = "VT_R8", "getVT(Fix(""-1.99"")) = " & getVT(Fix("-1.99")))
1150 Call ok(Fix(True) = -1, "Fix(True) = " & Fix(True))
1151 Call ok(getVT(Fix(True)) = "VT_I2", "getVT(Fix(True)) = " & getVT(Fix(True)))
1152 Call ok(Fix(False) = 0, "Fix(False) = " & Fix(False))
1153 Call ok(getVT(Fix(False)) = "VT_I2", "getVT(Fix(False)) = " & getVT(Fix(False)))
1154 MyObject
.myval
= 2.5
1155 Call ok(Fix(MyObject
) = 2, "Fix(MyObject) = " & Fix(MyObject
))
1156 Call ok(getVT(Fix(MyObject
)) = "VT_R8", "getVT(Fix(MyObject)) = " & getVT(Fix(MyObject
)))
1157 MyObject
.myval
= -2.5
1158 Call ok(Fix(MyObject
) = -2, "Fix(MyObject) = " & Fix(MyObject
))
1159 Call ok(getVT(Fix(MyObject
)) = "VT_R8", "getVT(Fix(MyObject)) = " & getVT(Fix(MyObject
)))
1161 Call ok(Int(Empty
) = 0, "Int(Empty) = " & Int(Empty
))
1162 Call ok(getVT(Int(Empty
)) = "VT_I2", "getVT(Int(Empty)) = " & getVT(Int(Empty
)))
1163 Call ok(Int(CCur(-0.99)) = -1, "Int(CCur(-0.99)) = " & Int(CCur(-0.99)))
1164 Call ok(getVT(Int(CCur(-0.99))) = "VT_CY", "getVT(Int(CCur(-0.99))) = " & getVT(Int(CCur(-0.99))))
1165 Call ok(Int(1.99) = 1, "Int(1.99) = " & Int(1.99))
1166 Call ok(getVT(Int(1.99)) = "VT_R8", "getVT(Int(1.99)) = " & getVT(Int(1.99)))
1167 Call ok(Int(-1.99) = -2, "Int(-1.99) = " & Int(-1.99))
1168 Call ok(getVT(Int(-1.99)) = "VT_R8", "getVT(Int(-1.99)) = " & getVT(Int(-1.99)))
1169 If isEnglishLang
Then
1170 Call ok(Int("1.99") = 1, "Int(""1.99"") = " & Int("1.99"))
1171 Call ok(getVT(Int("1.99")) = "VT_R8", "getVT(Int(""1.99"")) = " & getVT(Int("1.99")))
1172 Call ok(Int("-1.99") = -2, "Int(""-1.99"") = " & Int("-1.99"))
1173 Call ok(getVT(Int("-1.99")) = "VT_R8", "getVT(Int(""-1.99"")) = " & getVT(Int("-1.99")))
1175 Call ok(Int(True) = -1, "Int(True) = " & Int(True))
1176 Call ok(getVT(Int(True)) = "VT_I2", "getVT(Int(True)) = " & getVT(Int(True)))
1177 Call ok(Int(False) = 0, "Int(False) = " & Int(False))
1178 Call ok(getVT(Int(False)) = "VT_I2", "getVT(Int(False)) = " & getVT(Int(False)))
1179 MyObject
.myval
= 2.5
1180 Call ok(Int(MyObject
) = 2, "Int(MyObject) = " & Int(MyObject
))
1181 Call ok(getVT(Int(MyObject
)) = "VT_R8", "getVT(Int(MyObject)) = " & getVT(Int(MyObject
)))
1182 MyObject
.myval
= -2.5
1183 Call ok(Int(MyObject
) = -3, "Int(MyObject) = " & Int(MyObject
))
1184 Call ok(getVT(Int(MyObject
)) = "VT_R8", "getVT(Int(MyObject)) = " & getVT(Int(MyObject
)))
1186 Sub testSqrError(strings
, error_num1
, error_num2
)
1187 on error resume next
1192 Call ok(Err
.number
= error_num1
, "Err.number1 = " & Err
.number
)
1196 Call ok(Err
.number
= error_num2
, "Err.number2 = " & Err
.number
)
1199 Call testSqrError(-2, 5, 5)
1200 Call testSqrError(True, 5, 5)
1202 Call ok(Sqr(Empty
) = 0, "Sqr(Empty) = " & Sqr(Empty
))
1203 Call ok(getVT(Sqr(Empty
)) = "VT_R8", "getVT(Sqr(Empty)) = " & getVT(Sqr(Empty
)))
1204 Call ok(Sqr(0) = 0, "Sqr(0) = " & Sqr(0))
1205 Call ok(getVT(Sqr(0)) = "VT_R8", "getVT(Sqr(0)) = " & getVT(Sqr(0)))
1206 Call ok(Sqr(1) = 1, "Sqr(1) = " & Sqr(1))
1207 Call ok(getVT(Sqr(1)) = "VT_R8", "getVT(Sqr(1)) = " & getVT(Sqr(1)))
1208 Call ok(Sqr(CSng(121)) = 11, "Sqr(CSng(121)) = " & Sqr(CSng(121)))
1209 Call ok(getVT(Sqr(CSng(121))) = "VT_R8", "getVT(Sqr(CSng(121))) = " & getVT(Sqr(CSng(121))))
1210 Call ok(Sqr(36100) = 190, "Sqr(36100) = " & Sqr(36100))
1211 Call ok(getVT(Sqr(36100)) = "VT_R8", "getVT(Sqr(36100)) = " & getVT(Sqr(36100)))
1212 Call ok(Sqr(CCur(0.0625)) = 0.25, "Sqr(CCur(0.0625)) = " & Sqr(CCur(0.0625)))
1213 Call ok(getVT(Sqr(CCur(0.0625))) = "VT_R8", "getVT(Sqr(CCur(0.0625))) = " & getVT(Sqr(CCur(0.0625))))
1214 Call ok(Sqr("100000000") = 10000, "Sqr(""100000000"") = " & Sqr("100000000"))
1215 Call ok(getVT(Sqr("100000000")) = "VT_R8", "getVT(Sqr(""100000000"")) = " & getVT(Sqr("100000000")))
1216 Call ok(Sqr(False) = 0, "Sqr(False) = " & Sqr(False))
1217 Call ok(getVT(Sqr(False)) = "VT_R8", "getVT(Sqr(False)) = " & getVT(Sqr(False)))
1218 Call ok(Sqr(CByte(225)) = 15, "Sqr(CByte(225)) = " & Sqr(CByte(225)))
1219 Call ok(getVT(Sqr(CByte(225))) = "VT_R8", "getVT(Sqr(CByte(225))) = " & getVT(Sqr(CByte(225))))
1221 Function Approch(func
, res
)
1222 If Abs(func
- res
) < 0.001 Then
1229 Const PI
= 3.1415926
1231 Call ok(Approch(Cos(Empty
), 1), "Cos(Empty) = " & Cos(Empty
))
1232 Call ok(getVT(Cos(Empty
)) = "VT_R8", "getVT(Cos(Empty)) = " & getVT(Cos(Empty
)))
1233 Call ok(Approch(Cos(PI
/ 6), Sqr(3) / 2), "Cos(PI / 6) = " & Cos(PI
/ 6))
1234 Call ok(getVT(Cos(PI
/ 6)) = "VT_R8", "getVT(Cos(PI / 6)) = " & getVT(Cos(PI
/ 6)))
1235 Call ok(Approch(Cos(CCur(PI
/ 4)), Sqr(2) / 2), "Cos(CCur(PI / 4)) = " & Cos(CCur(PI
/ 4)))
1236 Call ok(getVT(Cos(CCur(PI
/ 4))) = "VT_R8", "getVT(Cos(CCur(PI / 4))) = " & getVT(Cos(CCur(PI
/ 4))))
1237 Call ok(Approch(Cos(CSng(PI
/ 3)), 1 / 2), "Cos(CSng(PI / 3)) = " & Cos(CSng(PI
/ 3)))
1238 Call ok(getVT(Cos(CSng(PI
/ 3))) = "VT_R8", "getVT(Cos(CSng(PI))) = " & getVT(Cos(CSng(PI
))))
1239 Call ok(Approch(Cos(PI
/ 2), 0), "Cos(0) = " & Cos(PI
/ 2))
1240 Call ok(getVT(Cos(PI
/ 2)) = "VT_R8", "getVT(Cos(PI / 2)) = " & getVT(Cos(PI
/ 2)))
1241 Call ok(Approch(Cos(PI
), -1), "Cos(PI) = " & Cos(PI
))
1242 Call ok(getVT(Cos(PI
)) = "VT_R8", "getVT(Cos(PI)) = " & getVT(Cos(PI
)))
1243 Call ok(Approch(Cos(5 * PI
/ 4), -Sqr(2) / 2), "Cos(5 * PI / 4) = " & Cos(5 * PI
/ 4))
1244 Call ok(getVT(Cos(5 * PI
/ 4)) = "VT_R8", "getVT(Cos(5 * PI / 4)) = " & getVT(Cos(5 * PI
/ 4)))
1245 Call ok(Approch(Cos(3 * PI
/ 2), 0), "Cos(3 * PI / 2) = " & Cos(3 * PI
/ 2))
1246 Call ok(getVT(Cos(3 * PI
/ 2)) = "VT_R8", "getVT(Cos(3 * PI / 2)) = " & getVT(Cos(3 * PI
/ 2)))
1247 Call ok(Approch(Cos(2 * PI
), 1), "Cos(2 * PI) = " & Cos(2 * PI
))
1248 Call ok(getVT(Cos(2 * PI
)) = "VT_R8", "getVT(Cos(2 * PI)) = " & getVT(Cos(2 * PI
)))
1249 Call ok(Approch(Cos("-32768"), 0.3729), "Cos(""-32768"") = " & Cos("-32768"))
1250 Call ok(getVT(Cos("-32768")) = "VT_R8", "getVT(Cos(""-32768"")) = " & getVT(Cos("-32768")))
1251 Call ok(Approch(Cos(False), 1), "Cos(False) = " & Cos(False))
1252 Call ok(getVT(Cos(False)) = "VT_R8", "getVT(Cos(False)) = " & getVT(Cos(False)))
1253 Call ok(Approch(Cos(True), 0.5403), "Cos(True) = " & Cos(True))
1254 Call ok(getVT(Cos(True)) = "VT_R8", "getVT(Cos(True)) = " & getVT(Cos(True)))
1255 Call ok(Approch(Cos(CByte(255)), -0.8623), "Cos(CByte(255)) = " & Cos(CByte(255)))
1256 Call ok(getVT(Cos(CByte(255))) = "VT_R8", "getVT(Cos(CByte(255))) = " & getVT(Cos(CByte(255))))
1258 Call ok(Approch(Sin(Empty
), 0), "Sin(Empty) = " & Sin(Empty
))
1259 Call ok(getVT(Sin(Empty
)) = "VT_R8", "getVT(Sin(Empty)) = " & getVT(Sin(Empty
)))
1260 Call ok(Approch(Sin(PI
/ 6), 1 / 2), "Sin(PI / 6) = " & Sin(PI
/ 6))
1261 Call ok(getVT(Sin(PI
/ 6)) = "VT_R8", "getVT(Sin(PI / 6)) = " & getVT(Sin(PI
/ 6)))
1262 Call ok(Approch(Sin(CCur(PI
/ 4)), Sqr(2) / 2), "Sin(CCur(PI / 4)) = " & Sin(CCur(PI
/ 4)))
1263 Call ok(getVT(Sin(CCur(PI
/ 4))) = "VT_R8", "getVT(Sin(CCur(PI / 4))) = " & getVT(Sin(CCur(PI
/ 4))))
1264 Call ok(Approch(Sin(CSng(PI
/ 3)), Sqr(3) / 2), "Sin(CSng(PI / 3)) = " & Sin(CSng(PI
/ 3)))
1265 Call ok(getVT(Sin(CSng(PI
/ 3))) = "VT_R8", "getVT(Sin(CSng(PI))) = " & getVT(Sin(CSng(PI
))))
1266 Call ok(Approch(Sin(PI
/ 2), 1), "Sin(0) = " & Sin(PI
/ 2))
1267 Call ok(getVT(Sin(PI
/ 2)) = "VT_R8", "getVT(Sin(PI / 2)) = " & getVT(Sin(PI
/ 2)))
1268 Call ok(Approch(Sin(PI
), 0), "Sin(PI) = " & Sin(PI
))
1269 Call ok(getVT(Sin(PI
)) = "VT_R8", "getVT(Sin(PI)) = " & getVT(Sin(PI
)))
1270 Call ok(Approch(Sin(5 * PI
/ 4), -Sqr(2) / 2), "Sin(5 * PI / 4) = " & Sin(5 * PI
/ 4))
1271 Call ok(getVT(Sin(5 * PI
/ 4)) = "VT_R8", "getVT(Sin(5 * PI / 4)) = " & getVT(Sin(5 * PI
/ 4)))
1272 Call ok(Approch(Sin(3 * PI
/ 2), -1), "Sin(3 * PI / 2) = " & Sin(3 * PI
/ 2))
1273 Call ok(getVT(Sin(3 * PI
/ 2)) = "VT_R8", "getVT(Sin(3 * PI / 2)) = " & getVT(Sin(3 * PI
/ 2)))
1274 Call ok(Approch(Sin(2 * PI
), 0), "Sin(2 * PI) = " & Sin(2 * PI
))
1275 Call ok(getVT(Sin(2 * PI
)) = "VT_R8", "getVT(Sin(2 * PI)) = " & getVT(Sin(2 * PI
)))
1276 Call ok(Approch(Sin("-32768"), -0.9278), "Sin(""-32768"") = " & Sin("-32768"))
1277 Call ok(getVT(Sin("-32768")) = "VT_R8", "getVT(Sin(""-32768"")) = " & getVT(Sin("-32768")))
1278 Call ok(Approch(Sin(False), 0), "Sin(False) = " & Sin(False))
1279 Call ok(getVT(Sin(False)) = "VT_R8", "getVT(Sin(False)) = " & getVT(Sin(False)))
1280 Call ok(Approch(Sin(True), -0.84147), "Sin(True) = " & Sin(True))
1281 Call ok(getVT(Sin(True)) = "VT_R8", "getVT(Sin(True)) = " & getVT(Sin(True)))
1282 Call ok(Approch(Sin(CByte(255)), -0.5063), "Sin(CByte(255)) = " & Sin(CByte(255)))
1283 Call ok(getVT(Sin(CByte(255))) = "VT_R8", "getVT(Sin(CByte(255))) = " & getVT(Sin(CByte(255))))
1285 Call ok(Approch(Tan(Empty
), 0), "Tan(Empty) = " & Tan(Empty
))
1286 Call ok(getVT(Tan(Empty
)) = "VT_R8", "getVT(Tan(Empty)) = " & getVT(Tan(Empty
)))
1287 Call ok(Approch(Tan(PI
/ 6), Sqr(3) / 3), "Tan(PI / 6) = " & Tan(PI
/ 6))
1288 Call ok(getVT(Tan(PI
/ 6)) = "VT_R8", "getVT(Tan(PI / 6)) = " & getVT(Tan(PI
/ 6)))
1289 Call ok(Approch(Tan(CCur(PI
/ 4)), 1), "Tan(CCur(PI / 4)) = " & Tan(CCur(PI
/ 4)))
1290 Call ok(getVT(Tan(CCur(PI
/ 4))) = "VT_R8", "getVT(Tan(CCur(PI / 4))) = " & getVT(Tan(CCur(PI
/ 4))))
1291 Call ok(Approch(Tan(CSng(PI
/ 3)), Sqr(3)), "Tan(CSng(PI / 3)) = " & Tan(CSng(PI
/ 3)))
1292 Call ok(getVT(Tan(CSng(PI
/ 3))) = "VT_R8", "getVT(Tan(CSng(PI))) = " & getVT(Tan(CSng(PI
))))
1293 Call ok(Approch(Tan(PI
), 0), "Tan(PI) = " & Tan(PI
))
1294 Call ok(getVT(Tan(PI
)) = "VT_R8", "getVT(Tan(PI)) = " & getVT(Tan(PI
)))
1295 Call ok(Approch(Tan(3 * PI
/ 4), -1), "Tan(3 * PI / 4) = " & Tan(3 * PI
/ 4))
1296 Call ok(getVT(Tan(3 * PI
/ 4)) = "VT_R8", "getVT(Tan(3 * PI / 4)) = " & getVT(Tan(3 * PI
/ 4)))
1297 Call ok(Approch(Tan(5 * PI
/ 4), 1), "Tan(5 * PI / 4) = " & Tan(5 * PI
/ 4))
1298 Call ok(getVT(Tan(5 * PI
/ 4)) = "VT_R8", "getVT(Tan(5 * PI / 4)) = " & getVT(Tan(5 * PI
/ 4)))
1299 Call ok(Approch(Tan(2 * PI
), 0), "Tan(2 * PI) = " & Tan(2 * PI
))
1300 Call ok(getVT(Tan(2 * PI
)) = "VT_R8", "getVT(Tan(2 * PI)) = " & getVT(Tan(2 * PI
)))
1301 Call ok(Approch(Tan("-32768"), -2.4879), "Tan(""-32768"") = " & Tan("-32768"))
1302 Call ok(getVT(Tan("-32768")) = "VT_R8", "getVT(Tan(""-32768"")) = " & getVT(Tan("-32768")))
1303 Call ok(Approch(Tan(False), 0), "Tan(False) = " & Tan(False))
1304 Call ok(getVT(Tan(False)) = "VT_R8", "getVT(Tan(False)) = " & getVT(Tan(False)))
1305 Call ok(Approch(Tan(True), -1.5574), "Tan(True) = " & Tan(True))
1306 Call ok(getVT(Tan(True)) = "VT_R8", "getVT(Tan(True)) = " & getVT(Tan(True)))
1307 Call ok(Approch(Tan(CByte(255)), 0.5872), "Tan(CByte(255)) = " & Tan(CByte(255)))
1308 Call ok(getVT(Tan(CByte(255))) = "VT_R8", "getVT(Tan(CByte(255))) = " & getVT(Tan(CByte(255))))
1310 Call ok(Approch(Atn(Empty
), 0), "Atn(Empty) = " & Atn(Empty
))
1311 Call ok(getVT(Atn(Empty
)) = "VT_R8", "getVT(Atn(Empty)) = " & getVT(Atn(Empty
)))
1312 Call ok(Approch(Atn(Sqr(3) / 3), PI
/ 6), "Atn(Sqr(3) / 3) = " & Atn(Sqr(3) / 3))
1313 Call ok(getVT(Atn(Sqr(3) / 3)) = "VT_R8", "getVT(Atn(Sqr(3) / 3)) = " & getVT(Atn(Sqr(3) / 3)))
1314 Call ok(Approch(Atn(CCur(1)), PI
/ 4), "Atn(CCur(1)) = " & Atn(CCur(1)))
1315 Call ok(getVT(Atn(CCur(1))) = "VT_R8", "getVT(Atn(CCur(1))) = " & getVT(Atn(CCur(1))))
1316 Call ok(Approch(Atn(CSng(Sqr(3))), PI
/ 3), "Atn(CSng(Sqr(3))) = " & Atn(CSng(Sqr(3))))
1317 Call ok(getVT(Atn(CSng(Sqr(3)))) = "VT_R8", "getVT(Atn(CSng(PI))) = " & getVT(Atn(CSng(PI
))))
1318 Call ok(Approch(Atn(0), 0), "Atn(0) = " & Atn(0))
1319 Call ok(getVT(Atn(0)) = "VT_R8", "getVT(Atn(0)) = " & getVT(Atn(0)))
1320 Call ok(Approch(Atn(-1), -PI
/ 4), "Atn(-1) = " & Atn(-1))
1321 Call ok(getVT(Atn(-1)) = "VT_R8", "getVT(Atn(-1)) = " & getVT(Atn(-1)))
1322 Call ok(Approch(Atn("-32768"), -1.5707), "Atn(""-32768"") = " & Atn("-32768"))
1323 Call ok(getVT(Atn("-32768")) = "VT_R8", "getVT(Atn(""-32768"")) = " & getVT(Atn("-32768")))
1324 Call ok(Approch(Atn(False), 0), "Atn(False) = " & Atn(False))
1325 Call ok(getVT(Atn(False)) = "VT_R8", "getVT(Atn(False)) = " & getVT(Atn(False)))
1326 Call ok(Approch(Atn(True), -0.7853), "Atn(True) = " & Atn(True))
1327 Call ok(getVT(Atn(True)) = "VT_R8", "getVT(Atn(True)) = " & getVT(Atn(True)))
1328 Call ok(Approch(Atn(CByte(255)), 1.5668), "Atn(CByte(255)) = " & Atn(CByte(255)))
1329 Call ok(getVT(Atn(CByte(255))) = "VT_R8", "getVT(Atn(CByte(255))) = " & getVT(Atn(CByte(255))))
1331 Call ok(Approch(Exp(Empty
), 1), "Exp(Empty) = " & Exp(Empty
))
1332 Call ok(getVT(Exp(Empty
)) = "VT_R8", "getVT(Exp(Empty)) = " & getVT(Exp(Empty
)))
1333 Call ok(Approch(Exp(1), 2.7182), "Exp(1) = " & Exp(1))
1334 Call ok(getVT(Exp(1)) = "VT_R8", "getVT(Exp(1)) = " & getVT(Exp(1)))
1335 Call ok(Approch(Exp(CCur(-1)), 0.3678), "Exp(CCur(-1)) = " & Exp(CCur(-1)))
1336 Call ok(getVT(Exp(CCur(-1))) = "VT_R8", "getVT(Exp(CCur(-1))) = " & getVT(Exp(CCur(-1))))
1337 Call ok(Approch(Exp(CSng(0.5)), 1.6487), "Exp(CSng(0.5)) = " & Exp(CSng(0.5)))
1338 Call ok(getVT(Exp(CSng(0.5))) = "VT_R8", "getVT(Exp(CSng(PI))) = " & getVT(Exp(CSng(PI
))))
1339 Call ok(Approch(Exp(-0.5), 0.6065), "Exp(-0.5) = " & Exp(-0.5))
1340 Call ok(getVT(Exp(-0.5)) = "VT_R8", "getVT(Exp(-0.5)) = " & getVT(Exp(-0.5)))
1341 Call ok(Approch(Exp("-2"), 0.1353), "Exp(""-2"") = " & Exp("-2"))
1342 Call ok(getVT(Exp("-2")) = "VT_R8", "getVT(Exp(""-2"")) = " & getVT(Exp("-2")))
1343 Call ok(Approch(Exp(False), 1), "Exp(False) = " & Exp(False))
1344 Call ok(getVT(Exp(False)) = "VT_R8", "getVT(Exp(False)) = " & getVT(Exp(False)))
1345 Call ok(Approch(Exp(True), 0.3678), "Exp(True) = " & Exp(True))
1346 Call ok(getVT(Exp(True)) = "VT_R8", "getVT(Exp(True)) = " & getVT(Exp(True)))
1347 Call ok(Approch(Exp(CByte(2)), 7.389), "Exp(CByte(2)) = " & Exp(CByte(2)))
1348 Call ok(getVT(Exp(CByte(2))) = "VT_R8", "getVT(Exp(CByte(2))) = " & getVT(Exp(CByte(2))))
1350 Sub testLogError(strings
, error_num1
, error_num2
)
1351 on error resume next
1356 Call ok(Err
.number
= error_num1
, "Err.number1 = " & Err
.number
)
1360 Call ok(Err
.number
= error_num2
, "Err.number2 = " & Err
.number
)
1363 Call testLogError(0, 5, 5)
1364 Call testLogError(-2, 5, 5)
1365 Call testLogError(False, 5, 5)
1366 Call testLogError(True, 5, 5)
1367 Call ok(Approch(Log(1), 0), "Log(1) = " & Log(1))
1368 Call ok(getVT(Log(1)) = "VT_R8", "getVT(Log(1)) = " & getVT(Log(1)))
1369 Call ok(Approch(Log(CCur(0.5)), -0.6931), "Log(CCur(0.5)) = " & Log(CCur(0.5)))
1370 Call ok(getVT(Log(CCur(0.5))) = "VT_R8", "getVT(Log(CCur(0.5))) = " & getVT(Log(CCur(0.5))))
1371 Call ok(Approch(Log(CSng(2.7182)), 1), "Log(CSng(2.7182)) = " & Log(CSng(2.7182)))
1372 Call ok(getVT(Log(CSng(2.7182))) = "VT_R8", "getVT(Log(CSng(PI))) = " & getVT(Log(CSng(PI
))))
1373 Call ok(Approch(Log(32768), 10.3972), "Log(32768) = " & Log(32768))
1374 Call ok(getVT(Log(32768)) = "VT_R8", "getVT(Log(32768)) = " & getVT(Log(32768)))
1375 Call ok(Approch(Log("10"), 2.3025), "Log(""10"") = " & Log("10"))
1376 Call ok(getVT(Log("10")) = "VT_R8", "getVT(Log(""10"")) = " & getVT(Log("10")))
1377 Call ok(Approch(Log(CByte(2)), 0.6931), "Log(CByte(2)) = " & Log(CByte(2)))
1378 Call ok(getVT(Log(CByte(2))) = "VT_R8", "getVT(Log(CByte(2))) = " & getVT(Log(CByte(2))))
1380 Call ok(getVT(Date) = "VT_DATE", "getVT(Date) = " & getVT(Date))
1381 Call ok(getVT(Time
) = "VT_DATE", "getVT(Time) = " & getVT(Time
))
1383 Sub testRGBError(arg1
, arg2
, arg3
, error_num
)
1384 on error resume next
1388 x
= RGB(arg1
, arg2
, arg3
)
1389 Call ok(Err
.number
= error_num
, "Err.number1 = " & Err
.number
)
1392 Call RGB(arg1
, arg2
, arg3
)
1393 Call ok(Err
.number
= error_num
, "Err.number2 = " & Err
.number
)
1396 Call ok(RGB(0, &h1f
&, &hf1
&) = &hf11f00
&, "RGB(0, &h1f&, &hf1&) = " & RGB(0, &h1f
&, &hf1
&))
1397 Call ok(getVT(RGB(0, &h1f
&, &hf1
&)) = "VT_I4", "getVT(RGB(&hf1&, &h1f&, &hf1&)) = " & getVT(RGB(&hf1
&, &h1f
&, &hf1
&)))
1398 Call ok(RGB(&hef
&, &hab
&, &hcd
&) = &hcdabef
&, "RGB(&hef&, &hab&, &hcd&) = " & RGB(&hef
&, &hab
&, &hcd
&))
1399 Call ok(getVT(RGB(&hef
&, &hab
&, &hcd
&)) = "VT_I4", "getVT(RGB(&hef&, &hab&, &hcd&)) = " & getVT(RGB(&hef
&, &hab
&, &hcd
&)))
1400 Call ok(RGB(&h1
&, &h100
&, &h111
&) = &hffff01
&, "RGB(&h1&, &h100&, &h111&) = " & RGB(&h1
&, &h100
&, &h111
&))
1401 Call ok(getVT(RGB(&h1
&, &h100
&, &h111
&)) = "VT_I4", "getVT(RGB(&h1&, &h100&, &h111&)) = " & getVT(RGB(&h1
&, &h100
&, &h111
&)))
1402 Call testRGBError(-1, &h1e
&, &h3b
&, 5)
1403 Call testRGBError(&h4d
&, -2, &h2f
&, 5)
1405 Call ok(getVT(Timer
) = "VT_R4", "getVT(Timer) = " & getVT(Timer
))
1407 Call reportSuccess()