Módulo:WikidataIB/Testes/Exemplos para testes

Origem: Wikipédia, a enciclopédia livre.
-- Testes unitários para [[Módulo:WikidataIB/Testes]]. Clique na página de discussão para rodar os testes.
local p = require('Módulo:UnitTests')

--============================================================================--
-- TEST IMAGES
--============================================================================--
function p:test_WikidataIB_Testes_getValue_commonsMedia()
	-- Testa o retorno do nome de uma imagem do Commons
	-- Testa o retorno do nome de mais de uma imagem do Commons
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P18|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q140}}','Lion waiting in Namibia.jpg, Okonjima Lioness.jpg')
	-- Testa o retorno do nome de uma imagem do Commons
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P18|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q174|postfix={{!}}thumb{{!}}100px{{))!}}|prefix={{!((}}File:}}','[[File:Sao Paulo Skyline in Brazil.jpg|thumb|100px]]')
	-- Testa o retorno do nome de uma imagem do Commons
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P18|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q140|sep=nenhum|postfix={{!}}thumb{{!}}100px{{))!}}|prefix={{!((}}File:}}','[[File:Lion waiting in Namibia.jpg|thumb|100px]][[File:Okonjima Lioness.jpg|thumb|100px]]')
	
end

--============================================================================--
-- TEST EXTERNALID
--============================================================================--
function p:test_WikidataIB_Testes_getValue_externalID()
	-- Testa o retorno do nome de uma imagem do Commons
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P4399|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q10301958}}','obra1431/independencia-ou-morte')
	-- Testa o retorno do nome de mais de uma imagem do Commons
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P4701|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q10301958}}','xQEMjjFlwma5eQ, VwEourjRSnxAXQ')
end

--============================================================================--
-- TEST GENDER
--============================================================================--
function p:test_WikidataIB_Testes_getValue_gender()
	-- Testa o retorno de valores baseado no gênero de uma pessoa com sexo/gênero marcado como feminino
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P106|fetchwikidata=ALL|noicon=yes|onlysourced=no|gender=sim|qid=Q275939|userdct=false}}','[[Apresentador de televisão|apresentadora de televisão]], [[Produtor cinematográfico|produtora cinematográfica]], [[cantora|cantora]], [[Executivo|empresária]], [[Modelo (profissão)|modelo]], [[coreógrafa|coreógrafa]], [[atriz de cinema|atriz de cinema]], atriz de televisão, autora-compositora, artista discográfica')
	-- Testa o retorno de valores baseado no gênero de uma pessoa com sexo/gênero marcado como feminino
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P106|fetchwikidata=ALL|noicon=yes|onlysourced=no|gender=sim|qid=Q275939}}','[[Apresentador de televisão|apresentadora de televisão]], [[Produtor cinematográfico|produtora cinematográfica]], [[cantora|cantora]], [[Executivo|empresária]], [[Modelo (profissão)|modelo]], [[coreógrafa|coreógrafa]], [[atriz de cinema|atriz de cinema]], atriz de televisão, autora-compositora, artista discográfica')
	-- Testa o retorno de valores sem considerar o gênero de uma pessoa com sexo/gênero marcado como feminino
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P106|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q275939}}','[[Apresentador de televisão|apresentadora de televisão]], [[Produtor cinematográfico|produtora cinematográfica]], [[cantora|cantora]], [[Executivo|empresária]], [[Modelo (profissão)|modelo]], [[coreógrafa|coreógrafa]], [[atriz de cinema|atriz de cinema]], atriz de televisão, autora-compositora, artista discográfica')
	-- Testa o retorno de valores baseado no gênero de uma pessoa com sexo/gênero marcado como masculino
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P106|fetchwikidata=ALL|noicon=yes|onlysourced=no|gender=sim|qid=Q309983}}','[[escritor]], [[político]], [[cantor|cantor]], [[guitarrista]], guitarrista de jazz, [[cantautor]], [[produtor musical]]')
	-- Testa o retorno de valores sem considerar o gênero de uma pessoa com sexo/gênero marcado como masculino
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P106|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q309983}}','[[escritor]], [[político]], [[cantor|cantor]], [[guitarrista]], guitarrista de jazz, [[cantautor]], [[produtor musical]]')
	-- Testa o retorno de valores baseado no gênero de uma pessoa com sexo/gênero marcado como homem trans
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P106|fetchwikidata=ALL|noicon=yes|onlysourced=no|gender=sim|qid=Q57829607}}','[[escritor]], [[psicólogo|psicólogo]], ativista LGBT')
	-- Testa o retorno de valores sem considerar o gênero de uma pessoa com sexo/gênero marcado como homem trans
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P106|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q57829607}}','[[escritor]], [[psicólogo|psicólogo]], ativista LGBT')
	-- Testa o retorno de valores baseado no gênero de uma pessoa com sexo/gênero marcado como mulher trans
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P106|fetchwikidata=ALL|noicon=yes|onlysourced=no|gender=sim|qid=Q57100321}}','[[Político|política]], [[artista plástica|artista plástica]], [[Educador|educadora]]')
	-- Testa o retorno de valores sem considerar o gênero  de uma pessoa com sexo/gênero marcado como mulher trans
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P106|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q57100321}}','[[Político|política]], [[artista plástica|artista plástica]], [[Educador|educadora]]')
end

