Kaydet (Commit) ed0e8f97 authored tarafından Zdeněk Crhonek's avatar Zdeněk Crhonek Kaydeden (comit) Zdenek Crhonek

VBA test CDATE, CDBL function

Change-Id: Id45930e6d329a0b1142bfde612c1a089390e4817
Reviewed-on: https://gerrit.libreoffice.org/34868Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarZdenek Crhonek <zcrhonek@gmail.com>
üst 33ac4636
......@@ -61,6 +61,8 @@ void VBATest::testMiscVBAFunctions()
"asc.vb",
"atn.vb",
"cbool.vb",
"cdate.vb",
"cdbl.vb",
#ifndef WIN32 // missing 64bit Currency marshalling.
"win32compat.vb", // windows compatibility hooks.
#endif
......
Option VBASupport 1
Option Explicit
Dim passCount As Integer
Dim failCount As Integer
Dim result As String
Function doUnitTest() As String
result = verify_testCDate()
If failCount <> 0 And passCount > 0 Then
doUnitTest = result
Else
doUnitTest = "OK"
End If
End Function
Function verify_testCDate() As String
passCount = 0
failCount = 0
result = "Test Results" & Chr$(10) & "============" & Chr$(10)
Dim testName As String
Dim TestDateTime As Date
Dim TestStr As String
Dim date1, date2 As Date 'variables for test
testName = "Test CDate function"
On Error GoTo errorHandler
date2 = 25246
date1 = CDate("12.2.1969") '2/12/1969
TestLog_ASSERT date1 = date2, "the return CDate is: " & date1
date2 = 28313
date1 = CDate("07/07/1977")
TestLog_ASSERT date1 = date2, "the return CDate is: " & date1
date2 = 28313
date1 = CDate(#7/7/1977#)
TestLog_ASSERT date1 = date2, "the return CDate is: " & date1
result = result & Chr$(10) & "Tests passed: " & passCount & Chr$(10) & "Tests failed: " & failCount & Chr$(10)
verify_testCDate = result
Exit Function
errorHandler:
TestLog_ASSERT (False), testName & ": hit error handler"
End Function
Sub TestLog_ASSERT(assertion As Boolean, Optional testId As String, Optional testComment As String)
If assertion = True Then
passCount = passCount + 1
Else
Dim testMsg As String
If Not IsMissing(testId) Then
testMsg = testMsg + " : " + testId
End If
If Not IsMissing(testComment) And Not (testComment = "") Then
testMsg = testMsg + " (" + testComment + ")"
End If
result = result & Chr$(10) & " Failed: " & testMsg
failCount = failCount + 1
End If
End Sub
Option VBASupport 1
Option Explicit
Dim passCount As Integer
Dim failCount As Integer
Dim result As String
Function doUnitTest() As String
result = verify_testCdbl()
If failCount <> 0 And passCount > 0 Then
doUnitTest = result
Else
doUnitTest = "OK"
End If
End Function
Function verify_testCdbl() As String
passCount = 0
failCount = 0
result = "Test Results" & Chr$(10) & "============" & Chr$(10)
Dim testName As String
Dim TestDateTime As Date
Dim TestStr As String
Dim nr1, nr2 As Double 'variables for test
testName = "Test Cdbl function"
On Error GoTo errorHandler
nr2 = 0
nr1 = CDbl(0)
TestLog_ASSERT nr1 = nr2, "the return Cdbl is: " & nr1
nr2 = 10.1234567890123
nr1 = CDbl(10.1234567890123)
TestLog_ASSERT nr1 = nr2, "the return Cdbl is: " & nr1
nr2 = 0.00005
nr1 = CDbl(0.005 * 0.01)
TestLog_ASSERT nr1 = nr2, "the return Cdbl is: " & nr1
nr2 = 20
nr1 = CDbl("20")
TestLog_ASSERT nr1 = nr2, "the return Cdbl is: " & nr1
result = result & Chr$(10) & "Tests passed: " & passCount & Chr$(10) & "Tests failed: " & failCount & Chr$(10)
verify_testCdbl = result
Exit Function
errorHandler:
TestLog_ASSERT (False), testName & ": hit error handler"
End Function
Sub TestLog_ASSERT(assertion As Boolean, Optional testId As String, Optional testComment As String)
If assertion = True Then
passCount = passCount + 1
Else
Dim testMsg As String
If Not IsMissing(testId) Then
testMsg = testMsg + " : " + testId
End If
If Not IsMissing(testComment) And Not (testComment = "") Then
testMsg = testMsg + " (" + testComment + ")"
End If
result = result & Chr$(10) & " Failed: " & testMsg
failCount = failCount + 1
End If
End Sub
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment