Документация

Юнит-тесты для модуля Cycling race. Для запуска тестов перейдите на эту страницу (Очистить кэш).

local p = require('Module:UnitTests')
local wiki = string.match(mw.site.server, "%a+")
 
function p:test_firstValue()
--Q6242 is Marianne Vos
	--human?
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|firstValue|Q6242|P31|id}}','Q5') 
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|firstValue|Q6242|P31|numeric-id}}','5') 
--Q57084526 is Paris-Roubaix 2019, time
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|firstValue|Q57084526|P585|time}}','+2019-04-14T00:00:00Z') 
--Q30125049 is first stage of Tour de France 2019, stage order
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|firstValue|Q30125049|P1545}}','1') 
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|firstValue|Q30125049|P1545|value}}','1') 
end

function p:test_funcDate()
	if wiki=="fr" then
		--normal formatted date
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-04-14T00:00:00Z|long}}','14 avril 2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-04-14T00:00:00Z|small}}','14 avr.') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-04-14T00:00:00Z|onlyday}}','14') 
		
		--1st January
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-01T00:00:00Z|long}}','1 janvier 2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-01T00:00:00Z|small}}','1 janv.') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-01T00:00:00Z|onlyday}}','1') 	
		
		--31th December
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-12-31T00:00:00Z|long}}','31 décembre 2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-12-31T00:00:00Z|small}}','31 déc.') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-12-31T00:00:00Z|onlyday}}','31') 
		
		--insuffient precision, day
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-00T00:00:00Z|long}}','janvier 2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-00T00:00:00Z|small}}','janv.') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-00T00:00:00Z|onlyday}}','-') 
		
		--insuffient precision, month and day
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-00-00T00:00:00Z|long}}','2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-00-00T00:00:00Z|small}}','-') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-00-00T00:00:00Z|onlyday}}','-') 
	
	    --year mode
        self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-12-31T00:00:00Z|Y}}','2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-12-31T00:00:00Z|Y}}','2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-12-31T00:00:00Z|Y}}','2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-00T00:00:00Z|Y}}','2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-00T00:00:00Z|Y}}','2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-00T00:00:00Z|Y}}','2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-00-00T00:00:00Z|Y}}','2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-00-00T00:00:00Z|Y}}','2019')  
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-00-00T00:00:00Z|Y}}','2019') 
	elseif wiki=="ru" then
		--normal formatted date
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-04-14T00:00:00Z|long}}','14 апреля 2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-04-14T00:00:00Z|small}}','14 апр') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-04-14T00:00:00Z|onlyday}}','14') 
		
		--1st January
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-01T00:00:00Z|long}}','1 января 2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-01T00:00:00Z|small}}','1 янв') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-01T00:00:00Z|onlyday}}','1') 	
		
		--31th December
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-12-31T00:00:00Z|long}}','31 декабря 2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-12-31T00:00:00Z|small}}','31 дек') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-12-31T00:00:00Z|onlyday}}','31') 
		
		--insuffient precision, day
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-00T00:00:00Z|long}}','января 2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-00T00:00:00Z|small}}','янв') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-00T00:00:00Z|onlyday}}','-') 
		
		--insuffient precision, month and day
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-00-00T00:00:00Z|long}}','2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-00-00T00:00:00Z|small}}','-') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-00-00T00:00:00Z|onlyday}}','-') 		
	elseif wiki=="mk" then
		--normal formatted date
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-04-14T00:00:00Z|long}}','14 април 2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-04-14T00:00:00Z|small}}','14 апр') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-04-14T00:00:00Z|onlyday}}','14') 
		
		--1st January
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-01T00:00:00Z|long}}','1 јануари 2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-01T00:00:00Z|small}}','1 јан') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-01T00:00:00Z|onlyday}}','1') 	
		
		--31th December
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-12-31T00:00:00Z|long}}','31 декември 2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-12-31T00:00:00Z|small}}','31 дек') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-12-31T00:00:00Z|onlyday}}','31') 
		
		--insuffient precision, day
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-00T00:00:00Z|long}}','јануари 2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-00T00:00:00Z|small}}','јан') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-00T00:00:00Z|onlyday}}','-') 
		
		--insuffient precision, month and day
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-00-00T00:00:00Z|long}}','2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-00-00T00:00:00Z|small}}','-') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-00-00T00:00:00Z|onlyday}}','-') 		
	end
