Wordclock/unit/timetest_head.template

31 lines
1.5 KiB
Plaintext
Raw Normal View History

-- 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