Hopp til innhold

Modul:Cycling race/Test

Fra Wikipedia, den frie encyklopedi
Sideversjon per 5. feb. 2024 kl. 21:00 av Tholme (diskusjon | bidrag) (fra frwiki)
(diff) ← Eldre sideversjon | Nåværende sideversjon (diff) | Nyere sideversjon → (diff)
Moduldokumentasjon

Utilisation

[rediger kilde]

Le module Cycling race est un programme codé en Lua. Il n'accepte que les données de Wikidata. Il est une simple copie de sa version sur Wikidata Module:Cycling race. Toute amélioration du module doit donc se faire sur Wikidata et le code doit être recopié sur toutes les versions linguistiques de Wikipédia qui l'utilisent.

Fonctions

[rediger kilde]

Toutes les fonctions peuvent être appelée par les modèles en anglais, "{{Cycling race/" +Fonction dans le code+"}}". Pour rendre l'utilisation plus facile d'accès, les noms des modèles ont été traduits en français.

Nom complet Fonction dans le code Modèle (FR) Description Exemple
Fonctions pour une Cycling race
Infobox raceinfobox Affiche l'infobox de la course {{Cycling race/raceinfobox|Q1578389}}
ou
{{Cycling race/courseinfobox|Q1578389}}
Liste des vainqueurs listofwinners Affiche le palmarès d'une course {{Cycling race/listofwinners|Q15043657}}
ou
{{Cycling race/listedesvainqueurs|Q15043657}}
Liste des vainqueurs (pour les championnats) listofwinnersChamp Affiche le palmarès d'un championnat (sans les drapeaux) {{Cycling race/listedesvainqueurschamp|Q15043657}}
Liste des vainqueurs à partir d'une année donnée (pour les championnats) listofwinnersChampsecondpart Affiche le palmarès d'un championnat à partir d'une année donnée (sans les drapeaux), évite de surcharger le serveur {{Cycling race/listedesvainqueurschampdeuxiemepartie|Q30577837|2018}}
Liste des vainqueurs du classement par points listofpointswinners Affiche le palmarès d'une course {{Cycling race/listedesvainqueurspoints|Q15043657}}
Liste des vainqueurs du classement de la montagne listofmountainwinners Affiche le palmarès d'une course {{Cycling race/listedesvainqueursmontagne|Q15043657}}
Liste des vainqueurs du classement du meilleur jeune listofyoungwinners Affiche le palmarès d'une course {{Cycling race/listedesvainqueursjeune|Q15043657}}
Fonctions pour une équipe cycliste
Infobox teaminfobox Affiche l'infobox d'une équipe {{Cycling race/equipeinfobox|Q1757136}}
Infobox teamseasoninfobox Affiche l'infobox d'une saison d'une équipe {{Cycling race/saisonequipeinfobox|Q104525546}}
Effectif teamroster Affiche l'effectif d'une équipe pour une saison donnéee {{Cycling race/effectif|Q21968189}}
Effectif actuel lastteamroster Affiche l'effectif d'une équipe pour la saison actuelle {{Cycling race/effectifactuel|Q2651858}}
Victoires victories Affiche les victoires d'une équipe {{Cycling race/victoires|Q27891882}}
Classement UCI UCIclassification Affiche le classement UCI des différents coureurs de l'équipe {{Cycling race/classementUCI|Q27891882}}
Classement des coureurs dans une compétition teamriderCompetitionranking Affiche le classement des coureurs dans une compétition donnée {{Cycling race/classementcoureurscompetition|Q104525546|WWT}}
Classement équipe teamranking Affiche un tableau avec les classements d'une équipe dans une compétition {{Cycling race/classementequipe|Q2651858|women}}
Fonctions pour les éditions d'une Cycling race
Infobox infobox Affiche l'infobox pour une Cycling race (une édition) {{Cycling race/infobox|Q28859163}}
Liste des étapes listofstages Affiche un tableau listant les étapes {{Cycling race/listedesetapes|Q18589873}}
Evolution des classements listofstagesclassification Affiche un tableau listant les leaders des classements {{Cycling race/evolutiondesclassements|Q18589873}}
Liste des équipes listofteams Liste les équipes participant à une course {{Cycling race/listedesequipes|Q20872500}}
Liste des partants startlist Liste des partants à une course {{Cycling race/listedespartants|Q20872500}}
Liste des partants tableau startlisttable Liste des partants à une course sous forme de liste {{Cycling race/listedespartantstableau|Q20872500}}
Classement général generalclassification Affiche le classement général de la course ou étape {{Cycling race/classementgeneral|Q21934629}}
Classement général par points generalclassificationpoint Affiche le classement général par points de la course ou étape {{Cycling race/classementgeneralpoint|Q21934629}}
Classement étape stageclassification Affiche le classement de l'étape {{Cycling race/classementetape|Q21934629}}
Classement clm par équipes teamtimetrialclassification Affiche le classement d'une étape en clm par équipes (attention, il existe aussi la fonction pour l'affichage du classement général d'un clm par équipes) {{Cycling race/classementclmparequipes|Q26209129}}
Classement par points pointsclassification Affiche le classement par points, de la course ou de l'étape {{Cycling race/classementparpoints|Q20882755}}
Classement par équipes au temps teamsclassificationbytime Affiche le classement par équipes au temps {{Cycling race/classementparequipesautemps|Q20882755}}
Classement par équipes aux points teamsclassificationbypoints Affiche le classement par équipes aux points {{Cycling race/classementparequipesauxpoints|Q20882755}}
Classement de la montagne mountainsclassification Affiche le classement de la montagne {{Cycling race/classementdelamontagne|Q20882755}}
Classement des sprints sprintsclassification Affiche le classement des sprints {{Cycling race/classementdessprints|Q20882755}}
Classement du meilleur jeune bestyoungclassification Affiche le classement du meilleur jeune (au temps) {{Cycling race/classementdumeilleurjeune|Q20882755}}
Classement du meilleur jeune par points bestyoungclassificationbypoints Affiche le classement du meilleur jeune par points {{Cycling race/classementdumeilleurjeuneparpoints|Q20882755}}
Classement du combiné combinationclassification Affiche le classement du combiné {{Cycling race/classementducombine|Q20882755}}
Classement de la combativité combativeclassification Affiche le classement de la combativité {{Cycling race/classementdelacombativite|Q20882755}}
Classement par points personnalisé custompointsclassification Affiche un classement par points, de la course ou de l'étape {{Cycling race/classementparpointsperso|Q42158490|propriété=P3494|titre=Classement cyclamen}}
Classement au temps personnalisé customtimeclassification Affiche un classement au temps, de la course ou de l'étape {{Cycling race/classementparpointsperso|Q42158490|propriété=P4323|titre=Classement du meilleur amateur}}
Fonctions pour les calendriers
Calendrier calendar Affiche le calendrier et les vainqueurs d'une compétition {{Cycling race/calendrier|women|2018}}
Calendrier personalisé calendarcustom Affiche le calendrier et les vainqueurs d'une compétition, affichage personnalisé {{Cycling race/calendrierperso|Q47034891|podium=1|classe=1}}
Championnats nationaux nationalchampionships Affiche la liste des championnats nationaux (féminins) pour une année donnée {{Cycling race/championnatsnationaux|2018}}
Infobox pour les championnats champinfobox Affiche l'infobox d'un championnats {{Cycling race/championnatinfobox|Q60967591}}
Infobox pour les compétitions, calendriers ou les challenges seasoninfobox Affiche l'infobox d'une compétition {{Cycling race/competitioninfobox|Q2395083}}
Fonctions pour les étapes d'une Cycling race
Infobox étape stageinfobox Affiche l'infobox d'étape cycliste {{Cycling race/infoboxetape|Q265672}}
Fonctions pour les coureurs
Infobox riderinfobox Affiche l'infobox d'un coureur {{Cycling race/coureurinfobox}|Q40853827}}
Classement coureur riderranking Affiche un tableau avec les classements UCI du coureur {{Cycling race/classementcoureur}|Q40853827}}