end

function p:get_Year()
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getYear|Q27538420}}','2017')
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getYear|Q21856726}}','2016') 
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getYear|Q57277611}}','2019') 
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getYear|Q16154106}}','2013') 
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getYear|}}','') 
end	   	

function p:test_getRiderLink()
	--Case Vlasov 
	if wiki == "fr" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q29262131|+2019-00-00T00:00:00Z}}','[[Aleksandr Vlasov (cyclisme)|Aleksandr Vlasov]]') 
	elseif wiki=="de" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q29262131|+2019-00-00T00:00:00Z}}','Alexander Wlassow') 		
	elseif wiki=="pl" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q29262131|+2019-00-00T00:00:00Z}}','[[Aleksandr Własow (kolarz)|Aleksandr Własow]]') 	
	elseif wiki=="ru" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q29262131|+2019-00-00T00:00:00Z}}','[[Власов, Александр Анатольевич|Александр Власов]]') 	
	end
	
	if wiki~="ru" and wiki~="mk" then
	--Q6242 is Marianne Vos
	-- simple case
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q6242|+2019-00-00T00:00:00Z}}','[[Marianne Vos|Marianne Vos]]') 
	-- future
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q6242|+2030-00-00T00:00:00Z}}','[[Marianne Vos|Marianne Vos]]') 
	--a man to change, Q220998=Tom Boonen
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q220998|+2019-00-00T00:00:00Z}}','[[Tom Boonen|Tom Boonen]]') 
	-- Lizzie Deignan / Armitstead Q254811
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q254811|+2010-00-00T00:00:00Z}}','[[Elizabeth Deignan|Lizzie Armitstead]]') 
	-- Lizzie Deignan / Armitstead Q254811
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q254811|+2019-00-00T00:00:00Z}}','[[Elizabeth Deignan|Lizzie Deignan]]') 
	-- Robert Millar Q711397
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q711397|+2010-00-00T00:00:00Z}}','[[Philippa York|Robert Millar]]') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q711397|+2019-00-00T00:00:00Z}}','[[Philippa York|Philippa York]]') 
	elseif wiki=="ru" then
	--Q6242 is Marianne Vos
	-- simple case
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q6242|+2019-00-00T00:00:00Z}}','[[Вос, Марианна|Марианна Вос]]') 
	-- future
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q6242|+2030-00-00T00:00:00Z}}','[[Вос, Марианна|Марианна Вос]]')		
		--a man to change, Q220998=Tom Boonen
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q220998|+2019-00-00T00:00:00Z}}','[[Бонен, Том|Том Бонен]]') 	
		-- Lizzie Deignan / Armitstead Q254811
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q254811|+2010-00-00T00:00:00Z}}','Лиззи Армитстед') 
		-- Lizzie Deignan / Armitstead Q254811
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q254811|+2019-00-00T00:00:00Z}}','Лиззи Дейгнан') 
		-- Robert Millar Q711397
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q711397|+2010-00-00T00:00:00Z}}','[[Йорк, Филиппа|Роберт Миллар]]') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q711397|+2019-00-00T00:00:00Z}}','[[Йорк, Филиппа|Филиппа Йорк]]') 
	elseif wiki=="mk" then
		--a man to change, Q220998=Tom Boonen
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q220998|+2019-00-00T00:00:00Z}}','[[Том Бонен|Том Бонен]]') 	
		-- Lizzie Deignan / Armitstead Q254811
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q254811|+2010-00-00T00:00:00Z}}','Лизи Армитстед') 
		-- Lizzie Deignan / Armitstead Q254811
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q254811|+2019-00-00T00:00:00Z}}','Лизи Армитстед')  --not implemented in MK
		-- Viatcheslav Kouznetsov Q2120951
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q711397|+2019-00-00T00:00:00Z}}','[[Вјачеслав Кузнецов (велосипедист)|Вјачеслав Кузнецов]]') 
	end
