Module:Complex date/testcases1

Documentation for this module may be created at Module:Complex date/testcases1/doc

Code

local p = require('Module:UnitTests')

function p:test_complex_date_inputs()
	testLang = {'fa', 'fr','ja','mk','nl','it','no','fi','cs','de','en','pl','qu','ru','sl','sv','vi','et','gl','nds','ro'}
	for i=1,#testLang,1 do
		lang = testLang[i]
		self:preprocess_equals_preprocess_many(
		'{{#invoke:Complex date|complex_date|','|lang='.. lang ..'}}', 
		'{{Other date/old|','|lang='.. lang ..'}}', {
			{'between|1999|2000'},
			{'-|1999|2000'},
			{'julian|1999|2000'},
			{'islamic|1999|2000'},
			{'or|1999|2000'},
			{'&|1999|2000'},
			{'before|1999-05'},
			{'after|2000'},
			{'by|2000'},
			{'from|2000-06-06'},
			{'decade|1990'},
			{'century|19'},
			{'spring|1999'},
			{'summer|1999'},
			{'fall|1999'},
			{'winter|1999'},
			{'beginning|1999-06'},
			{'middle|1999'},
			{'end|1999'},
			{'1half|1999'},
			{'2half|1999-03'},
			{'BC|1999'},
			{'AD|1999'},
			{'circa|1999'},		
			{'circa|1999|2001'},		
			--{'conj=between|adj1=circa|date1=1999|adj2=circa|date2=2000','circa|1999|2000'},		
			--{'conj=and|adj1=late|date1=1999|adj2=early|date2=2000','year turn|2000'},		
		})
	end

		self:preprocess_equals_preprocess_many(
		'{{#invoke:Complex date|complex_date|','|lang=el}}', 
		'{{Other date/old|','|lang=el}}', {
			{'between|1999|2000'},
			{'-|1999|2000'},
			{'julian|1999|2000'},
			{'islamic|1999|2000'},
			{'or|1999|2000'},
			{'&|1999|2000'},
			{'before|1999-05'},
			{'after|2000'},
			{'by|2000'},
			{'from|2000-06-06'},
			{'decade|1990'},
			{'century|19'},
			{'beginning|1999-06'},
			{'middle|1999'},
			{'end|1999'},
			{'1half|1999'},
			{'2half|1999-03'},
			{'BC|1999'},
			{'AD|1999'},
			{'circa|1999'},		
			{'circa|1999|2001'},		
		})

		self:preprocess_equals_preprocess_many(
		'{{#invoke:Complex date|complex_date|','|lang=ar}}', 
		'{{Other date/old|','|lang=ar}}', {
			{'between|1999|2000'},
			{'-|1999|2000'},
			{'julian|1999|2000'},
			{'islamic|1999|2000'},
			{'or|1999|2000'},
			{'&|1999|2000'},
			{'before|1999-05'},
			{'after|2000'},
			{'by|2000'},
			{'from|2000-06-06'},
			{'decade|1990'},
			{'beginning|1999-06'},
			{'middle|1999'},
			{'end|1999'},
			{'1half|1999'},
			{'2half|1999-03'},
			{'BC|1999'},
			{'AD|1999'},
			{'circa|1999'},		
			{'circa|1999|2001'},		
		})

	
	testLang = {'ca','da','pt','ml','es','he','hu','uk'}
	for i=1,#testLang,1 do
		lang = testLang[i]
		self:preprocess_equals_preprocess_many(
		'{{#invoke:Complex date|complex_date|','|lang='.. lang ..'}}', 
		'{{Other date/old|','|lang='.. lang ..'}}', {
			{'between|1999|2000'},
			{'-|1999|2000'},
			{'islamic|1999|2000'},
			{'or|1999|2000'},
			{'&|1999|2000'},
			{'before|1999-05'},
			{'after|2000'},
			{'century|19'},
			{'spring|1999'},
			{'summer|1999'},
			{'fall|1999'},
			{'winter|1999'},
			{'beginning|1999-06'},
			{'middle|1999'},
			{'end|1999'},
			{'1half|1999'},
			{'2half|1999-03'},
			{'BC|1999'},
			{'AD|1999'},
		})
	end