--============================================================================--
-- TEST GLOBAL COORDINATE
--============================================================================--
function p:test_WikidataIB_Testes_getValue_globalcoordinate()
	-- Testa o retorno de coordenada W e S
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P625|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q174}}',"23°33'1.42"S, 46°38'2.21"W")
	-- Testa o retorno de coordenada W e N
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P625|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q60}}',"40°40'12"N, 73°56'24"W")
	-- Testa o retorno de coordenada E e N
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P625|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q220}}',"41°53'35"N, 12°28'58"E")
	-- Testa o retorno de coordenada E e S
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P625|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q3130}}',"33°52'S, 151°12'E")
	-- Testa o retorno de coordenada Polo Sul
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P625|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q933}}',"90°S, 0°E")
	-- Testa o retorno de coordenada Polo Norte
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P625|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q934}}',"90°N, 0°E")
end

--============================================================================--
-- TEST LABEL
--============================================================================--
function p:test_WikidataIB_Testes_getValue_label()
	-- Testa o retorno de um valor sem rótulo em pt-br ou pt
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P106|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q47494207}}','')
	-- Testa o retorno de um valor sem rótulo em pt-br ou pt forçado
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P106|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q47494207|altlang=yes}}','television personality')
	-- Testa o retorno de um valor sem rótulo em pt-br, mas com rótulo em pt
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P106|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q90397}}','jogador de sinuca')
	-- Testa o retorno de um valor com rótulo em pt-br, mas sem rótulo em pt
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P106|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q62559636}}','romanista')
	-- Testa o retorno de um valor com rótulo em pt-br e pt, escolhendo-se pt
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P31|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q10277592|idioma=pt}}','estrutura arquitetónica, [[Patrimônio histórico|património histórico]]')
	-- Testa o retorno de um valor com rótulo em pt-br e pt, pt-br pot default
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P31|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q10277592}}','estrutura arquitetônica, [[patrimônio histórico]]')
end

--============================================================================--
-- TEST MONOLINGUALTEXT
--============================================================================--
function p:test_WikidataIB_Testes_getValue_monolingualtext()
	-- Testa o retorno de um texto do tipo monolíngue em pt-br ou pt
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P1476|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q60191592}}','Uma coleção de história em um museu de ciências naturais: o Museu Paulista de Hermann von Ihering')
	-- Testa o não retorno de um texto do tipo monolíngue se esse não existe em pt-br ou pt e não for desejado o retorno de um texto em outra língua
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P1476|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q3020388}}','')
	-- Testa o retorno de um texto do tipo monolíngue se esse não existe em pt-br ou pt, mas mesmo assim for desejado o retorno de um texto em outra língua, se existir
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P1476|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q3020388|altlang=true}}','Zur Elektrodynamik bewegter Körper')
end

