2017-03-18 14:38:09 +01:00
|
|
|
Option VBASupport 1
|
|
|
|
Option Explicit
|
|
|
|
|
|
|
|
Function doUnitTest() As String
|
2020-12-16 22:28:02 +00:00
|
|
|
verify_testDateAdd
|
|
|
|
doUnitTest = TestUtilModule.GetResult()
|
2017-03-18 14:38:09 +01:00
|
|
|
End Function
|
|
|
|
|
2020-12-16 22:28:02 +00:00
|
|
|
Sub verify_testDateAdd()
|
2017-03-18 14:38:09 +01:00
|
|
|
|
2020-12-16 22:28:02 +00:00
|
|
|
TestUtilModule.TestInit
|
2017-03-18 14:38:09 +01:00
|
|
|
|
|
|
|
Dim testName As String
|
|
|
|
Dim date1, date2 As Date 'variables for test
|
|
|
|
testName = "Test DateAdd function"
|
|
|
|
On Error GoTo errorHandler
|
|
|
|
|
2017-11-24 00:29:21 +01:00
|
|
|
date2 = CDate("1995-02-28")
|
|
|
|
date1 = DateAdd("m", 1, "1995-01-31")
|
2020-12-16 22:28:02 +00:00
|
|
|
TestUtilModule.AssertTrue(date1 = date2, "the return DateAdd is: " & date1)
|
2017-03-18 14:38:09 +01:00
|
|
|
|
2017-11-24 00:29:21 +01:00
|
|
|
date2 = CDate("1995-02-28")
|
|
|
|
date1 = DateAdd("m", 1, "1995-01-31")
|
2020-12-16 22:28:02 +00:00
|
|
|
TestUtilModule.AssertTrue(date1 = date2, "the return DateAdd is: " & date1)
|
2017-03-18 14:38:09 +01:00
|
|
|
|
2017-11-24 00:29:21 +01:00
|
|
|
date2 = CDate("1995-02-28")
|
|
|
|
date1 = DateAdd("m", 1, "1995-01-31")
|
2020-12-16 22:28:02 +00:00
|
|
|
TestUtilModule.AssertTrue(date1 = date2, "the return DateAdd is: " & date1)
|
2017-03-18 14:38:09 +01:00
|
|
|
|
2017-11-24 00:29:21 +01:00
|
|
|
date2 = CDate("1996-01-31")
|
|
|
|
date1 = DateAdd("yyyy", 1, "1995-01-31")
|
2020-12-16 22:28:02 +00:00
|
|
|
TestUtilModule.AssertTrue(date1 = date2, "the return DateAdd is: " & date1)
|
2017-03-18 14:38:09 +01:00
|
|
|
|
2017-11-24 00:29:21 +01:00
|
|
|
date2 = CDate("1995-04-30")
|
|
|
|
date1 = DateAdd("q", 1, "1995-01-31")
|
2020-12-16 22:28:02 +00:00
|
|
|
TestUtilModule.AssertTrue(date1 = date2, "the return DateAdd is: " & date1)
|
2017-03-18 14:38:09 +01:00
|
|
|
|
2017-11-24 00:29:21 +01:00
|
|
|
date2 = CDate("1995-02-01")
|
|
|
|
date1 = DateAdd("y", 1, "1995-01-31")
|
2020-12-16 22:28:02 +00:00
|
|
|
TestUtilModule.AssertTrue(date1 = date2, "the return DateAdd is: " & date1)
|
2017-03-18 14:38:09 +01:00
|
|
|
|
2017-11-24 00:29:21 +01:00
|
|
|
date2 = CDate("1995-02-01")
|
|
|
|
date1 = DateAdd("d", 1, "1995-01-31")
|
2020-12-16 22:28:02 +00:00
|
|
|
TestUtilModule.AssertTrue(date1 = date2, "the return DateAdd is: " & date1)
|
2017-03-18 14:38:09 +01:00
|
|
|
|
2017-11-24 00:29:21 +01:00
|
|
|
date2 = CDate("1995-02-01")
|
|
|
|
date1 = DateAdd("w", 1, "1995-01-31")
|
2020-12-16 22:28:02 +00:00
|
|
|
TestUtilModule.AssertTrue(date1 = date2, "the return DateAdd is: " & date1)
|
2017-03-18 14:38:09 +01:00
|
|
|
|
2017-11-24 00:29:21 +01:00
|
|
|
date2 = CDate("1995-02-07")
|
|
|
|
date1 = DateAdd("ww", 1, "1995-01-31")
|
2020-12-16 22:28:02 +00:00
|
|
|
TestUtilModule.AssertTrue(date1 = date2, "the return DateAdd is: " & date1)
|
2017-03-18 14:38:09 +01:00
|
|
|
|
2017-11-24 00:29:21 +01:00
|
|
|
Rem This fails when directly comparing date1=date2, probably due to rounding.
|
|
|
|
Rem Workaround convert to string which does the rounding.
|
|
|
|
Dim date1s, date2s As String
|
|
|
|
date2 = CDate("1995-01-01 22:48:29")
|
|
|
|
date1 = DateAdd("h", 1, "1995-01-01 21:48:29")
|
|
|
|
date1s = "" & date1
|
|
|
|
date2s = "" & date2
|
2020-12-16 22:28:02 +00:00
|
|
|
TestUtilModule.AssertTrue(date1s = date2s, "the return DateAdd is: " & date1)
|
2017-11-24 00:29:21 +01:00
|
|
|
|
|
|
|
date2 = CDate("1995-01-31 21:49:29")
|
|
|
|
date1 = DateAdd("n", 1, "1995-01-31 21:48:29")
|
2020-12-16 22:28:02 +00:00
|
|
|
TestUtilModule.AssertTrue(date1 = date2, "the return DateAdd is: " & date1)
|
2017-03-18 14:38:09 +01:00
|
|
|
|
2017-11-24 00:29:21 +01:00
|
|
|
date2 = CDate("1995-01-31 21:48:30")
|
|
|
|
date1 = DateAdd("s", 1, "1995-01-31 21:48:29")
|
2020-12-16 22:28:02 +00:00
|
|
|
TestUtilModule.AssertTrue(date1 = date2, "the return DateAdd is: " & date1)
|
2017-03-18 14:38:09 +01:00
|
|
|
|
2017-11-24 00:29:21 +01:00
|
|
|
exitFunc:
|
2020-12-16 22:28:02 +00:00
|
|
|
TestUtilModule.TestEnd
|
2017-03-18 14:38:09 +01:00
|
|
|
|
2020-12-16 22:28:02 +00:00
|
|
|
Exit Sub
|
2017-11-24 00:29:21 +01:00
|
|
|
|
2017-03-18 14:38:09 +01:00
|
|
|
errorHandler:
|
2017-11-24 00:29:21 +01:00
|
|
|
On Error GoTo 0
|
2020-12-16 22:28:02 +00:00
|
|
|
TestUtilModule.AssertTrue(False, testName & ": hit error handler")
|
2017-11-24 00:29:21 +01:00
|
|
|
GoTo exitFunc
|
|
|
|
|
2017-03-18 14:38:09 +01:00
|
|
|
End Sub
|
|
|
|
|