Mal:Projet Scribunto


Catégorie:Module en langage Lua


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|onlyyear}}','2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-12-31T00:00:00Z|onlyyear}}','2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-12-31T00:00:00Z|onlyyear}}','2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-00T00:00:00Z|onlyyear}}','2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-00T00:00:00Z|onlyyear}}','2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-01-00T00:00:00Z|onlyyear}}','2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-00-00T00:00:00Z|onlyyear}}','2019') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-00-00T00:00:00Z|onlyyear}}','2019')  
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDate|+2019-00-00T00:00:00Z|onlyyear}}','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:test_funcDateFigure()
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDateFigure|+2019-00-00T00:00:00Z|Y}}','2019') 
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDateFigure|+2019-00-00T00:00:00Z|m}}','2019') 
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDateFigure|+2019-01-00T00:00:00Z|Y}}','2019') 		
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDateFigure|+2019-01-00T00:00:00Z|m}}','1.2019')
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDateFigure|+2019-02-01T00:00:00Z|m}}','2.2019')
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|funcDateFigure|+2019-12-01T00:00:00Z|m}}','12.2019')
end

function p:test_getPeriodSub()
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getPeriodSub|+2019-00-00T00:00:00Z|+2019-00-00T00:00:00Z|true}}','(2019)') 
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getPeriodSub|+2019-00-00T00:00:00Z|+2020-00-00T00:00:00Z|true}}','(2019-2020)') 
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getPeriodSub|+2019-01-01T00:00:00Z|+2019-01-02T00:00:00Z|true}}','(2019-1.2019)') 
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getPeriodSub|+2019-01-01T00:00:00Z|+2019-02-02T00:00:00Z|true}}','(2019-2.2019)')
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getPeriodSub|+2019-01-01T00:00:00Z|+2020-01-01T00:00:00Z|true}}','(2019-1.2020)') 
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getPeriodSub|+2019-01-01T00:00:00Z|+2019-12-31T00:00:00Z|true}}','(2019)')
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getPeriodSub|+2019-07-05T00:00:00Z|+2019-07-14T00:00:00Z|true}}','(7.2019)') 
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getPeriodSub|+2019-07-05T00:00:00Z|+2020-07-14T00:00:00Z|true}}','(7.2019-7.2020)') 
end

