پرش به محتوا

پودمان:Iranian calendar/library/آزمایشی

از ویکی‌پدیا، دانشنامهٔ آزاد
local myModule = require("Module:Iranian calendar/library/تمرین") -- the module to be tested
local str = require("Module:Iranian calendar/library/strings")
local ScribuntoUnit = require("Module:ScribuntoUnit")
local convert = require("Module:Numeral converter").convert
local suite = ScribuntoUnit:new()

function suite:testIsKabise()
	self:assertEquals(1, myModule.isKabise({year=1370}))
	self:assertEquals(0, myModule.isKabise({year=1377}))
end

function suite:testToGregorian()
	-- این‌ها جهت تست جداگانه مقادیر هستند
	--local output = myModule.toGregorian({1393,8,11})
	--self:assertEquals(2014, output.year)
	--self:assertEquals(11, output.month)
	--self:assertEquals(2, output.day)
	self:assertDeepEquals({year=2014,month=11,day=2}, myModule.toGregorian({1393,8,11}))
end

function suite:testCheckDate()
	self:assertEquals(true, myModule.checkDate({1393,8,11}))
	self:assertEquals(false, myModule.checkDate({1393,12,36}))
	self:assertEquals(false, myModule.checkDate({1393,13,11}))
end

function suite:testToJalali()
	-- این‌ها جهت تست جداگانه مقادیر هستند
	local output = myModule.toJalali({2014,11,2})
	--self:assertEquals(1393, output.year)
	--self:assertEquals(8, output.month)
	--self:assertEquals(11, output.day)
	self:assertDeepEquals({year=2014,month=11,day=2}, myModule.toGregorian({1393,8,11}))
end

function suite:testGetCurrentJalaliYear()
	self:assertEquals(mw.language.getContentLanguage():formatDate("xiY"), myModule.getCurrentJalaliYear())
	self:assertEquals(mw.getLanguage("en"):formatDate("xiY"), myModule.getCurrentJalaliYear({lang="en"}))
end

function suite:testGetCurrentJalaliMonth()
	self:assertEquals(mw.language.getContentLanguage():formatDate("xij"), myModule.getCurrentJalaliMonth())
	self:assertEquals(mw.getLanguage("en"):formatDate("xij"), myModule.getCurrentJalaliMonth({lang="en"}))
end

function suite:testGetCurrentJalaliMonth()
	self:assertEquals(mw.language.getContentLanguage():formatDate("xin"), myModule.getCurrentJalaliMonth())
	self:assertEquals(mw.getLanguage("en"):formatDate("xin"), myModule.getCurrentJalaliMonth({lang="en"}))
end

function suite:testGetCurrentJalaliDay()
	self:assertEquals(mw.language.getContentLanguage():formatDate("xij"), myModule.getCurrentJalaliDay())
	self:assertEquals(mw.getLanguage("en"):formatDate("xij"), myModule.getCurrentJalaliDay({lang="en"}))
end

function suite:testGetFormattedCurrentJalaliDate()
	--[[self:assertEquals(,myModule.getFormattedCurrentJalaliDate({format="%a %b %c %d %f %g %h %i %j %k %l %m %n %o %p %q %r %s %t %v %w %y %z"}))
	self:assertEquals(,myModule.getFormattedCurrentJalaliDate({format="%A %D %F %G %H %J %K %L %M %N %O %Q %S %V %W"}))]]--
	local a
	if os.date("!%p") == "am" then
		a = "ق.ظ"
	else
		a = "ب.ظ"
	end
	local daysWeek = {"یک‌شنبه", "دوشنبه", "سه‌شنبه", "چهارشنبه", "پنج‌شنبه", "جمعه", "شنبه"}
	self:assertEquals(a,myModule.getFormattedCurrentJalaliDate({format="%a"}))
	self:assertEquals("3",myModule.getFormattedCurrentJalaliDate({format="%b", lang="en"}))
	--self:assertEquals("",myModule.getFormattedCurrentJalaliDate({format="%c"}))
	self:assertEquals(mw.getContentLanguage():formatDate("xij"),myModule.getFormattedCurrentJalaliDate({format="%d"}))
	self:assertEquals("پاییز",myModule.getFormattedCurrentJalaliDate({format="%f"}))
	self:assertEquals(mw.getContentLanguage():formatDate("g", "+3 hours +30 minutes"),myModule.getFormattedCurrentJalaliDate({format="%g"}))
	self:assertEquals(mw.getContentLanguage():formatDate("h", "+3 hours +30 minutes"),myModule.getFormattedCurrentJalaliDate({format="%h"}))
	self:assertEquals(mw.getContentLanguage():formatDate("i", "+3 hours +30 minutes"),myModule.getFormattedCurrentJalaliDate({format="%i"}))
	self:assertEquals(mw.getContentLanguage():formatDate("xij", "+3 hours +30 minutes"),myModule.getFormattedCurrentJalaliDate({format="%j"}))
	--self:assertEquals("",myModule.getFormattedCurrentJalaliDate({format="%k"}))
	self:assertEquals(daysWeek[tonumber(mw.getLanguage("en"):formatDate("w", "+3 hours +30 minutes"))+1],myModule.getFormattedCurrentJalaliDate({format="%l"}))
	--self:assertEquals(mw.getContentLanguage():formatDate("xim", "+3 hours +30 minutes"),myModule.getFormattedCurrentJalaliDate({format="%m"})) -- OK but needs fixing this line
	self:assertEquals(mw.getContentLanguage():formatDate("xin", "+3 hours +30 minutes"),myModule.getFormattedCurrentJalaliDate({format="%n"}))
	self:assertEquals(mw.getContentLanguage():formatDate("xiY", "+3 hours +30 minutes"),myModule.getFormattedCurrentJalaliDate({format="%o"}))
end

return suite