--============================================================================--
-- TEST QUANTITY
--============================================================================--
function p:test_WikidataIB_Testes_getValue_quantity()
	-- Testa o retorno de um valor com a unidade por extenso
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P2048|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q10301958}}','415 centímetros')
	-- Testa o retorno de um valor com a unidade abreviada
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P2048|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q10301958||unidade}}','415 cm')
	-- Testa o retorno de valores sem correspondente na tabela de unidades
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P2284|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q743823}}','1 libra esterlina, 2 Inserir unidade de medida em [[Módulo:Wikidata/Unidades]], 1 Inserir unidade de medida em [[Módulo:Wikidata/Unidades]], 1 Inserir unidade de medida em [[Módulo:Wikidata/Unidades]], 700 Inserir unidade de medida em [[Módulo:Wikidata/Unidades]], 1 Inserir unidade de medida em [[Módulo:Wikidata/Unidades]]')
	-- Testa o retorno de valores sem correspondente na tabela de unidades abreviadas
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P2284|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q743823||unidade}}','1 £, 2 Inserir unidade de medida em [[Módulo:Wikidata/Unidades]], 1 Inserir unidade de medida em [[Módulo:Wikidata/Unidades]], 1 Inserir unidade de medida em [[Módulo:Wikidata/Unidades]], 700 Inserir unidade de medida em [[Módulo:Wikidata/Unidades]], 1 Inserir unidade de medida em [[Módulo:Wikidata/Unidades]]')
	-- Testa o retorno de um valor que não tem unidade de medida
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P1867|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q61868780}}','136 938')
	-- Testa o retorno de um valor que não tem unidade de medida
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P1867|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q61868780||unidade}}','136 938')
	-- Testa o retorno de valores no plural e no singular
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P2048|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q55759241}}','16,7 centímetros, 1,34 centímetro')
end

--============================================================================--
-- TEST STRING
--============================================================================--
function p:test_WikidataIB_Testes_getValue_string()
	-- Testa o retorno do nome de uma imagem do Commons
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P217|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q10301958}}','1-19158-0000-0000')
end

--============================================================================--
-- TEST RANK
--========================================f====================================--
function p:test_WikidataIB_Testes_rank()
    -- Testa o retorno de um valor preferido
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getPreferredValue|P6|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q174}}','[[Bruno Covas]]')
    -- Testa o retorno de um valor value
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P6|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q174}}','[[Fernando Haddad]], [[Gilberto Kassab]], [[José Serra]], [[Marta Suplicy]], [[Celso Pitta]], [[João Doria|João Doria Júnior]], [[Bruno Covas]]')
    -- Testa o retorno de um valor depreciado
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P746|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q63069731}}','')
end

--============================================================================--
-- TEST CLAIMS
--========================================f====================================--
function p:test_WikidataIB_Testes_claim()
	-- Testa o retorno de um valor desconhecido - wikibase-item
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P170|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q55213872}}','Desconhecido')
    -- Testa o retorno de um valor desconhecido - time
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P571|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q49900282}}','Desconhecido')
    -- Testa o retorno de um valor conhecido
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P276|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q55213872}}','[[Museu do Ipiranga|Museu Paulista]]')
    -- Testa o retorno de nenhum valor 
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P40|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q156048}}','')
end

--============================================================================--
-- TEST REFERENCES
--========================================f====================================--
function p:test_WikidataIB_Testes_references()
	-- Testa o retorno de somente valores referenciados
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P206|fetchwikidata=ALL|onlysourced=yes|noicon=yes|qid=Q174}}','[[Rio Pinheiros]]')
    -- Testa o retorno de valores referenciados ou não
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P206|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q174}}','[[Rio Pinheiros]], [[Rio Tietê]]')
    -- Testa o retorno de valores com referências circulares
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P625|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q174}}','23°33'1.42"S, 46°38'2.21"W')
    -- Testa o não retorno de valores com referências circulares
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P625|fetchwikidata=ALL|onlysourced=yes|noicon=yes|qid=Q174}}','')
end

