[Libreoffice-commits] core.git: basic/qa

Zdeněk Crhonek zcrhonek at gmail.com
Wed May 3 18:14:59 UTC 2017


 basic/qa/cppunit/test_vba.cxx   |    4 ++
 basic/qa/vba_tests/monthname.vb |   70 ++++++++++++++++++++++++++++++++++++++++
 basic/qa/vba_tests/nper.vb      |   62 +++++++++++++++++++++++++++++++++++
 basic/qa/vba_tests/npv.vb       |   67 ++++++++++++++++++++++++++++++++++++++
 basic/qa/vba_tests/oct.vb       |   70 ++++++++++++++++++++++++++++++++++++++++
 5 files changed, 273 insertions(+)

New commits:
commit 3cb581adde31460d7bfe2922b8ae866aa823d5ad
Author: Zdeněk Crhonek <zcrhonek at gmail.com>
Date:   Sun Apr 30 19:54:02 2017 +0200

    VBA tests- MONTHNAME,NPER, NPV,OCT test case
    
    Change-Id: Ia6c732d4c205ba2461007feacce1403b83e6043b
    Reviewed-on: https://gerrit.libreoffice.org/37109
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Zdenek Crhonek <zcrhonek at gmail.com>

diff --git a/basic/qa/cppunit/test_vba.cxx b/basic/qa/cppunit/test_vba.cxx
index a89cb88c6000..a909fa762db5 100644
--- a/basic/qa/cppunit/test_vba.cxx
+++ b/basic/qa/cppunit/test_vba.cxx
@@ -104,6 +104,10 @@ void VBATest::testMiscVBAFunctions()
         "minute.vb",
         "mirr.vb",
         "month.vb",
+        "monthname.vb",
+        "oct.vb",
+        "nper.vb",
+        "npv.vb",
 #ifndef WIN32 // missing 64bit Currency marshalling.
         "win32compat.vb", // windows compatibility hooks.
 #endif
diff --git a/basic/qa/vba_tests/monthname.vb b/basic/qa/vba_tests/monthname.vb
new file mode 100644
index 000000000000..0db37d296e92
--- /dev/null
+++ b/basic/qa/vba_tests/monthname.vb
@@ -0,0 +1,70 @@
+Option VBASupport 1
+Option Explicit
+Dim passCount As Integer
+Dim failCount As Integer
+Dim result As String
+
+Function doUnitTest() As String
+result = verify_testMonthName()
+If failCount <> 0 And passCount > 0 Then
+    doUnitTest = result
+Else
+    doUnitTest = "OK"
+End If
+End Function
+
+
+
+Function verify_testMonthName() 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 
+    testName = "Test MonthName function"
+    On Error GoTo errorHandler
+
+    date2 = "February"
+    date1 = MonthName(2)
+    TestLog_ASSERT date1 = date2, "the return MonthName is: " & date1
+
+    date2 = "Feb"
+    date1 = MonthName(2, True)
+    TestLog_ASSERT date1 = date2, "the return MonthName is: " & date1
+
+    date2 = "February"
+    date1 = MonthName(2, False)
+    TestLog_ASSERT date1 = date2, "the return MonthName is: " & date1
+    
+    result = result & Chr$(10) & "Tests passed: " & passCount & Chr$(10) & "Tests failed: " & failCount & Chr$(10)
+    verify_testMonthName = 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
+
diff --git a/basic/qa/vba_tests/nper.vb b/basic/qa/vba_tests/nper.vb
new file mode 100644
index 000000000000..e81b739658dd
--- /dev/null
+++ b/basic/qa/vba_tests/nper.vb
@@ -0,0 +1,62 @@
+Option VBASupport 1
+Option Explicit
+Dim passCount As Integer
+Dim failCount As Integer
+Dim result As String
+
+Function doUnitTest() As String
+result = verify_testNPer
+If failCount <> 0 And passCount > 0 Then
+    doUnitTest = result
+Else
+    doUnitTest = "OK"
+End If
+End Function
+
+
+
+Function verify_testNPer() 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
+    testName = "Test NPER function"
+    On Error GoTo errorHandler
+
+    date2 = -4.359
+    date1 = NPer(0.0821, 400, 2000)
+    TestLog_ASSERT Round(date1, 3) = Round(date2, 3), "the return NPer is: " & date1
+
+    result = result & Chr$(10) & "Tests passed: " & passCount & Chr$(10) & "Tests failed: " & failCount & Chr$(10)
+    verify_testNPer = 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
+
diff --git a/basic/qa/vba_tests/npv.vb b/basic/qa/vba_tests/npv.vb
new file mode 100644
index 000000000000..9992de7845cc
--- /dev/null
+++ b/basic/qa/vba_tests/npv.vb
@@ -0,0 +1,67 @@
+Option VBASupport 1
+Option Explicit
+Dim passCount As Integer
+Dim failCount As Integer
+Dim result As String
+
+Function doUnitTest() As String
+result = verify_testNPV()
+If failCount <> 0 And passCount > 0 Then
+    doUnitTest = result
+Else
+    doUnitTest = "OK"
+End If
+End Function
+
+
+
+Function verify_testNPV() 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
+    testName = "Test NPV function"
+    On Error GoTo errorHandler
+    Static Values(5) As Double    ' Set up array.
+    Values(0) = -70000    ' Business start-up costs.
+    ' Positive cash flows reflecting income for four successive years.
+    Values(1) = 22000: Values(2) = 25000
+    Values(3) = 28000: Values(4) = 31000
+
+    date2 = 19312.57
+    date1 = NPV(0.0625, Values())     ' Calculate net present value.
+    TestLog_ASSERT Round(date1, 2) = Round(date2, 2), "the return NPV is: " & date1
+
+    result = result & Chr$(10) & "Tests passed: " & passCount & Chr$(10) & "Tests failed: " & failCount & Chr$(10)
+    verify_testNPV = 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
+
diff --git a/basic/qa/vba_tests/oct.vb b/basic/qa/vba_tests/oct.vb
new file mode 100644
index 000000000000..98b4116a349a
--- /dev/null
+++ b/basic/qa/vba_tests/oct.vb
@@ -0,0 +1,70 @@
+Option VBASupport 1
+Option Explicit
+Dim passCount As Integer
+Dim failCount As Integer
+Dim result As String
+
+Function doUnitTest() As String
+result = verify_testOct()
+If failCount <> 0 And passCount > 0 Then
+    doUnitTest = result
+Else
+    doUnitTest = "OK"
+End If
+End Function
+
+
+
+Function verify_testOct() 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
+    testName = "Test Oct function"
+    On Error GoTo errorHandler
+
+    date2 = 4
+    date1 = Oct(4)
+    TestLog_ASSERT date1 = date2, "the return Oct is: " & date1
+
+    date2 = 10
+    date1 = Oct(8)
+    TestLog_ASSERT date1 = date2, "the return Oct is: " & date1
+
+    date2 = 713
+    date1 = Oct(459)
+    TestLog_ASSERT date1 = date2, "the return Oct is: " & date1
+
+    result = result & Chr$(10) & "Tests passed: " & passCount & Chr$(10) & "Tests failed: " & failCount & Chr$(10)
+    verify_testOct = 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
+


More information about the Libreoffice-commits mailing list