function p:test_getStartEndTime()
	if wiki=="fr" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStartEndTime1|+2019-01-01T00:00:00Z|+2019-01-02T00:00:00Z|long}}','1') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStartEndTime1|+2019-01-01T00:00:00Z|+2019-02-02T00:00:00Z|long}}','1 janvier')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStartEndTime1|+2019-01-01T00:00:00Z|+2019-01-01T00:00:00Z|long}}','1') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStartEndTime1|+2019-07-05T00:00:00Z|+2019-07-14T00:00:00Z|long}}','5') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStartEndTime1|+2019-07-05T00:00:00Z|+2020-07-14T00:00:00Z|long}}','5 juillet 2019') 
		
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStartEndTime2|+2019-01-01T00:00:00Z|+2019-01-02T00:00:00Z|long}}','2 janvier') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStartEndTime2|+2019-01-01T00:00:00Z|+2019-02-02T00:00:00Z|long}}','2 février')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStartEndTime2|+2019-01-01T00:00:00Z|+2019-01-01T00:00:00Z|long}}','1 janvier') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStartEndTime2|+2019-07-05T00:00:00Z|+2019-07-14T00:00:00Z|long}}','14 juillet') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStartEndTime2|+2019-07-05T00:00:00Z|+2020-07-14T00:00:00Z|long}}','14 juillet 2020') 
		
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStartEndTime1|+2019-01-01T00:00:00Z|+2019-01-02T00:00:00Z|small}}','1') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStartEndTime1|+2019-01-01T00:00:00Z|+2019-02-02T00:00:00Z|small}}','1 janv.')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStartEndTime1|+2019-01-01T00:00:00Z|+2019-01-01T00:00:00Z|small}}','1') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStartEndTime1|+2019-07-05T00:00:00Z|+2019-07-14T00:00:00Z|small}}','5') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStartEndTime1|+2019-07-05T00:00:00Z|+2020-07-14T00:00:00Z|small}}','5 juill. 2019') 
		
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStartEndTime2|+2019-01-01T00:00:00Z|+2019-01-02T00:00:00Z|small}}','2 janv.') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStartEndTime2|+2019-01-01T00:00:00Z|+2019-02-02T00:00:00Z|small}}','2 fév.')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStartEndTime2|+2019-01-01T00:00:00Z|+2019-01-01T00:00:00Z|small}}','1 janv.') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStartEndTime2|+2019-07-05T00:00:00Z|+2019-07-14T00:00:00Z|small}}','14 juill.') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getStartEndTime2|+2019-07-05T00:00:00Z|+2020-07-14T00:00:00Z|small}}','14 juill. 2020') 
	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()
	--optional time
	if wiki == "fr" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q29262131|nil}}','[[Aleksandr Vlasov (cyclisme)|Aleksandr Vlasov]]') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q6242|nil}}','[[Marianne Vos]]') 
	    self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q295991|nil}}','[[Alexandre Vinokourov]]') 
	end
	--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=="fr" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q295991|+2000-01-01T00:00:00Z}}','[[Alexandre Vinokourov]]') 
	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]]') 
	-- future
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getRiderLink|Q6242|+2030-00-00T00:00:00Z}}','[[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]]') 
	-- 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}}','[[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]]') 
	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}}','Wallonie')
	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-20T00:00:00Z}}','[[Équipe cycliste TotalEnergies|Direct Énergie]]') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeam|Q312273|+2017-07-23T00:00:00Z}}','[[Équipe cycliste TotalEnergies|Direct Énergie]]') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeam|Q27886638|+2020-01-01T00:00:00Z}}','[[Équipe cycliste Roland-Cogeas-Edelweiss Squad|Cogeas-Mettler-Look Pro Cycling Team]]')  
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeam|Q16215626|+2010-07-01T00:00:00Z}}','[[Équipe cycliste Valdarno|Valdarno]]')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeam|Q3048753|+2010-07-01T00:00:00Z}}','[[Équipe cycliste SC Michela Fanini|SC Michela Fanini Record Rox]]') 
	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 TotalEnergies|Direct Énergie]]') 
    	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamLinkCat|Q58217971|+2019-01-01T00:00:00Z|false|false}}',"[[Saison 2019 de l'é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]]") 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamLinkCat|Q110370054|+2022-04-01T00:00:00Z|false|false}}',"[[Saison 2022 de l'équipe cycliste FDJ-Nouvelle Aquitaine-Futuroscope|FDJ Nouvelle Aquitaine Futuroscope]]")
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamLinkCat|Q110370054|+2022-11-01T00:00:00Z|false|false}}',"[[Saison 2022 de l'équipe cycliste FDJ-Nouvelle Aquitaine-Futuroscope|FDJ-Suez]]")
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamLinkCat|Q110370054|+2022-04-01T00:00:00Z|true|false}}',"[[Saison 2022 de l'équipe cycliste FDJ-Nouvelle Aquitaine-Futuroscope|FDJ Nouvelle Aquitaine Futuroscope]]")
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamLinkCat|Q110370054|+2022-11-01T00:00:00Z|true|false}}',"[[Saison 2022 de l'équipe cycliste FDJ-Nouvelle Aquitaine-Futuroscope|FDJ-Suez]]")
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamLinkCat|Q110370054|+2022-00-00T00:00:00Z|true|false}}',"[[Saison 2022 de l'équipe cycliste FDJ-Nouvelle Aquitaine-Futuroscope|FDJ Nouvelle Aquitaine Futuroscope]]")   		
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamLinkCat2|Q195833|+2019-01-01T00:00:00Z|false|false}}','Q382927') 
    	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamLinkCat2|Q58217971|+2019-01-01T00:00:00Z|false|false}}','Q382927') 
    	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamLinkCat2|Q58217971|+2019-01-01T00:00:00Z|false|true}}',"Q382927") 
    	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamLinkCat2|Q796040|+2016-05-01T00:00:00Z|false|false}}',"Q1756006") 
  		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamLinkCat2|Q109109779|+2022-06-01T00:00:00Z|false|false}}',"Q6154783") 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamLinkCat2|Q28098063|+2022-06-01T00:00:00Z|false|false}}',"Q1756006") 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getTeamLinkCat2|Q105229009|+2022-09-04T00:00:00Z|false|false}}',"Q1756006")
	end