end

function p:test_getCountryName()
	if wiki=="fr" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryName|Q142}}','France')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryName|Q31}}','Belgique')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryName|Q148}}','Chine')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryName|Q30}}','États-Unis')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryName|Q29999}}','Pays-Bas')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryName|Q55}}','Pays-Bas')	
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryName|Q231}}','Région wallonne')
	elseif wiki=="ru" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryName|Q142}}','Франция')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryName|Q31}}','Бельгия')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryName|Q148}}','Китайская Народная Республика') --:/
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryName|Q30}}','США')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryName|Q29999}}','Королевство Нидерландов') --:/
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryName|Q55}}','Нидерланды')	
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryName|Q231}}','Валлония')		
	end
end

function p:test_uciCodeCountry()
	if wiki=="fr" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|uciCodeCountry|Q142}}',' <small>([[France|FRA]])</small> ')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|uciCodeCountry|Q31}}',' <small>([[Belgique|BEL]])</small> ')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|uciCodeCountry|Q148}}',' <small>([[Chine|CHN]])</small> ')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|uciCodeCountry|Q30}}',' <small>([[États-Unis|USA]])</small> ')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|uciCodeCountry|Q29999}}',' <small>([[Pays-Bas|NED]])</small> ')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|uciCodeCountry|Q55}}',' <small>([[Pays-Bas|NED]])</small> ')	
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|uciCodeCountry||Q231}}','')
	elseif wiki=="ru" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|uciCodeCountry|Q142}}',' <small>([[Франция|FRA]])</small> ')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|uciCodeCountry|Q31}}',' <small>([[Бельгия|BEL]])</small> ')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|uciCodeCountry|Q148}}',' <small>([[Китай|CHN]])</small> ')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|uciCodeCountry|Q30}}',' <small>([[Соединённые Штаты Америки|USA]])</small> ')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|uciCodeCountry|Q29999}}',' <small>([[Королевство Нидерландов|NED]])</small> ')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|uciCodeCountry|Q55}}',' <small>([[Нидерланды|NED]])</small> ')	
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|uciCodeCountry||Q231}}','')		
	end
end

function p:test_getTeam()
	--Thomas Voeckler is Q312273
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeam|Q312273|+2019-01-01T00:00:00Z}}','nil') 
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeam|Q312273|+2017-07-24T00:00:00Z}}','nil')  
	if wiki=="fr" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeam|Q312273|+2017-07-23T00:00:00Z}}','[[Équipe cycliste Total Direct Énergie|Direct Énergie]]') 
	end
end

function p:test_getTeamCodeCat()
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamCodeCat|Q28149995|+2020-01-01T00:00:00Z}}','DLT')
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamCodeCat|Q50999546|+2015-01-01T00:00:00Z}}','nil')
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamCodeCat|Q52108266|+2018-01-01T00:00:00Z}}','nil')
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamCodeCat|Q28149995|+2000-01-01T00:00:00Z}}','DLT')
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamCodeCat|Q50999546|+2000-01-01T00:00:00Z}}','nil')
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamCodeCat|Q52108266|+2000-01-01T00:00:00Z}}','nil')
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamCodeCat|Q50999546|+2000-01-01T00:00:00Z}}','nil')
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamCodeCat|Q50999546|+2020-01-01T00:00:00Z}}','MUL')
end

function p:test_getTeamCode()
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamCode|Q563737|+2020-01-01T00:00:00Z|}}','DLT')
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamCode|Q563737|+2018-01-01T00:00:00Z|}}','DLT')
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamCode|Q563737|+2016-01-01T00:00:00Z|}}','RBW')
end

