Home
Random
Recent changes
Special pages
Community portal
Preferences
About Stockhub
Disclaimers
Search
User menu
Talk
Contributions
Create account
Log in
Editing
Module:Current events monthly archive/testcases/sandbox
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
-- Unit tests for [[Module:Current events monthly archive]]. -- View [[Module talk:Current events monthly archive/testcases]] to run tests. -- While editing, preview this against [[Module talk:Current events monthly archive/testcases]] -- We are just going to test the date info, and assume that all our argument- -- checking code is correct, so make that clear here. local getDateInfo = require('Module:Current events monthly archive/sandbox').getDateInfo local suite = require('Module:ScribuntoUnit'):new() -- Test data local testData = { { -- Normal month and year date = { year = 2011, month = 9, }, results = { year = 2011, monthNumber = 9, date = '2011-09-01', monthNumberZeroPadded = '09', monthName = 'September', monthOrdinal = 'ninth', daysInMonth = 30, firstDayOfMonth = 'Thursday', lastDayOfMonth = 'Friday', beVerb = 'was', leapDesc = 'common', decadeNote = '', moonNote = '', }, }, -- Last month of year { date = { year = 2011, month = 12, }, results = { year = 2011, monthNumber = 12, date = '2011-12-01', monthNumberZeroPadded = '12', monthName = 'December', monthOrdinal = 'twelfth and final', daysInMonth = 31, }, }, -- Unusual month (February) { date = { year = 2011, month = 2, }, results = { year = 2011, monthNumber = 2, date = '2011-02-01', monthNumberZeroPadded = '02', monthName = 'February', monthOrdinal = 'second', daysInMonth = 28, firstDayOfMonth = 'Tuesday', lastDayOfMonth = 'Monday', beVerb = 'was', leapDesc = 'common', decadeNote = '', moonNote = '', }, }, -- Leap year { date = { year = 1996, month = 2, }, results = { year = 1996, monthNumber = 2, date = '1996-02-01', monthNumberZeroPadded = '02', monthName = 'February', monthOrdinal = 'second', daysInMonth = 29, leapDesc = 'leap', decadeNote = '', moonNote = '', }, }, -- Another leap year { date = { year = 2004, month = 1, }, results = { year = 2004, monthNumber = 1, date = '2004-01-01', monthNumberZeroPadded = '01', monthName = 'January', monthOrdinal = 'first', daysInMonth = 31, leapDesc = 'leap', decadeNote = '', moonNote = '', }, }, -- Century leap year, start of decade { date = { year = 2000, month = 1, }, results = { year = 2000, monthNumber = 1, leapDesc = 'century leap', decadeNote = 'It was the first month of the [[2000s]] decade.', moonNote = '', }, }, -- Start of decade { date = { year = 2010, month = 1, }, results = { year = 2010, monthNumber = 1, decadeNote = 'It was the first month of the [[2010s]] decade.', }, }, -- End of decade { date = { year = 2009, month = 12, }, results = { year = 2009, monthNumber = 12, decadeNote = 'It was the last month of the [[2000s]] decade.', }, }, -- Start of century { date = { year = 1901, month = 1, }, results = { year = 1901, monthNumber = 1, decadeNote = 'It was the first month of the [[20th century]].', }, }, -- End of century { date = { year = 1900, month = 12, }, results = { year = 1900, monthNumber = 12, decadeNote = 'It was the last month of the [[19th century]].', }, }, -- Start of millennium { date = { year = 2001, month = 1, }, results = { year = 2001, monthNumber = 1, decadeNote = 'It was the first month of the [[3rd millennium]] and the [[21st century]].', }, }, -- End of millennium { date = { year = 2000, month = 12, }, results = { year = 2000, monthNumber = 12, decadeNote = 'It was the last month of the [[2nd millennium]] and the [[20th century]].', }, }, -- Month with no full moon { date = { year = 1999, month = 2, }, results = { year = 1999, monthNumber = 2, moonNote = 'This month had no full moon.', }, }, -- Another month with no full moon { date = { year = 1961, month = 2, }, results = { year = 1961, monthNumber = 2, moonNote = 'This month had no full moon.', }, }, } for _, dateData in ipairs(testData) do local year = dateData.date.year local month = dateData.date.month for field, value in pairs(dateData.results) do local funcName = string.format( 'test_%04d_%02d_%s', year, month, field ) suite[funcName] = function (self) -- We could have got the date info once for each date, -- but doing it once for each field ensures that our -- tests don't depend on any state changes made by -- previous tests. This makes the tests less efficient, -- but probably not enough to make much actual -- difference. local dateInfo = getDateInfo(year, month) self:assertEquals(value, dateInfo[field]) end end end return suite
Summary:
Please note that all contributions to Stockhub may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Stockhub:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Template used on this page:
Module:Current events monthly archive/testcases/sandbox/doc
(
edit
)