end

function p:test_getCountryID()
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryID|Q648|+2019-01-01T00:00:00Z}}','Q142') 
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryID|Q648|}}','Q142') 
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|getCountryID|Q314687|+2019-01-01T00:00:00Z}}','Q183') 
end

function p:test_get_formatted_date()
	if wiki=="fr" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|get_formatted_date1|Q110774135|infobox}}','24 – 29 mai 2022') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|get_formatted_date1|Q110774135|victory}}','29 mai') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|get_formatted_date1|Q110774135|nil}}','24 – 29 mai') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|get_formatted_date1|Q110773516|infobox}}','16 avril 2022') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|get_formatted_date1|Q110773516|victory}}','16 avr.') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|get_formatted_date1|Q110773516|nil}}','16 avr.')  --calendar is short
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|get_formatted_date2|Q110774135|infobox}}','+2022-05-24T00:00:00Z') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|get_formatted_date2|Q110774135|victory}}','+2022-05-29T00:00:00Z') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|get_formatted_date2|Q110774135|nil}}','+2022-05-24T00:00:00Z') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|get_formatted_date2|Q110773516|infobox}}','+2022-04-16T00:00:00Z') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|get_formatted_date2|Q110773516|victory}}','+2022-04-16T00:00:00Z') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|get_formatted_date2|Q110773516|nil}}','+2022-04-16T00:00:00Z') 	
	end