--============================================================================--
-- TEST DATE
--============================================================================--
function p:test_WikidataIB_Testes_getValue_time()
	-- Testa o retorno de uma data em pt-br (padrão)
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P571|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q174}}','[[25 de janeiro]] de [[1554]]')
	-- Testa o retorno de uma data em pt (igual a pt-br)
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P571|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q174|idioma=pt}}','[[25 de janeiro]] de [[1554]]')
	-- Testa o retorno de uma data em pt-ao (mês maiúsculo)
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P571|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q174|idioma=pt-ao}}','[[25 de Janeiro]] de [[1554]]')
	-- Testa o retorno do primeiro dia do mês com o sinal de ordinal em pt-br
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P569|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q5591585}}','[[1º de janeiro]] de [[1992]]')
	-- Testa o retorno do primeiro dia do mês sem o sinal de ordinal em pt
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P569|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q5591585|idioma=pt}}','[[1 de janeiro]] de [[1992]]')
	-- Testa o retorno do primeiro dia do mês sem o sinal de ordinal e com o mês maiúsculo em pt-ao
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P569|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q5591585|idioma=pt-ao}}','[[1 de Janeiro]] de [[1992]]')
	-- Testa o retorno de uma data do mês de março (independe da variante, está se testando o retorno do "ç")
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P569|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q34086}}','[[1º de março]] de [[1994]]')
	-- Testa o retorno de datas em décadas
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P585|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q35014}}','[[Década de 1970]]')
	-- Testa o retorno de datas em séculos d.C.
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P585|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q7017}}','[[Século XVI]]')
	-- Testa o retorno de datas em séculos a.C. 
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P585|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q25335}}','[[Século IV a.C.]]')
	-- Testa o retorno de datas em milênios d.C.
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P585|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q25860}}','[[Segundo milênio d.C.]]')
	-- Testa o retorno de datas em milênios a.C.
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P585|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q25716}}','[[Primeiro milênio a.C.]]')
	-- Testa o retorno de data no formato Y	
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P571|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q174|df=y}}','[[1554]]')
	-- Testa o retorno de mais de uma data
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P585|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q4178415}}','[[1831 a.C.]], [[1731 a.C.]]')
	-- Testa o retorno de mais de uma data com separador
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P585|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q4178415|sep=@}}','[[1831 a.C.]]@[[1731 a.C.]]')
	-- Testa o retorno de uma data sem links
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P585|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q4178415|datasemlink=sim}}','1831 a.C., 1731 a.C.')
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P585|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q7017|datasemlink=sim}}','Século XVI')
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P585|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q35014|datasemlink=sim}}','Década de 1970')
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P569|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q5591585|idioma=pt-ao|datasemlink=sim}}','1 de Janeiro de 1992')
end


--============================================================================--
-- TEST URL
--============================================================================--
function p:test_WikidataIB_Testes_getValue_url()
	-- Testa o retorno do nome de uma imagem do Commons
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P953|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q60191592}}','http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0101-47142008000100006&lng=en&nrm=iso&tlng=pt')
end

--============================================================================--
-- TEST WIKIBASEITEM
--============================================================================--
function p:test_WikidataIB_Testes_getValue_wikibaseitem()
	-- Testa o retorno do nome de uma imagem do Commons
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P527|fetchwikidata=ALL|noicon=yes|onlysourced=no|qid=Q86707449}}','[[Raposo Tavares (Luigi Brizzolara)|Raposo Tavares]], [[Fernão Dias (Luigi Brizzolara)|Fernão Dias]], [[Retrato de D. João III]], [[Retrato de Martim Afonso de Sousa|Retrato de Martim Afonso de Souza]], [[João Ramalho e Filho]], [[Cacique Tibiriçá e neto]], Brasão de São Bernardo, Brasão de Cananeia')
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P17|fetchwikidata=ALL|qid=Q174}}','[[Brasil]]&nbsp;<span class=\'penicon\'>[[File:OOjs UI icon edit-ltr-progressive.svg |frameless |text-top |10px |alt=Edit this on Wikidata|link=https://www.wikidata.org/wiki/Q174?uselang=pt-br#P17|Edit this on Wikidata]]</span>')
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P17|fetchwikidata=ALL|qid=Q174|noicon=yes}}','[[Brasil]]')
end