end

function p:test_complex_date_quaters()
	testLang = {'es','uk','no','fa','fi','cs','de','en','fr','pl','qu','ru','sl','sv','vi'}
	for i=1,#testLang,1 do
		lang = testLang[i]
		self:preprocess_equals_preprocess_many(
		'{{#invoke:Complex date|complex_date|','|lang='.. lang ..'}}', 
		'{{Other date/old|','|lang='.. lang ..'}}', {
			{'1quarter|1999'},
			{'2quarter|1999-01'},
			{'3quarter|1999'},
			{'4quarter|1999-02'},	
		})
	end
end

function p:test_complex_date_turn()
	testLang = {'fi','cs','de','en','fr','pl','qu','ru','sl','sv','vi'}
	for i=1,#testLang,1 do
		lang = testLang[i]
		self:preprocess_equals_preprocess_many(
		'{{#invoke:Complex date|complex_date|','|lang='.. lang ..'}}', 
		'{{Other date/old|','|lang='.. lang ..'}}', {
			{'turn of the century|19'},
			{'turn of the century|3|era=BC'},
			{'turn of the decade|1990'},
			{'turn of the decade|190|era=BC'},
			{'turn of the year|1999'},		
			{'turn of the year|98|era=BC'},		
		})
	end
end

function p:test_complex_date_oddballs()
	self:preprocess_equals_preprocess_many(
	'{{#invoke:Complex date|complex_date|','}}', 
	'{{Other date/old|','}}', {
			{'between|1999|2000|lang=hi'},
			{'between|1999|2000|lang=vec'},
			{'between|1999|2000|lang=hr'},
			{'-|1999|2000|lang=hr'},
			{'-|1999|2000|lang=zh'},
			{'-|1999|2000|lang=zh-tw'},
			{'or|1999|2000|lang=zh'},
			{'before|1999-05|lang=bg'},
			{'before|1999-05|lang=hr'},
			{'before|1999-05|lang=zh'},
			{'after|2000|lang=hr'},
			{'after|2000|lang=zh'},
			{'after|2000|lang=zh-tw'},
			{'from|2000-06-06|lang=hr'},
			{'from|2000-06-06|lang=ml'},
			{'from|2000-06-06|lang=he'},
			{'from|2000-06-06|lang=uk'},
			{'by|2000|lang=ca'},
			{'by|2000|lang=da'},
			{'by|2000|lang=pt'},
			{'by|2000|lang=ml'},
			{'by|2000|lang=he'},
			{'by|2000|lang=uk'},
			{'julian|1999|2000|lang=ca'},
			{'julian|1999|2000|lang=da'},
			{'julian|1999|2000|lang=pt'},
			{'julian|1999|2000|lang=ml'},
			{'julian|1999|2000|lang=es'},
			{'julian|1999|2000|lang=hu'},
			{'julian|1999|2000|lang=uk'},
			{'decade|1990|lang=hr'},
			{'decade|1990|lang=zh'},
			{'decade|1990|lang=ca'},
			{'decade|1990|lang=da'},
			{'decade|1990|lang=pt'},
			{'decade|1990|lang=ml'},
			{'decade|1990|lang=es'},
			{'decade|1990|lang=hu'},
			{'decade|1990|lang=uk'},
			{'century|19|lang=la'},
			{'century|19|lang=zh-hant'},
			{'century|19|lang=hr'},
			{'century|19|lang=zh'},
			{'circa|1999|lang=zh-hant'},		
			{'circa|1999|2001|lang=zh-hant'},		
			{'circa|1999|lang=hr'},		
			{'circa|1999|2001|lang=hr'},		
			{'circa|1999|lang=zh'},		
			{'circa|1999|2001|lang=zh'},		
			{'circa|1999|lang=ca'},		
			{'circa|1999|2001|lang=ca'},		
			{'circa|1999|lang=da'},		
			{'circa|1999|2001|lang=da'},		
			{'circa|1999|lang=pt'},		
			{'circa|1999|2001|lang=pt'},				
			{'circa|1999|lang=es'},		
			{'circa|1999|2001|lang=es'},		
			{'circa|1999|lang=hu'},		
			{'circa|1999|2001|lang=hu'},		
			{'circa|1999|lang=he'},		
			{'circa|1999|2001|lang=he'},				
			{'millennium|2|lang=la'},
			{'millennium|2|lang=zh'},
			{'millennium|2|lang=it'},
			{'millennium|2|lang=es'},
			{'millennium|2|lang=uk'},
			{'millennium|2|lang=no'},
			{'millennium|2|lang=fa'},
			{'millennium|2|lang=cs'},
			{'millennium|2|lang=de'},
			{'millennium|2|lang=en'},
			{'millennium|2|lang=fr'},
			{'millennium|2|lang=pl'},
			{'millennium|2|lang=qu'},
			{'millennium|2|lang=ru'},
			{'millennium|2|lang=sl'},
			{'millennium|2|lang=sv'},
			{'millennium|2|lang=vi'},
			{'turn of the century|19|lang=uk'},
			{'turn of the century|3|era=BC|lang=uk'},
	})