function p:test_getStatementForTime()
	--Thomas Voeckler is Q312273
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStatementForTime|Q312273|P54|+2019-01-01T00:00:00Z}}','nil') 	
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStatementForTime|Q312273|P54|+2017-07-24T00:00:00Z}}','nil') 
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStatementForTime|Q312273|P54|+2017-07-23T00:00:00Z}}','Q195833')
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStatementForTime|Q312273|P54|+2017-01-01T00:00:00Z}}','Q195833') 
end

function p:test_getTeamLinkCat()
	if wiki=="fr" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamLinkCat|Q195833|+2019-01-01T00:00:00Z|false|false}}','[[Équipe cycliste Total Direct Énergie|Direct Énergie]]') 
    	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamLinkCat|Q58217971|+2019-01-01T00:00:00Z|false|false}}','[[Équipe cycliste Total Direct Énergie|Direct Énergie]]') 
    	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamLinkCat|Q58217971|+2019-01-01T00:00:00Z|false|true}}',"[[Saison 2019 de l'équipe cycliste Total Direct Énergie|Direct Énergie]]") 
	elseif wiki=="ru" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamLinkCat|Q195833|+2019-01-01T00:00:00Z|false|false}}','[[Total Direct Énergie|Direct Énergie]]') 
    	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamLinkCat|Q58217971|+2019-01-01T00:00:00Z|false|false}}','[[Total Direct Énergie|Direct Énergie]]') 
    	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamLinkCat|Q58217971|+2019-01-01T00:00:00Z|false|true}}',"[[Total Direct Énergie|Total Direct Énergie]]") 
	end
end

function p:test_seasonToTeamID()
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|seasonToTeamID|nil}}','nil') 
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|seasonToTeamID|Q58217971}}','Q195833') 
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|seasonToTeamID|Q195833}}','Q195833') 
end

function p:test_translate()
	if wiki=="fr" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|translate|startlist|1}}','Liste des participants') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|translate|func_prologue|1}}','Prologue') 
		--omission of the index
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|translate|func_prologue}}','Prologue') 
	elseif wiki=="ru" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|translate|startlist|1}}','Составы команд') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|translate|func_prologue|1}}','Пролог') 
		--omission of the index
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|translate|func_prologue}}','Пролог') 		
	end
end

function p:test_import()
	self:preprocess_equals('{{#invoke:Cycling race|test_import|class|1}}',"Q60669124") 
	self:preprocess_equals('{{#invoke:Cycling race|test_import|class_2x|1}}',"Q23005603") 
	self:preprocess_equals('{{#invoke:Cycling race|test_import|class_without2x|1}}',"Q23005601") 
	self:preprocess_equals('{{#invoke:Cycling race|test_import|class_sort|Q22231106}}','01') 
	self:preprocess_equals('{{#invoke:Cycling race|test_import|classes|Q22231107}}',"true") 
	self:preprocess_equals('{{#invoke:Cycling race|test_import|classes|Q123}}',"nil") 
	self:preprocess_equals('{{#invoke:Cycling race|test_import|bg_color_table|Q24257871}}',"FFFF99") 
	self:preprocess_equals('{{#invoke:Cycling race|test_import|bg_color_table|Q24257763}}',"FFC0CB") 
	self:preprocess_equals('{{#invoke:Cycling race|test_import|stages|1}}',"Q18131152") 
	
end

function p:test_raceLink()
	if wiki=="fr" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|raceLink|Q27538420}}',"[[Flèche wallonne féminine 2017]]") 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|raceLink|Q508838}}',"[[Flèche wallonne féminine]]") 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|raceLink|Q27431192}}',"[[UCI World Tour féminin 2017]]") 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|raceLink|Q576491}}',"[[Coupe de France de cyclisme sur route 1999|Coupe de France de cyclisme sur route]]") 	
	elseif wiki=="ru" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|raceLink|Q27538420}}',"2017 La Flèche Wallonne Féminine") 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|raceLink|Q508838}}',"Флеш Валонь (женский)") 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|raceLink|Q27431192}}',"2017 UCI Women's World Tour") 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|raceLink|Q576491}}',"[[Велошоссейный кубок Франции|Велошоссейный кубок Франции]]") 	
		
	end

