31 lines
1.5 KiB
Plaintext
31 lines
1.5 KiB
Plaintext
-- Simple unit test to test time zones
|
|
|
|
dofile("../timecore.lua")
|
|
|
|
SUMMERTIME_OFFSET=2
|
|
WINTERTIME_OFFSET=1
|
|
|
|
-- This functions expects to be executed in Germany,
|
|
-- so resultingHourDiff is 1 in wintertime
|
|
-- and 2 in summertime
|
|
function checkTime(yearIn, monthIn, dayIn, hourIn, minutesIn, secondsIn,dowIn, resultingHourDiff)
|
|
-- Generate a time struct from the given parameter
|
|
time = {}
|
|
time.year = yearIn
|
|
time.month = monthIn
|
|
time.day = dayIn
|
|
time.hour = hourIn
|
|
time.minute = minutesIn
|
|
time.second = secondsIn
|
|
time.dow = dowIn
|
|
-- the test itself
|
|
local summerTime = isSummerTime(time)
|
|
if ((resultingHourDiff == SUMMERTIME_OFFSET and not (summerTime == true)) or (resultingHourDiff == WINTERTIME_OFFSET and not (summerTime == false))) then
|
|
print(yearIn .. "-" .. string.format("%0.2d", monthIn) .. "-" .. string.format("%0.2d", dayIn) .. " " .. string.format("%0.2d", hourIn) .. ":" .. string.format("%0.2d", minutesIn) .. ":" .. string.format("%0.2d", secondsIn) .. " (dow:" .. dowIn .. ") was not GMT+" .. resultingHourDiff .. " ( summer time was " .. tostring(summerTime) .. ")" )
|
|
os.exit(1)
|
|
else
|
|
print(yearIn .. "-" .. string.format("%0.2d", monthIn) .. "-" .. string.format("%0.2d", dayIn) .. " " .. string.format("%0.2d", hourIn) .. ":" .. string.format("%0.2d", minutesIn) .. ":" .. string.format("%0.2d", secondsIn) .. " summertime is " .. tostring(summerTime) .. " (GMT+" .. resultingHourDiff .. ")" )
|
|
end
|
|
end
|
|
|