Modul:Brug Wikidata/testcases
Udseende
-- Enhedtests for [[Modul:Brug Wikidata]]. Gå til diskussionssiden for at testresultaterne.
local testskabelon = 'Bruger:Dipsacus fullonum/Wikidata-sandkasse/Skabelon:Wikidata-'
local produktionsskabelon = 'Wikidata-'
local p = require('Modul:UnitTests')
function p:test_emne()
self:preprocess_equals_preprocess_many('{{' .. testskabelon, '}}', '{{' .. produktionsskabelon, '}}', {
{'emne | P6 | q=Q649'},
{'emne | P6 | Brug denne tekst i stedet for Wikidata | q=Q649'}, -- 2 unavngivne parametre
{'emne | P6 | feltnavn=borgmester | q=Q649'}, -- feltnavn, ingen wikidata -> tom
{'emne | P6 | wikidata=ja | feltnavn=borgmester | q=Q649'}, -- feltnavn, wikidata = ja -> hent
{'emne | P6 | wikidata=land,borgmester,tidszone | feltnavn=borgmester | q=Q649'}, -- feltnavn i wd-liste -> hent
{'emne | P6 | wikidata=ja | ingen_wikidata=borgmester,land | feltnavn=borgmester | q=Q649'}, -- felt ikke i liste -> tom
{'emne | P6 | q=Q499479'},
{'emne | P6 | link=nej | q=Q499479'}, -- ingen link
{'emne | P85 | q=Q35'}, -- flere værdier
{'emne | P85 | adskil=<BR/> | q=Q35'}, -- en pr. linje
{'emne | P85 | liste=ja | q=Q35'}, -- punktliste
{'emne | P106 | ikon=ja | q=Q5673'}, -- ikon
{'emne | P106 | maks=3 | medstort=ja | q=Q5673'}, -- maks. 3 værdier, første værdi med stort
{'emne | P106 | liste=ja | medstort=alle | q=Q5673'}, -- liste, alle værdier med stort
{'emne | P144 | kursiv=ja | q=Q243439'}, -- kursiv
{'emne | P39 | kun=Q11696 | kvalifikator1=P582 | kvalifikator2=P1366 | ' ..
'kvalifikatorformat1=Præsident til $2 | kvalifikatorformat2=$1 afløst af $2 | q=Q9588'}, -- kvalifikatorer, kun en værdi
{'emne | P39 | kun=Q11699 | kvalifikator1=P582 | kvalifikator2=P1366 | ' ..
'kvalifikatorformat1=Vicepræsident til $2 | kvalifikatorformat2=$1 afløst af $2 | q=Q9588' }, -- do
{'emne | P421 | msk=ja | q=Q959'}, -- russisk tidszone med tilføjelse af moskvatid
{'emne | P19 | land=$1 i $2 | q=Q5673'}, -- tilføjelse af land
{'emne | P609 | sted=ja | adskil=  og  | q=Q2640747'}, -- 2 stednavne, Holland/Belgien - Vejs endepunkter
{'emne | P20 | sted=ja | q=Q203433'}, -- stednavn, USA - dødssted
{'emne | P17 | sted=ja | q=Q503379'}, -- stednavn, Danmark - land for en by - landet skal ikke gentages
{'emne | P17 | sted=ja | q=Q90'}, -- stednavn, Frankrig - land for en by - landet skal ikke gentages
{'emne | P131 | sted=ja | q=Q1097'}, -- stednavn, Tyskland
{'emne | P36 | sted=ja | q=Q183'}, -- stednavn, Tyskland, delstat
{'emne | P1411 | q=Q7085'},
{'emne | P1411 | tid=ja | q=Q7085'}, -- tilføjelse af tidspunkter ()
{'emne | P551 | q=Q7085'},
{'emne | P551 | tid=ja | q=Q7085'}, -- tilføjelse af tidsperioder
{'emne | P6 | tid=ja | parti=$1 ($2) | q=Q649'}, -- tilføjelse af tid og parti
{'emne | P6 | tid=ja | kunår=ja | parti=$1 ($2) | q=Q649'}, -- tilføjelse af år og parti
{'emne | P85 | kvalifikator1=P51 | kvalifikatorformat1=$1 [[File:$2]] | q=Q183'}, -- 1 kvalifikator
{'emne | P35 | kvalifikator1=P580 | kvalifikatorformat1=$1, tiltrådt $2 | kvalifikator2=P459 | ' ..
'kvalifikatorformat2=$1, valgt ved $2 | q=Q183'}, -- 2. kvalifikatorer
{'emne | 1 = P676 | q=Q41524380 ' ..
'| kvalifikator1=P585 | kvalifikatorformat1 = $2 | kvalifikatorbrug1=med'}, -- k-brug=med
{'emne | P26 | q=Q905'}, -- novalue -> tom
{'emne | P26 | ingen=Var aldrig gift | q=Q905'}, --> tekst for novalue
{'emne | P21 | q=Q278475'}, -- somevalue -> tom
{'emne | P21 | ukendt=vides ikke | q=Q278475'}, --> tekst for somevalue
{'emne | P551 | maks=1 | q=Q7243'}, -- en af mange mere_end_maks
{'emne | P551 | maks=1 | q=Q7243 | mere_end_maks= og andre'}, -- mere_end_maks
{'emne | P551 | maks=1 | q=Q7243 | mere_end_maks='}, -- mere_end_maks tom
{'emne | P40 | q=Q2304055 '}, -- navn på engelsk
{'emne | P40 | sprognote=nej | q=Q2304055 '}, -- navn ikke på dansk, ingen note
{'emne | P40 | sprognote=nej | sprogkat=nej | q=Q2304055 '}, -- navn ikke på dansk, ingen note, ingen kategori
{'emne | P40 | q=Q2304055 | sprogkat=nej '}, -- navn ikke på dansk, ingen kategori
{'emne | P40 | q=Q2304055 | sprognotegroup=note '}, -- navn ikke på dansk, sprognotegroup
})
end
-- Disse er for sig selv for ikke at gøre text-kolonnen for smal i tabellen for de øvrige emne-resultater
function p:test_emne_bred()
self:preprocess_equals_preprocess_many('{{' .. testskabelon, '}}', '{{' .. produktionsskabelon, '}}', {
{'emne | P166 | q=Q7085 | kvalifikator1=P2121 | kvalifikatorbrug1=med'}, -- k-brug=med
{'emne | P166 | q=Q7085 | kvalifikator1=P2121 | kvalifikatorbrug1=uden '}, -- k-brug=uden
{'emne | P166 | q=Q7085 | kvalifikator1=P2121 | kvalifikatorbrug1=alle'}, -- k-brug=alle
{'emne | P166 | q=Q7085 | kvalifikator1=P2121 | kvalifikatorbrug1= '}, -- k-brug=
{'emne | P166 | q=Q7085 | kvalifikator1=P2121 '}, -- ingen k-brug
})
end
function p:test_tal()
self:preprocess_equals_preprocess_many('{{' .. testskabelon, '}}', '{{' .. produktionsskabelon, '}}', {
{'tal | P2046 | q=Q183'}, --
{'tal | P2046 | decimaler=5 | q=Q183'}, -- decimaler
{'tal | P2046 | decimaler=5 | visusikkerhed=nej | q=Q183'}, -- ingen usikkehed
{'tal | P2046 | enhed=m2 | q=Q183'}, -- enhed
{'tal | P2046 | enhed=m2 | visenhed=nej | q=Q183'}, -- visenhed
{'tal | P2139 | q=Q818846'}, -- valuta
{'tal | P2139 | decimaler=2 | q=Q818846'}, -- decimale
{'tal | P2139 | decimaler=2 | visusikkerhed=nej | q=Q818846'}, -- ingen usikkerhed
{'tal | P1082 | tid=ja | q=Q649'}, -- med tid
{'tal | P1082 | tid=ja | kunår=ja | q=Q649'}, -- med år
{'tal | P1082 | q=Q649 | arealogtæthed=$1 indbyggere på $2 km<sup>2</sup>, dvs. $3 pr. km<sup>2</sup> |' ..
' arealogtætheduden=$1 indbyggere' }, -- areal og tæthed
{'tal | P1082 | kvalifikator1=P585 | kvalifikatorformat1=$1 indbyggere pr. $2 | q=Q183'}, -- kvalifier tid
{'tal | P3086 | kvalifikator1=P794 | ingen=ingen | q=Q183'}, -- kvalifier som ikke vises, novalue
{'tal | P3086 | kvalifikator1=P794 | ingen=ingen | maks=2 | q=Q183'}, -- maks, kvalifier som ikke vises, novalue
{'tal | P2067 | q=Q7887991 | kvalifikator1=P642 '},
{'tal| P2067 | q=Q7887991 | kvalifikator1=P642 | kvalifikatorbrug1=MTOW | kvalifikatorformat1=$1 '}, -- k-brug=label
{'tal| P2067 | q=Q7887991 | kvalifikator1=P642 | kvalifikatorbrug1=Q938476 | kvalifikatorformat1=$1 '}, --k-brug=QID
{'tal| P1352 | q=Q57557| kvalifikator1=P641 | kvalifikatorbrug1=singletennis | kvalifikatorformat1=$1 | tid=ja '}, --label, tid
-- Referencer
{'tal | P1082 | q=Q5168 | ref = ja | viskm = ja | kunurl = ja'},
{'tal | P1082 | q=Q5168 | ref = ja | viskm = nej | kunurl = ja | '},
{'tal | P1082 | q=Q898 | ref = nej '},
{'tal | P1082 | q=Q898 | ref = ja | kunurl = nej | viskm = nej '},
{'tal | P1082 | q=Q2684 | ref = ja | kunurl = nej'},
{'tal | P1082 | q=Q2684 | ref = ja '},
-- Mangler testcases for tal med: adskil=, liste=, kvalifikatorbrug=
})
end
function p:test_tid()
self:preprocess_equals_preprocess_many('{{' .. testskabelon, '}}', '{{' .. produktionsskabelon, '}}', {
{'tid | P571 | q=Q181163 '}, -- dato
{'tid | P571 | Brug denne tekst i stedet for Wikidata | q=Q181163 '}, -- tekst fra unavngiven arg.
{'tid | P571 | feltnavn=åbningsdato | q=Q181163 '}, -- brug ikke
{'tid | P571 | wikidata=ja | feltnavn=åbningsdato | q=Q181163 '}, -- brug
{'tid | P571 | wikidata=logo,åbningsdato,sprog | feltnavn=åbningsdato | q=Q181163 '}, -- brug
{'tid | P571 | wikidata=ja | ingen_wikidata=åbningsdato,land | feltnavn=åbningsdato | q=Q181163 '}, -- brug ikke
{'tid | P585 | q=Q154510 '}, -- to årtier
{'tid | P585 | adskil=<BR/> | q=Q154510 '}, -- to årtier, adskil
{'tid | P585 | liste=ja | q=Q154510 '}, -- to årtier, liste
{'tid | P569 | q=Q7085 '}, -- dato
{'tid | P569 | kunår=ja | q=Q7085 '}, -- samme, kunår
{'tid | P570 | alder=P569 | q=Q160187 '}, -- dødsdag med alder
{'tid | P570 | q=Q1411 | alder=P569 '}, -- fødsels- og dødsdag med alder, alderformat
})
end
function p:test_streng()
self:preprocess_equals_preprocess_many('{{' .. testskabelon, '}}', '{{' .. produktionsskabelon, '}}', {
{'streng | P281 | q=Q649 '}, -- streng
{'streng | P281 | Brug denne tekst i stedet for Wikidata | q=Q649 '}, -- 2. unavngivne arg.
{'streng | P281 | feltnavn=postnummer | q=Q649 '}, -- brug ikke
{'streng | P281 | wikidata=ja | feltnavn=postnummer | q=Q649 '}, -- brug
{'streng | P281 | wikidata=tidszone,postnummer,land | feltnavn=postnummer | q=Q649 '}, -- brug
{'streng | P281 | wikidata=ja | ingen_wikidata=postnummer, tidszone | feltnavn=postnummer | q=Q649 '}, -- brug ikke
{'streng | P1059 | q=Q1616154 '}, -- (CVR)
{'streng | P1059 | format=[https://datacvr.virk.dk/data/visenhed?enhedstype=virksomhed&id=$1 $1] | q=Q1616154 '}, -- format
{'streng | P18 | kvalifikator1=P2096 | kvalifikatorformat1=[[Fil:$1|thumb|$2]] | kvalifikatorformatuden1=[[Fil:$1|thumb]] ' ..
'| q=Q7085 '}, -- billede med billedtekst
})
end
function p:test_tekst()
self:preprocess_equals_preprocess_many('{{' .. testskabelon, '}}', '{{' .. produktionsskabelon, '}}', {
{'tekst | P1684 | sprog=alle | q=Q82194 '},
{'tekst | P1684 | Brug denne tekst i stedet for Wikidata | sprog=alle | q=Q82194 '}, -- 2. unavngivne
{'tekst | P1684 | feltnavn=tekst | sprog=alle | q=Q82194 '}, -- brug ikke
{'tekst | P1684 | wikidata=ja | feltnavn=tekst | sprog=alle | q=Q82194 '}, -- brug
{'tekst | P1684 | wikidata=farve,tekst,designer | feltnavn=tekst | sprog=alle | q=Q82194 '}, -- brug
{'tekst | P1684 | wikidata=ja | ingen_wikidata=afbilder, tekst | feltnavn=tekst | sprog=alle | q=Q82194 '}, -- brug ikke
{'tekst | P1448 | q=Q239 '}, -- tom (ikke på dansk)
{'tekst | P1448 | sprog=nl | q=Q239 '}, -- et sprog
{'tekst | P1448 | sprog=alle | skrivsprog=ja | q=Q239 '}, -- alle sprog, skrivsprog
{'tekst | P1549 | q=Q35 '},
{'tekst | P1549 | adskil=<br /> | q=Q35 '}, -- adskil, kun en værdi
{'tekst | P1549 | liste=ja | q=Q35 '}, -- liste, kun en værdi
{'tekst | P1549 | sprog=de | kvalifikator1=P518 | kvalifikatorformat1=$1 (gælder for $2) | q=Q183 '}, -- kval.
})
end
function p:test_matematik()
self:preprocess_equals_preprocess_many('{{' .. testskabelon, '}}', '{{' .. produktionsskabelon, '}}', {
{'matematik | P2534 | q = Q35875 '},
{'emne | P1855 | q = P4020 | kvalifikator1 = P4020 '}, -- matematisk udtryk i kvalifikator
})
end
return p