end


function p:test_getMainRaceLink()
	if wiki=="fr" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getMainRaceLink|Q78663025|stage|Q98756410|nil|+2020-01-01T00:00:00Z}}',"1<sup>re</sup> étape du [[Tour d'Italie féminin 2020|Tour d'Italie]]")
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getMainRaceLink|Q78663025|2||nil|+2020-01-01T00:00:00Z}}',"[[Tour d'Italie féminin 2020|Tour d'Italie]]") 
    	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getMainRaceLink|Q27538420|1||nil|+2017-01-01T00:00:00Z}}',"[[Flèche wallonne féminine 2017|Flèche wallonne]]")
    	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getMainRaceLink|Q78663025|stage|Q98756410|victory|+2020-01-01T00:00:00Z}}',"1<sup>re</sup> étape du [[Tour d'Italie féminin 2020|Tour d'Italie]]")
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getMainRaceLink|Q78663025|2||victory|+2020-01-01T00:00:00Z}}',"Classement général, [[Tour d'Italie féminin 2020|Tour d'Italie]]") 
    	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getMainRaceLink|Q27538420|1||victory|+2017-01-01T00:00:00Z}}',"[[Flèche wallonne féminine 2017|Flèche wallonne]]") 
	elseif wiki=="ru" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getMainRaceLink|Q78663025|stage|Q98756410|nil|+2020-01-01T00:00:00Z}}',"[[Джиро д’Италия среди женщин|Джиро д'Италия]], 1-й этап")
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getMainRaceLink|Q78663025|2||nil|+2020-01-01T00:00:00Z}}',"[[Джиро д’Италия среди женщин|Джиро д'Италия]]") 
    	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getMainRaceLink|Q27538420|1||nil|+2017-01-01T00:00:00Z}}',"Флеш Валонь (женский)")
    	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getMainRaceLink|Q78663025|stage|Q98756410|victory|+2020-01-01T00:00:00Z}}',"[[Джиро д’Италия среди женщин|Джиро д'Италия]], 1-й этап")
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getMainRaceLink|Q78663025|2||victory|+2020-01-01T00:00:00Z}}',"[[Джиро д’Италия среди женщин|Джиро д'Италия]], генеральная классификация") 
    	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getMainRaceLink|Q27538420|1||victory|+2017-01-01T00:00:00Z}}',"Флеш Валонь (женский)") 
	end
end



function p:test_classLink()
	if wiki=="fr" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|classLink|Q22231110}}', "1.1")
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|classLink|Q23005601}}', "1.WWT")
	elseif wiki=="ru" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|classLink|Q22231110}}', "[[Система классификация гонок UCI|1.1]]")
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|classLink|Q23005601}}', "[[Система классификация гонок UCI|1.WWT]]")		
	elseif wiki=="da" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|classLink|Q22231110}}',"[[	UCI's løbskategorier|1.1]]") 
	end
end

function p:test_fn_getClassInfo()
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|fn_getClassInfo4|Q78663025|Q1526999}}',"Q1526999")	
	
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|fn_getClassInfo4|Q27538420|Q23005603}}',"Q23005603")
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|fn_getClassInfo4|Q27538420|Q508838}}',"Q508838")	
	--new method
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|fn_getClassInfo4|Q79137983|Q2912397}}',"Q2912397")
	
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|fn_getClassInfo1|Q78663025|Q1526999}}',"nada")	
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|fn_getClassInfo1|Q78663025|Q23005603}}',"2")	
		
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|fn_getClassInfo1|Q27538420|Q23005601}}',"1")
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|fn_getClassInfo1|Q27538420|Q508838}}',"nada")	
	--new method
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|fn_getClassInfo1|Q79137983|Q2912397}}',"1")	
	
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|fn_getClassInfo2|Q78663025|Q1526999}}',"")	
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|fn_getClassInfo2|Q78663025|Q23005603}}',"2.WWT")	
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|fn_getClassInfo2|Q27538420|Q23005601}}',"1.WWT")
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|fn_getClassInfo2|Q27538420|Q508838}}',"")	
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|fn_getClassInfo2|Q79137983|Q2912397}}',"1.WWT")		
end	

