Module:Calendar/testcases
Lua
CodeDiscussionEditHistoryLinksLink count Subpages:DocumentationTestsResultsSandboxLive code All modules
All tests passed.
Name | Expected | Actual | |
---|---|---|---|
![]() |
test_DayOfWeek_function | ||
![]() |
test_Gregorian2Julian_function | ||
![]() |
test_GregorianDateValidator_function | ||
![]() |
test_Julian2Gregorian_function | ||
![]() |
test_calendar_math |
Code
local TUT = mw.title.new(mw.getCurrentFrame():getTitle()).basePageTitle -- the title under test
local p = require(TUT.prefixedText)-- the module to be tested
local ScribuntoUnit = require('Module:ScribuntoUnit')
local suite = ScribuntoUnit:new()
function suite:test_DayOfWeek_function()
self:assertSameResult( 'Friday', "{{#invoke:Calendar|DayOfWeek|2017-09-01}}")
self:assertSameResult( 'Friday', "{{#invoke:Calendar|DayOfWeek|1963-11-22}}")
self:assertSameResult( 'Monday', "{{#invoke:Calendar|DayOfWeek|0001-01-01}}")
self:assertSameResult( 'Tuesday', "{{#invoke:Calendar|DayOfWeek|1929-10-29}}")
self:assertSameResult( 'Friday', "{{#invoke:Calendar|DayOfWeek|1866-05-11}}")
self:assertSameResult( 'Friday', "{{#invoke:Calendar|DayOfWeek|1989-10-13}}")
self:assertSameResult( 'Friday', "{{#invoke:Calendar|DayOfWeek|1987-07-31}}")
self:assertSameResult( 'Friday', "{{#invoke:Calendar|DayOfWeek|1985-05-31}}")
self:assertSameResult( 'Friday', "{{#invoke:Calendar|DayOfWeek|1959-02-20}}")
self:assertSameResult( 'Friday', "{{#invoke:Calendar|DayOfWeek|1945-10-05}}")
self:assertSameResult( 'Friday', "{{#invoke:Calendar|DayOfWeek|1939-01-13}}")
end
function suite:test_Julian2Gregorian_function()
self:assertSameResult( '1917-11-07', "{{#invoke:Calendar|Julian2Gregorian|1917-10-25}}")
self:assertSameResult( '1582-10-15', "{{#invoke:Calendar|Julian2Gregorian|1582-10-05}}")
end
function suite:test_Gregorian2Julian_function()
self:assertSameResult( '1917-10-25', "{{#invoke:Calendar|Gregorian2Julian|1917-11-07}}")
self:assertSameResult( '1582-10-05', "{{#invoke:Calendar|Gregorian2Julian|1582-10-15}}")
end
function suite:test_GregorianDateValidator_function()
self:assertSameResult( 'date is valid', "{{#invoke:Calendar|valid_date|1917-11-07}}")
self:assertSameResult( 'date is not valid', "{{#invoke:Calendar|valid_date|1582-02-30}}")
self:assertSameResult( 'date is not valid', "{{#invoke:Calendar|valid_date|1857-04-31}}")
self:assertSameResult( 'date is not valid', "{{#invoke:Calendar|valid_date|2023-02-29}}")
self:assertSameResult( 'date is valid', "{{#invoke:Calendar|valid_date|2024-02-29}}")
self:assertSameResult( 'date is valid', "{{#invoke:Calendar|valid_date|29-02-2023}}") -- incorect format so do not flag as wrong date
end
function suite:test_calendar_math()
-- verify _date2jdn and _jdn2date are inversefunctions
local jdn_array = {0, 1e1, 3e1, 1e2, 3e2, 1e3, 3e3, 1e4, 3e4, 1e5, 3e5, 1e6, 2e6} -- set of arbitrary dates
for _, jdn in ipairs(jdn_array) do
self:assertEquals( jdn, p._date2jdn(p._jdn2date(jdn, 0), 0)) -- Julian dates
self:assertEquals( jdn, p._date2jdn(p._jdn2date(jdn, 1), 1)) -- Gregorian dates
end
end
return suite