end

function p:test_getSpeed()
	if wiki=="fr" then
	    self:preprocess_equals('{{#invoke:Cycling race|testlocal|getSpeed|Q110656671|false|nil|P2321}}','nil') 	
	    self:preprocess_equals('{{#invoke:Cycling race|testlocal|getSpeed|Q113552955|false|nil|P2321}}','nil') 	
	    self:preprocess_equals('{{#invoke:Cycling race|testlocal|getSpeed|Q113552955|true|nil|P2321}}','nil') 	    
	    self:preprocess_equals('{{#invoke:Cycling race|testlocal|getSpeed|Q113552955|false|136.9|P2417}}','37,515') 	
	    self:preprocess_equals('{{#invoke:Cycling race|testlocal|getSpeed|Q113552955|true|136.9|P2417}}','37,515 km/h') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getSpeed|Q110774902|false|nil|P2321}}','40,35') 	
	    self:preprocess_equals('{{#invoke:Cycling race|testlocal|getSpeed|Q110774902|true|nil|P2321}}','40,35 km/h') 
	end
end

function p:test_formatNumber()
	if wiki=="fr" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|formatNumber|40.35|true|5}}','40,35 km/h') 	
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|formatNumber|40.35|false|5}}','40,35')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|formatNumber|40.35|true|9}}','40,35 m') 
	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') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|translate|startlist|1|true}}','Liste des participantes') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|translate|headoftableII|1|false}}','Coureur') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|translate|headoftableII|1|true}}','Coureuse') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|translate|listofwinners|6|false}}','Meilleur grimpeur') 
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|translate|listofwinners|6|true}}','Meilleure grimpeuse') 
	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}}','Пролог') 
		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_sort|Q22231106}}','01') 
	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") 
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]]")
	    self:preprocess_equals('{{#invoke:Cycling race|testlocal|getMainRaceLink|Q26838733|stage|Q27627413|victory|+2017-05-18T00:00:00Z}}',"[[12e étape du Tour d'Italie 2017|12<sup>e</sup> étape du Tour d'Italie]]") 
	    self:preprocess_equals('{{#invoke:Cycling race|testlocal|getMainRaceLink|Q74733543|0||victory|+2020-08-01T00:00:00Z}}',"[[Championnats de Pologne de cyclisme sur route|Championnat de Pologne du contre-la-montre]]") 
	    self:preprocess_equals('{{#invoke:Cycling race|testlocal|getMainRaceLink|Q74731390|0||victory|+2020-08-01T00:00:00Z}}',"[[Championnats de France de cyclisme sur route 2020|Championnat de France sur route]]") 
	    self:preprocess_equals('{{#invoke:Cycling race|testlocal|getMainRaceLink|Q31022185|0||victory|+2020-08-01T00:00:00Z}}',"[[Championnats de Tchéquie de cyclisme sur route|Championnat de République tchèque sur route]]") 
	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|classLinkFn|Q22231110}}', "1.1")
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|classLinkFn|Q23005601}}', "1.WWT")
	elseif wiki=="da" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|classLinkFn|Q22231110}}',"[[	UCI's løbskategorier|1.1]]") 
	end
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]]")
	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|classToCircuit|Q23005601|Q27538420|1.WWT|false}}","Q21075974")
	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}}","NE <small>(1998)</small><br>[[Coupe du monde féminine de cyclisme sur route|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|UCI World Tour féminin]]")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|getClass1|Q508838}}","[[Женский мировой шоссейный кубок UCI|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}}","1998-")	
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getFormerNames2|Q508838}}","La Flèche Wallonne Femmes")
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getFormerNames1|Q61013876}}","")	
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getFormerNames2|Q61013876}}","")
	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()
	if wiki=="fr" then
		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
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