function p:test_getCountryBool()
	if wiki=="fr" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryBool|fr|ar}}',"false")	
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryBool|fr|}}',"false")	
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryBool|no|ar}}',"true")	
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryBool||}}',"true")	
	elseif wiki=="ru" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryBool|ru|ar}}',"false")	
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryBool|ru|}}',"false")	
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryBool|no|ar}}',"true")	
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryBool||}}',"true")		
	end
end
	
function p:test_WPlinkpure()
	if wiki=="fr" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|WPlinkpure|Q23005601}}',"1.WWT")
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|WPlinkpure|Q2062006}}',"[[Vieux Quaremont|Vieux Quaremont]]")
	elseif wiki=="ru" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|WPlinkpure|Q23005601}}',"1.WWT")
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|WPlinkpure|Q2062006}}',"Oude Kwaremont")
	end
end

function p:test_isHuman()
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|isHuman|Q23005601}}',"false")
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|isHuman|Q563737}}',"true")
end

function p:test_isCountry()
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|isCountry|Q23005601}}',"false")
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|isCountry|Q563737}}',"false")
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|isCountry|Q55}}',"true")
end

function p:test_commastage()
	if wiki=="fr" then
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|commaStage|Q22133414|Tour d'Italie féminin 2015}}","Prologue du ")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|commaStage|Q22133422|Tour d'Italie féminin 2015}}","1<sup>re</sup> étape du ")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|commaStage|Q51845286|Joe Martin Stage Race Women 2018}}","1<sup>re</sup> étape de la ")
	elseif wiki=="ru" then
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|commaStage|Q22133414|Tour d'Italie féminin 2015}}","")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|commaStage|Q22133422|Tour d'Italie féminin 2015}}","")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|commaStage|Q51845286|Joe Martin Stage Race Women 2018}}","")
	end
end

function p:test_number()
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|number|m|1|fr}}","1<sup>er</sup>")
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|number|f|1|fr}}","1<sup>re</sup>")
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|number|n|1|fr}}","1<sup>re</sup>")
    self:preprocess_equals("{{#invoke:Cycling race|testlocal|number|m|2|fr}}","2<sup>e</sup>")
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|number|f|2|fr}}","2<sup>e</sup>")
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|number|n|2|fr}}","2<sup>e</sup>")
end

function p:test_getGenderCode()
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getGenderCode|Q6242|}}","f")
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getGenderCode|Q220998|}}","m")
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getGenderCode|Q28829541|}}","")
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getGenderCode|Q6242|m}}","f")
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getGenderCode|Q220998|m}}","m")
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getGenderCode|Q28829541|m}}","m")	
end	


function p:test_classToCircuit()
	if wiki=="fr" then
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|classToCircuit1|Q23005601|Q27538420|1.WWT|false}}","[[UCI World Tour féminin|1.WWT]]")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|classToCircuit2|Q23005601|Q27538420|1.WWT|false}}","[[UCI World Tour féminin|UCI World Tour féminin]]")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|classToCircuit1|Q23005601|Q27538420|Jean|false}}","[[UCI World Tour féminin|Jean]]")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|classToCircuit2|Q23005601|Q27538420|Jean|false}}","[[UCI World Tour féminin|UCI World Tour féminin]]")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|classToCircuit1|Q22231106|Q27538420|1.UWT|false}}","[[UCI World Tour|1.UWT]]")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|classToCircuit2|Q22231106|Q27538420|1.UWT|false}}","[[UCI World Tour|UCI World Tour]]")
	elseif wiki=="ru" then
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|classToCircuit1|Q23005601|Q27538420|1.WWT|false}}","[[UCI World Tour féminin|1.WWT]]")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|classToCircuit2|Q23005601|Q27538420|1.WWT|false}}","UCI Women's World Tour")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|classToCircuit1|Q23005601|Q27538420|Jean|false}}","[[UCI World Tour féminin|Jean]]")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|classToCircuit2|Q23005601|Q27538420|Jean|false}}","UCI Women's World Tour")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|classToCircuit1|Q22231106|Q27538420|1.UWT|false}}","[[Мировой тур UCI|1.UWT]]")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|classToCircuit2|Q22231106|Q27538420|1.UWT|false}}","[[Мировой тур UCI|Мировой тур UCI]]")
	end
