<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://bukvica.org/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3AWDBase%2Ftestcases</id>
	<title>Модуль:WDBase/testcases - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://bukvica.org/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3AWDBase%2Ftestcases"/>
	<link rel="alternate" type="text/html" href="https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:WDBase/testcases&amp;action=history"/>
	<updated>2026-04-28T21:46:31Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:WDBase/testcases&amp;diff=238773&amp;oldid=prev</id>
		<title>Karaby: 1 версия импортирована</title>
		<link rel="alternate" type="text/html" href="https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:WDBase/testcases&amp;diff=238773&amp;oldid=prev"/>
		<updated>2025-07-27T15:38:25Z</updated>

		<summary type="html">&lt;p&gt;1 версия импортирована&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 15:38, 27 июля 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key wiki:diff:1.41:old-238772:rev-238773 --&gt;
&lt;/table&gt;</summary>
		<author><name>Karaby</name></author>
	</entry>
	<entry>
		<id>https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:WDBase/testcases&amp;diff=238772&amp;oldid=prev</id>
		<title>Буквица&gt;D6194c-1cc: исправление</title>
		<link rel="alternate" type="text/html" href="https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:WDBase/testcases&amp;diff=238772&amp;oldid=prev"/>
		<updated>2022-12-04T20:17:52Z</updated>

		<summary type="html">&lt;p&gt;исправление&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local suite = require(&amp;#039;Модуль:ScribuntoUnit&amp;#039;):new()&lt;br /&gt;
local base = require(&amp;#039;Модуль:WDBase&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local saganBook = &amp;#039;Q2482106&amp;#039;&lt;br /&gt;
local secondEntity = &amp;#039;Q11574&amp;#039;&lt;br /&gt;
local minuteEntity = &amp;#039;Q7727&amp;#039;&lt;br /&gt;
local mammalianKidneyEntity = &amp;#039;Q113996097&amp;#039;&lt;br /&gt;
local entityWithOrderedAuthors = &amp;#039;Q59330138&amp;#039;&lt;br /&gt;
&lt;br /&gt;
local P_AUTHOR = &amp;#039;P50&amp;#039;&lt;br /&gt;
local P_UNIT_SYMBOL = &amp;#039;P5061&amp;#039;&lt;br /&gt;
local P_CONV_TO_SI_UNIT = &amp;#039;P2370&amp;#039;&lt;br /&gt;
local P_PUBLICATION_DATE = &amp;#039;P577&amp;#039;&lt;br /&gt;
&lt;br /&gt;
function suite:test_statements()&lt;br /&gt;
	local statements = base.statements(saganBook, P_AUTHOR)&lt;br /&gt;
	self:assertTrue(table.getn(statements) &amp;gt; 0)&lt;br /&gt;
&lt;br /&gt;
	local statements = base.statements(saganBook, &amp;#039;P1855&amp;#039;)&lt;br /&gt;
	self:assertEquals(nil, statements)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function suite:test_dateFromDatavalue()&lt;br /&gt;
	local statements&lt;br /&gt;
	local data&lt;br /&gt;
&lt;br /&gt;
	statements = base.statements(&amp;#039;Q73118986&amp;#039;, P_PUBLICATION_DATE)&lt;br /&gt;
	local datavalue = statements[1].mainsnak.datavalue&lt;br /&gt;
	local date = base.dateFromDatavalue(datavalue)&lt;br /&gt;
	self:assertEquals(2000, date.year)&lt;br /&gt;
	self:assertEquals(11, date.month)&lt;br /&gt;
	self:assertEquals(01, date.day)&lt;br /&gt;
	self:assertEquals(nil, date.hour)&lt;br /&gt;
	self:assertEquals(nil, date.minute)&lt;br /&gt;
	self:assertEquals(nil, date.second)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function suite:test_dataByStatement()&lt;br /&gt;
	local statements&lt;br /&gt;
	local data&lt;br /&gt;
&lt;br /&gt;
	statements = base.statements(saganBook, P_AUTHOR)&lt;br /&gt;
	data = base.dataByStatement(statements[1], &amp;#039;en&amp;#039;)&lt;br /&gt;
	self:assertEquals(&amp;#039;table&amp;#039;, type(data))&lt;br /&gt;
	self:assertEquals(&amp;#039;Q410&amp;#039;, data.entity)&lt;br /&gt;
	self:assertEquals(&amp;#039;Carl Sagan&amp;#039;, data.value)&lt;br /&gt;
	self:assertEquals(nil, data.unitEntity, &amp;#039;Unit entity for P_AUTHOR is not expected.&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	statements = base.statements(secondEntity, P_UNIT_SYMBOL)&lt;br /&gt;
	self:assertTrue(table.getn(statements) &amp;gt; 1, &amp;#039;More unit symbols expected.&amp;#039;)&lt;br /&gt;
	data = base.dataByStatement(statements[1], &amp;#039;ru&amp;#039;)&lt;br /&gt;
	self:assertEquals(nil, data.entity, &amp;#039;Entity for P_UNIT_SYMBOL is not expected.&amp;#039;)&lt;br /&gt;
	self:assertEquals(&amp;#039;с&amp;#039;, data.value)&lt;br /&gt;
	self:assertEquals(nil, data.unitEntity, &amp;#039;Unit entity for P_UNIT_SYMBOL is not expected.&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	statements = base.statements(minuteEntity, P_CONV_TO_SI_UNIT)&lt;br /&gt;
	self:assertEquals(1, table.getn(statements))&lt;br /&gt;
	data = base.dataByStatement(statements[1])&lt;br /&gt;
	self:assertEquals(nil, data.entity, &amp;#039;Entity for P_CONV_TO_SI_UNIT is not expected.&amp;#039;)&lt;br /&gt;
	self:assertEquals(60, data.value)&lt;br /&gt;
	self:assertEquals(secondEntity, data.unitEntity)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function suite:test_wikilink()&lt;br /&gt;
	local link&lt;br /&gt;
&lt;br /&gt;
	link = base.wikilink(mammalianKidneyEntity)&lt;br /&gt;
	self:assertEquals(link, &amp;#039;[[Почка млекопитающего]]&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	link = base.wikilink(mammalianKidneyEntity, &amp;#039;Почка&amp;#039;)&lt;br /&gt;
	self:assertEquals(link, &amp;#039;[[Почка млекопитающего|Почка]]&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function suite:test_statementsByProperties()&lt;br /&gt;
	local statements = base.statementsByProperties(entityWithOrderedAuthors, { &amp;#039;P50&amp;#039;, &amp;#039;P2093&amp;#039; })&lt;br /&gt;
	self:assertEquals(6, table.getn(statements))&lt;br /&gt;
&lt;br /&gt;
	local data&lt;br /&gt;
&lt;br /&gt;
	data = base.dataByStatement(statements[4])&lt;br /&gt;
	self:assertEquals(&amp;#039;Q59679212&amp;#039;, data.entity)&lt;br /&gt;
&lt;br /&gt;
	data = base.dataByStatement(statements[5])&lt;br /&gt;
	self:assertEquals(nil, data.entity)&lt;br /&gt;
	self:assertTrue(data.value ~= nil)&lt;br /&gt;
&lt;br /&gt;
	data = base.dataByStatement(statements[6])&lt;br /&gt;
	self:assertEquals(&amp;#039;Q38643747&amp;#039;, data.entity)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function suite:test_text()&lt;br /&gt;
	local articleEntity = &amp;#039;Q59330138&amp;#039;&lt;br /&gt;
	local text = base.text(articleEntity, &amp;#039;P1476&amp;#039;, &amp;#039;ru&amp;#039;)&lt;br /&gt;
	local lang = base.text(articleEntity, &amp;#039;P407&amp;#039;, &amp;#039;ru&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	self:assertEquals(text, &amp;#039;Systematic review or scoping review? Guidance for authors when choosing between a systematic or scoping review approach&amp;#039;)&lt;br /&gt;
	self:assertEquals(lang, &amp;#039;английский язык&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
	&lt;br /&gt;
function suite:test_value()&lt;br /&gt;
	local articleEntity = &amp;#039;Q59330138&amp;#039;&lt;br /&gt;
	local text = base.value(articleEntity, &amp;#039;P1476&amp;#039;, &amp;#039;ru&amp;#039;)&lt;br /&gt;
	local lang = base.value(articleEntity, &amp;#039;P407&amp;#039;, &amp;#039;ru&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	self:assertEquals(text, &amp;#039;Systematic review or scoping review? Guidance for authors when choosing between a systematic or scoping review approach&amp;#039;)&lt;br /&gt;
	self:assertEquals(lang, &amp;#039;Q1860&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function suite:test_tryFilterStatementsByLang()&lt;br /&gt;
	local englishEntity = &amp;#039;Q1860&amp;#039;&lt;br /&gt;
	local statements = base.statements(englishEntity, &amp;#039;P1813&amp;#039;)&lt;br /&gt;
	self:assertTrue(table.getn(statements) &amp;gt; 1)&lt;br /&gt;
	local statements = base.tryFilterStatementsByLang(statements, &amp;#039;ru&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	self:assertEquals(1, table.getn(statements))&lt;br /&gt;
	self:assertEquals(&amp;#039;английский&amp;#039;, base.textByStatement(statements[1]))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function suite:test_tryFilterSnaksByLang()&lt;br /&gt;
	local englishEntity = &amp;#039;Q1860&amp;#039;&lt;br /&gt;
	local statements = base.statements(englishEntity, &amp;#039;P1813&amp;#039;)&lt;br /&gt;
	self:assertTrue(table.getn(statements) &amp;gt; 1)&lt;br /&gt;
	local snaks = {}&lt;br /&gt;
	for i, statement in ipairs(statements) do&lt;br /&gt;
		snaks[i] = statement.mainsnak&lt;br /&gt;
	end&lt;br /&gt;
	local snaks = base.tryFilterSnaksByLang(snaks, &amp;#039;ru&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	self:assertEquals(1, table.getn(snaks))&lt;br /&gt;
	self:assertEquals(&amp;#039;английский&amp;#039;, base.valueBySnak(snaks[1]))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function suite:test_filterStatementsByUnit()&lt;br /&gt;
	local encyclopediaEntity = &amp;#039;Q1768199&amp;#039;&lt;br /&gt;
	local volumeEntity = &amp;#039;Q1238720&amp;#039;&lt;br /&gt;
	local statements = base.statements(encyclopediaEntity, &amp;#039;P2635&amp;#039;)&lt;br /&gt;
	self:assertEquals(1, table.getn(statements))&lt;br /&gt;
&lt;br /&gt;
	statements = base.filterStatementsByUnit(statements, volumeEntity)&lt;br /&gt;
&lt;br /&gt;
	self:assertEquals(1, table.getn(statements))&lt;br /&gt;
	local count, unitEntity = base.valueByStatement(statements[1])&lt;br /&gt;
	self:assertEquals(35, tonumber(count))&lt;br /&gt;
	self:assertEquals(volumeEntity, unitEntity)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function suite:test_searchStatementByValue()&lt;br /&gt;
	local englishEntity = &amp;#039;Q1860&amp;#039;&lt;br /&gt;
	local statements = base.statements(englishEntity, &amp;#039;P17&amp;#039;)&lt;br /&gt;
	self:assertTrue(table.getn(statements) &amp;gt; 1)&lt;br /&gt;
&lt;br /&gt;
	local statement = base.searchStatementByValue(statements, &amp;#039;Q30&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	self:assertTrue(statement ~= nil)&lt;br /&gt;
	self:assertEquals(&amp;#039;США&amp;#039;, base.textByStatement(statement))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function suite:test_resolveParent()&lt;br /&gt;
	local parentEntity = base.resolveParent(&amp;#039;Q114676884&amp;#039;)&lt;br /&gt;
	self:assertEquals(saganBook, parentEntity)&lt;br /&gt;
&lt;br /&gt;
	parentEntity = base.resolveParent(saganBook)&lt;br /&gt;
	self:assertEquals(nil, parentEntity)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function suite:test_instanceOf()&lt;br /&gt;
	local editionEntity = &amp;#039;Q3331189&amp;#039;&lt;br /&gt;
	local entity = base.instanceOf(&amp;#039;Q114676884&amp;#039;, &amp;#039;P31&amp;#039;, { &amp;#039;Q3331189&amp;#039; })&lt;br /&gt;
	self:assertEquals(editionEntity, entity)&lt;br /&gt;
&lt;br /&gt;
	entity = base.instanceOf(&amp;#039;Q114676884&amp;#039;, &amp;#039;P31&amp;#039;, { &amp;#039;Q5292&amp;#039;, &amp;#039;Q5293&amp;#039; })&lt;br /&gt;
	self:assertEquals(nil, entity)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return suite&lt;/div&gt;</summary>
		<author><name>Буквица&gt;D6194c-1cc</name></author>
	</entry>
</feed>