Module:Cycling race/Test

Une page de Wikipédia, l'encyclopédie libre.

 Documentation[voir] [modifier] [historique] [purger]

Utilisation[modifier le code]

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[modifier le code]

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