end

function p:test_calculateTime()
	if wiki=="fr" then
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|calculateTime|1}}","1 s")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|calculateTime|59}}","59 s")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|calculateTime|60}}","1 min 00 s")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|calculateTime|61}}","1 min 01 s")	
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|calculateTime|3599}}","59 min 59 s")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|calculateTime|3600}}","1 h 00 min 00 s")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|calculateTime|3601}}","1 h 00 min 01 s")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|calculateTime|7199}}","1 h 59 min 59 s")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|calculateTime|7200}}","2 h 00 min 00 s")
	elseif wiki=="ru" then
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|calculateTime|1}}","1")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|calculateTime|59}}","59")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|calculateTime|60}}","1' 00")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|calculateTime|61}}","1' 01")	
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|calculateTime|3599}}","59' 59")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|calculateTime|3600}}","1ч 00' 00")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|calculateTime|3601}}","1ч 00' 01")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|calculateTime|7199}}","1ч 59' 59")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|calculateTime|7200}}","2ч 00' 00")
		
	end
end	

function p:test_getClass()
	if wiki=="fr" then
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|getClass2|Q508838}}","[[UCI World Tour féminin|UCI World Tour féminin]]")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|getClass1|Q508838}}","CDM <small>(1999-2015)</small><br>[[UCI World Tour féminin|1.WWT]] <small>(2016-)</small>")
	elseif wiki=="ru" then
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|getClass2|Q508838}}","UCI Women's World Tour")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|getClass1|Q508838}}","CDM <small>(1999-2015)</small><br>[[UCI Women's World Tour|1.WWT]] <small>(2016-)</small>")
	end
end

function p:test_infoGetPlace()
	if wiki=="fr" then
	--	self:preprocess_equals("{{#invoke:Cycling race|testlocal|infoGetPlace|Q508838|+2020-01-01T00:00:00Z|false}}",'Belgique') -- +flag
	end	
end

function p:test_getFormerNames()
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getFormerNames1|Q1572063}}","1998-2010")	
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getFormerNames2|Q1572063}}","Holland Ladies Tour")
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getFormerNames1|Q508838}}","")	
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getFormerNames2|Q508838}}","")
	if wiki=="fr" then
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|getFormerNames2|Q16637287}}","")
	elseif wiki=="ru" then
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|getFormerNames2|Q16637287}}","Дружба народов Северного Кавказа")
	end
end

function p:test_getType()
	if wiki=="fr" then
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|getType|Q1572063}}","[[Course à étapes|Course à étapes]]")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|getType|Q508838}}","[[Cyclisme_sur_route#Épreuve_d'un_jour|Course d'un jour]]")	
    end
end

function p:test_compareDate()
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|compareDate|+2020-01-01T00:00:00Z}}","false")
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|compareDate|+2120-01-01T00:00:00Z}}","true")
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|compareDate|+2020-00-00T00:00:00Z}}","false")
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|compareDate|+2120-00-00T00:00:00Z}}","true")
end

function p:test_officialSite()
	if wiki=="fr" then
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|officialSite|Q508838}}","[https://www.la-fleche-wallonne-femmes.be/en/ Site officiel]")
	elseif wiki=="ru" then
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|officialSite|Q508838}}","[https://www.la-fleche-wallonne-femmes.be/en/ Official site]")
    end
end


return p