function p:test_trans()
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|trans|+2020-01-01T00:00:00Z|12|31}}","+2020-01-01T00:00:00Z")
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|trans|+2020-01-00T00:00:00Z|12|31}}","+2020-01-31T00:00:00Z")	
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|trans|+2020-00-00T00:00:00Z|12|31}}","+2020-12-31T00:00:00Z")	
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|trans|+0000-00-00T00:00:00Z|12|31}}","+0000-12-31T00:00:00Z")
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|trans||12|31}}","nil")	
end

function p:test_parseDate()
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|parseDate1|+2020-01-01T00:00:00Z|2040|12|31}}","+2020-01-01T00:00:00Z")
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|parseDate1|+2020-01-00T00:00:00Z|2040|12|31}}","+2020-01-31T00:00:00Z")	
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|parseDate1|+2020-00-00T00:00:00Z|2040|12|31}}","+2020-12-31T00:00:00Z")	
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|parseDate1|+0000-00-00T00:00:00Z|2040|12|31}}","+2040-12-31T00:00:00Z")	
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|parseDate2|+2020-00-00T00:00:00Z|2040|12|31}}","2020")	
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|parseDate2|+0000-00-00T00:00:00Z|2040|12|31}}","2040")	
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|parseDate5|+2020-00-00T00:00:00Z|2040|12|31}}","")	
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|parseDate5|+0000-00-00T00:00:00Z|2040|12|31}}","error text")		
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|parseDate1|+2020-00-00T00:00:00Z|2040|12|31}}","+2020-12-31T00:00:00Z")	
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|parseDate1||2040|12|31}}","+2040-12-31T00:00:00Z")	
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|parseDate2||2040|12|31}}","2040")	
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|parseDate5||2040|12|31}}","error text")		

end
	
function p:test_findLastName()	
	if wiki=="fr" then
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|findLastName|Marianne Vos}}","Vos Marianne")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|findLastName|Anna van der Breggen}}","van der Breggen Anna")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|findLastName|Annemiek van Vleuten}}","van Vleuten Annemiek")	
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|findLastName|Sofie De Vuyst}}","De Vuyst Sofie")		
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|findLastName|Margarita Victoria García}}","García Margarita Victoria")		
        self:preprocess_equals("{{#invoke:Cycling race|testlocal|findLastName|Sofia Rodriguez Revert}}","Revert Sofia Rodriguez")			
	end
end
	
function p:test_findSortKey()	
	if wiki=="fr" then
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|findSortKey|Q6242}}","Vos Marianne")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|findSortKey|Q563737}}","van der Breggen Anna")
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|findSortKey|Q289826}}","van Vleuten Annemiek")	
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|findSortKey|Q16206350}}","De Vuyst Sofie")		
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|findSortKey|Q23907253}}","García Margarita Victoria")		
        self:preprocess_equals("{{#invoke:Cycling race|testlocal|findSortKey|Q24005874}}","Rodríguez Sofia")		
	end
end	

function p:test_calculateAge()	
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|calculateAge|+2021-01-01T00:00:00Z}}","3")
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|calculateAge|+2020-01-01T00:00:00Z}}","4")
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|calculateAge|+2019-01-01T00:00:00Z}}","5")
end	

function p:test_getBirthDeathDate()	
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getBirthDeathDate1|Q241961}}",'11 février 1987 (35 ans)<br/>[[Harmelen|Harmelen]]')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getBirthDeathDate1|Q273016}}",'9 janvier 1976<br />[[Adélaïde (Australie)|Adélaïde]]')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getBirthDeathDate2|Q241961}}","")
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getBirthDeathDate2|Q273016}}","18 juillet 2005 (29 ans)<br />Zadelsdorf")
end	