end

function p:test_complex_date_date_unknown()
	testLang = {'ca','cs','de','el','en','es','fa','fi','fr','it','la','ml','mk','nl','pl','qu','ru','sl','sv','vi'}
	for i=1,#testLang,1 do
		lang = testLang[i]
		self:preprocess_equals_preprocess_many(
		'{{#invoke:Complex date|complex_date|','|lang='.. lang ..'}}', 
		'{{Other date/old|','|lang='.. lang ..'}}', {
			{'unknown'},
			{'year unknown'},
			})
	end
 
end

function p:test_complex_date_era()
	testLang = {'bn','ca','cs','de','el','en','es','fa','fi','fr','it','ja','mk','ml','no','pl','ru','sl','sv','vi','zh'}
	for i=1,#testLang,1 do
		lang = testLang[i]
		self:preprocess_equals_preprocess_many(
		'{{#invoke:Complex date|complex_date|','|lang='.. lang ..'}}', 
		'{{Other date/old|','|lang='.. lang ..'}}', {
			{'BP|900'},
			{'AD|123'},
			{'BC|456'},
			})
	end
 
	self:preprocess_equals_preprocess_many(
		'{{#invoke:Complex date|complex_date|','}}', 
		'{{Other date/old|','}}', {
		   {'AD|456|lang=gl'},
		   {'AD|456|lang=he'},
		   {'AD|456|lang=hu'},
		   {'AD|456|lang=nn'},
		   {'AD|456|lang=ro'},
		   {'BC|567|lang=nds'},
		   {'BC|567|lang=ar'},
		   {'BC|567|lang=gl'},
		   {'BC|567|lang=he'},
		   {'BC|567|lang=hu'},
		   {'BC|567|lang=nl'},
		   {'BC|567|lang=nn'},
		   {'BC|567|lang=ro'},
		   {'BP|789|lang=be'},
		   {'BP|789|lang=et'},
		   {'BP|789|lang=lv'},
		   {'BP|789|lang=pt'},
		   {'BP|789|lang=sk'},
		   {'BP|789|lang=sr'},
		   {'BP|789|lang=uk'},
		   {'BP|789|lang=ar'},
		   {'BP|789|lang=nl'},
		   {'AH|278|lang=bn'},
		   {'AH|278|lang=en'},
		   {'AH|278|lang=fa'},
		   {'AH|278|lang=fr'},
		   {'AH|278|lang=ja'},
		   {'AH|278|lang=pl'},
		   {'AH|278|lang=ru'},
		   {'AH|278|lang=sv'},
		   {'AH|278|lang=vi'},
		})
end

return p