--============================================================================--
-- TEST INVALID VALUES
--============================================================================--
function p:test_WikidataIB_Testes_invalid_invokes()
    -- Testa o retorno quando há um invoke vazio
    self:preprocess_equals('{{#invoke:WikidataIB}}','<strong class="error"><span class="scribunto-error" id="mw-scribunto-error-0">Erro de comando: Tem de especificar uma função a ser chamada.</span></strong>')
    -- Testa o retorno quando não é fornecido um pid
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|fetchwikidata=ALL}}','')
	-- Testa o retorno quando é fornecido um pid inválido
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P|fetchwikidata=ALL}}','')
	-- Testa o retorno quando a página não tem um item associado
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P17|fetchwikidata=ALL}}','')
	-- Testa o retorno quando é fornecido um qid vazio
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P17|fetchwikidata=ALL|qid=}}','')
	-- Testa o retorno quando é fornecido um qid inválido
	self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P31|fetchwikidata=ALL|qid=Q6}}','')
end

--============================================================================--
-- TEST QUANTITY OF VALUES
--============================================================================--
function p:test_WikidataIB_Testes_invalid_invokes()
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P206|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q174|maxvals=1}}','[[Rio Pinheiros]]')
    -- Testa o retorno de mais de um valor
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P206|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q174}}','[[Rio Pinheiros]], [[Rio Tietê]]')
    -- Testa o retorno de mais de um valor com um separador diferente de vírgula
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValue|P206|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q174|sep=@}}','[[Rio Pinheiros]]@[[Rio Tietê]]')
end

--============================================================================--
--TESTE FORMAT DATE
--============================================================================--
function p:test_WikidataIB_Testes_format_date()
    self:preprocess_equals('{{#invoke:WikidataIB |formatDate |1 agosto 30 BCE|bc=BC |df=dmy}}','[[1º de agosto]] de [[30 a.C.]]')
end