function p:test_getLocalContent()	
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getLocalContent|course|courses|course}}",'test')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getLocalContent|course|courses|something}}",'')	
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getLocalContent|course|courses|courses}}",'test')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getLocalContent|course||course}}",'test')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getLocalContent|course||courses}}",'')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getLocalContent|Course|Courses|course}}",'test')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getLocalContent|Course|Courses|something}}",'')	
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getLocalContent|Course|Courses|courses}}",'test')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getLocalContent|Course|Courses|Course}}",'test')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getLocalContent|Course|Courses|Courses}}",'test')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getLocalContent|Équipe amateur|Équipes amateur|Équipe amateur}}",'test')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getLocalContent|Équipe amateur|Équipes amateur|équipe amateur}}",'test')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getLocalContent|Équipe amateur|Équipes amateur|équipes amateur}}",'test')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getLocalContent|Équipe amateur|Équipes amateur|something}}",'')
end	

function p:test_plural()
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural1|1}}",'false')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural1|2}}",'true')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural1|3}}",'true')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural1|4}}",'true')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural1|5}}",'false')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural1|9}}",'false')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural1|10}}",'false')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural1|11}}",'false')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural1|12}}",'false')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural1|20}}",'false')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural1|21}}",'false')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural1|22}}",'true')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural1|24}}",'true')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural1|25}}",'false')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural1|31}}",'false')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural1|32}}",'true')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural1|34}}",'true')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural1|35}}",'false')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural2|1}}",'false')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural2|2}}",'false')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural2|3}}",'false')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural2|4}}",'false')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural2|5}}",'true')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural2|9}}",'true')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural2|10}}",'true')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural2|11}}",'true')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural2|12}}",'true')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural2|20}}",'true')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural1|21}}",'false')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural2|22}}",'false')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural2|24}}",'false')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural2|25}}",'true')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural2|31}}",'false')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural2|32}}",'false')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural2|34}}",'false')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|plural2|35}}",'true')
end

function p:test_getOfficialName()
	if wiki=="fr" then
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|getOfficialName|Q2945868|+2022-04-22T00:00:00Z|}}",'Centre mondial du cyclisme')
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|getOfficialName|Q195833|+2022-01-01T00:00:00Z|}}",'TotalEnergies')
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|getOfficialName|Q1892064|+1994-06-01T00:00:00Z|}}",'Mapei-CLAS')
		self:preprocess_equals("{{#invoke:Cycling race|testlocal|getOfficialName|Q17011604|+2012-01-01T00:00:00Z|}}",'Sengers')
	end
end

function p:test_getNationality()
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getNationality|Q1976907|+2001-01-01T00:00:00Z}}",'Q159')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getNationality|Q563737|+2001-01-01T00:00:00Z}}",'Q55')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getNationality|Q1892905|+2009-01-01T00:00:00Z}}",'Q25227')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getNationality|Q1892905|+2011-01-01T00:00:00Z}}",'Q25279')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getNationality|Q1892905|+2015-01-01T00:00:00Z}}",'Q55')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getNationality|Q950831|+2015-01-01T00:00:00Z}}",'Q38')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getNationality|Q950831|+2021-08-01T00:00:00Z}}",'Q36')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getNationality|Q950831|+2021-08-01T00:00:00Z}}",'Q36')
	self:preprocess_equals("{{#invoke:Cycling race|testlocal|getNationality|Q26882517|+2021-08-01T00:00:00Z}}",'Q142')
end

function p:test_getPlaceLink()
	if wiki=="fr" then
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getPlaceLink|Q16333|+2019-04-14T00:00:00Z}}','[[Casale Monferrato|Casale Monferrato]]')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getPlaceLink|Q180871|+2022-04-14T00:00:00Z}}','[[Compiègne|Compiègne]]')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getPlaceLink|Q180871|}}','[[Compiègne|Marat-sur-Oise]]') --not really what we want actually.
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getPlaceLink2|Q180871|+2022-04-14T00:00:00Z}}','[[Compiègne|Compiègne]]')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getPlaceLink2|Q180871|nil}}','[[Compiègne|Compiègne]]')
		self:preprocess_equals('{{#invoke:Cycling race|testlocal|getPlaceLink|Q1726|+2022-04-14T00:00:00Z}}','[[Munich|Munich]]')
	end
end

function p:test_isWomenrace()
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|isWomenrace|Q107565335}}','true') 
	self:preprocess_equals('{{#invoke:Cycling race|testlocal|isWomenrace|Q98043180}}','false') 
end

return p