--============================================================================--
--TESTE VALUE INDIRECT
--============================================================================--
function p:test_WikidataIB_Testes_z()
	-- Testa o retorno do valor de uma propriedade da entidade que seria retornada na declaradação (propriedade do valor da propriedade)
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValueIndirect|P726|P21|qid=Q61868890}}','[[masculino|masculino]], [[masculino|masculino]], [[masculino|masculino]], [[feminino|feminino]], [[masculino|masculino]]')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValueIndirect|P726|P21|qid=Q61868890|artigosemlink=sim}}','masculino, masculino, masculino, feminino, masculino')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getPropOfProp|fetchwikidata=ALL|onlysourced=no|noicon=yes|prop1=P726|prop2=P21|qid=Q61868890}}','[[masculino|masculino]], [[masculino|masculino]], [[masculino|masculino]], [[feminino|feminino]], [[masculino|masculino]]')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getPropOfProp|fetchwikidata=ALL|onlysourced=no|noicon=yes|prop1=P726|prop2=P21|qid=Q61868890|artigosemlink=sim}}','masculino, masculino, masculino, feminino, masculino')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getPreferredValue|P991|fetchwikidata=ALL|onlysourced=no|noicon=yes|sep=@|qid=Q61870066}}','[[Deodalto José Ferreira|Deodalto José Ferreira]]@[[Wagner dos Santos Carneiro|Wagner dos Santos Carneiro (Waguinho)]]')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getPreferredValue|P991|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q61870066}}','[[Deodalto José Ferreira|Deodalto José Ferreira]], [[Wagner dos Santos Carneiro|Wagner dos Santos Carneiro (Waguinho)]]')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getPreferredValue|P991|fetchwikidata=ALL|onlysourced=no|noicon=yes|maxvals=1|qid=Q61870066}}','[[Deodalto José Ferreira|Deodalto José Ferreira]]')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getPreferredValue|P991|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q61870066}}','[[Deodalto José Ferreira|Deodalto José Ferreira]], [[Wagner dos Santos Carneiro|Wagner dos Santos Carneiro (Waguinho)]]')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getPreferredValue|P585|fetchwikidata=ALL|onlysourced=no|noicon=yes|datasemlink=sim|qid=Q61870066}}','2 de outubro de 2016')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getPreferredValue|P585|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q61870066}}','[[2 de outubro]] de [[2016]]')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getPreferredValue|P726|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q61870066|contagem=sim}}','7')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getPreferredValue|P726|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q61870066|contagem=sim}}','7')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getPreferredValue|P991|fetchwikidata=ALL|onlysourced=no|noicon=yes|artigosemlink=sim|qid=Q61870066}}','Deodalto José Ferreira, Wagner dos Santos Carneiro (Waguinho)')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getPreferredValue|P973|fetchwikidata=ALL|onlysourced=no|noicon=yes|postfix=ref|sep=nenhum|qid=Q42713786}}','<ref name =openedition-66390>https://journals.openedition.org/nuevomundo/66390</ref><ref name =redalyc->http://www.redalyc.org/html/273/27315298010/</ref>')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getPreferredValue|P585|fetchwikidata=ALL|onlysourced=no|noicon=yes|datasemlink=sim|df=y|qid=Q61870066}}','2016')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getPreferredValue|P1001|fetchwikidata=ALL|onlysourced=no|noicon=yes|semlink=sim|artigosemlink=sim|qid=Q61870066}}','Belford Roxo')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getPreferredValue|P1001|fetchwikidata=ALL|onlysourced=no|noicon=yes|artigosemlink=sim|qid=Q61870066}}','Belford Roxo')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValueQualIndirect|P726|qual=P1111|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q61870066}}','[[Alcides de Moura Rolim Filho|Alcides de Moura Rolim Filho]] (5 820), Nielson Rosa Bezerra (3 350), Sulamita do Carmo da Silva (26 457), Alexandro Teixeira Silva (3 444), Elizabeth Machado de Andrade Medeiros (0), [[Wagner dos Santos Carneiro|Wagner dos Santos Carneiro (Waguinho)]] (102 777), [[Deodalto José Ferreira|Deodalto José Ferreira]] (65 955)')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValueQualIndirect|P726|qual=P102|sep_qual=@|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q61870066}}','[[Alcides de Moura Rolim Filho|Alcides de Moura Rolim Filho]]@[[Partido da Social Democracia Brasileira]], Nielson Rosa Bezerra@[[Partido Socialismo e Liberdade]], Sulamita do Carmo da Silva@[[Progressistas]], Alexandro Teixeira Silva@[[Patriota (Brasil)|Patriota]], Elizabeth Machado de Andrade Medeiros@[[Rede Sustentabilidade]], [[Wagner dos Santos Carneiro|Wagner dos Santos Carneiro (Waguinho)]]@[[Movimento Democrático Brasileiro (1980)|Movimento Democrático Brasileiro]], [[Deodalto José Ferreira|Deodalto José Ferreira]]@[[Democratas (Brasil)|Democratas]]')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValueQualIndirect|P991|qual=P1352|onlyvalue=sim|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q61870066}}','2, 1')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValueQualIndirect|P991|qual=P1352|fetchwikidata=ALL|onlysourced=no|noicon=yes|sep_qual=@|qid=Q61870066}}','[[Deodalto José Ferreira|Deodalto José Ferreira]]@2, [[Wagner dos Santos Carneiro|Wagner dos Santos Carneiro (Waguinho)]]@1')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValueQualIndirect|P991|qual=P102|comlink=sim|sep_qual=@|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q61870066}}','[[Deodalto José Ferreira|Deodalto José Ferreira]]@[[Democratas (Brasil)|Democratas]], [[Wagner dos Santos Carneiro|Wagner dos Santos Carneiro (Waguinho)]]@[[Movimento Democrático Brasileiro (1980)|Movimento Democrático Brasileiro]]')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValueQualIndirect|P991|qual=P102|sep_qual=@|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q61870066}}','[[Deodalto José Ferreira|Deodalto José Ferreira]]@[[Democratas (Brasil)|Democratas]], [[Wagner dos Santos Carneiro|Wagner dos Santos Carneiro (Waguinho)]]@[[Movimento Democrático Brasileiro (1980)|Movimento Democrático Brasileiro]]')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValueQualIndirect|P991|qual=P102|onlyvalue=sim|artigosemlink=sim|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q61870066}}','Democratas (Brasil), Movimento Democrático Brasileiro (1980)')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValueQualIndirect|P991|qual=P6149|onlyvalue=sim|artigosemlink=sim|fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q61870066}}','Sergio Lins da Silva, Marcio Correia de Oliveira')
    self:preprocess_equals('{{#invoke:WikidataIB/Testes|getValueQualIndirect|P991|qual=P6149|onlyvalue=sim||fetchwikidata=ALL|onlysourced=no|noicon=yes|qid=Q61870066}}','Sergio Lins da Silva, Marcio Correia de Oliveira')
end

return p