public function provideApplyConstraints()
 {
     $cases = array();
     $statements = new StatementList();
     $cases[] = array($statements, array());
     $statements = new StatementList();
     $statements->addNewStatement(new PropertyNoValueSnak(11));
     $cases[] = array($statements, array());
     $statements = new StatementList();
     $statements->addNewStatement(new PropertyNoValueSnak(42));
     $statements->addNewStatement(new PropertyNoValueSnak(10));
     $statements->addNewStatement(new PropertyNoValueSnak(11));
     $cases[] = array($statements, array());
     $statements = new StatementList();
     $statements->addNewStatement(new PropertyNoValueSnak(42));
     $statements->addNewStatement(new PropertyNoValueSnak(11));
     $statements->addNewStatement(new PropertyNoValueSnak(12));
     $cases[] = array($statements, array('P12' => array('c6')));
     $statements = new StatementList();
     $statements->addNewStatement(new PropertyNoValueSnak(42));
     $statements->addNewStatement(new PropertyNoValueSnak(32));
     $statements->addNewStatement(new PropertyNoValueSnak(11));
     $cases[] = array($statements, array('P32' => array('c2', 'c4')));
     $statements = new StatementList();
     $statements->addNewStatement(new PropertyNoValueSnak(42));
     $statements->addNewStatement(new PropertyNoValueSnak(32));
     $statements->addNewStatement(new PropertyNoValueSnak(12));
     $cases[] = array($statements, array('P32' => array('c2', 'c4'), 'P12' => array('c6')));
     return $cases;
 }
 public function testUsesFirstStatementsGuid()
 {
     $statements = new StatementList();
     $statements->addNewStatement(new PropertyNoValueSnak(1), null, null, 'Q1$');
     $statements->addNewStatement(new PropertyNoValueSnak(1), null, null, 'P1$');
     $grouper = new DispatchingEntityTypeStatementGrouper(array('item' => $this->newGrouper(1), 'property' => $this->newGrouper(0)));
     $grouper->groupStatements($statements);
 }
 public function testValidateStatements_returnsFalse()
 {
     $singleValueConstraint = new SingleValueConstraint();
     $statements = new StatementList();
     $statements->addNewStatement(new PropertyNoValueSnak(42));
     $statements->addNewStatement(new PropertySomeValueSnak(42));
     $this->assertFalse($singleValueConstraint->validateStatements($statements));
 }
 public function testValidateStatements_returnsFalse()
 {
     $diffRangeConstraint = new DiffRangeConstraint(new NumberValue(5));
     $statements = new StatementList();
     $statements->addNewStatement(new PropertyValueSnak(42, new NumberValue(2)));
     $statements->addNewStatement(new PropertyValueSnak(42, new NumberValue(9)));
     $this->assertFalse($diffRangeConstraint->validateStatements($statements));
 }
 public function testValidateStatements_returnsFalse()
 {
     $dataValueConstraint = new DataValueConstraint(new FormatChecker('/foo/'));
     $statements = new StatementList();
     $statements->addNewStatement(new PropertyNoValueSnak(42));
     $statements->addNewStatement(new PropertyValueSnak(42, new NumberValue(123)));
     $statements->addNewStatement(new PropertyValueSnak(42, new StringValue('bar')));
     $this->assertFalse($dataValueConstraint->validateStatements($statements));
 }
 public function statementListsProvider()
 {
     $empty = new StatementList();
     $statements = new StatementList();
     $statements->addNewStatement(new PropertyNoValueSnak(1));
     return array(array(array(), ''), array(array('statements' => $empty), '<HEADING id="claims" class="wikibase-statements">' . '(wikibase-statementsection-statements)</HEADING><LIST>'), array(array('statements' => $empty, 'identifiers' => $empty), '<HEADING id="claims" class="wikibase-statements">' . '(wikibase-statementsection-statements)</HEADING><LIST>'), array(array('statements' => $empty, 'P1' => $statements), '<HEADING id="claims" class="wikibase-statements">' . '(wikibase-statementsection-statements)</HEADING><LIST>' . '<HEADING id="P1" class="wikibase-statements' . ' wikibase-statements-P1">' . '(wikibase-statementsection-p1)</HEADING><LIST>'));
 }
 public function testGroupStatements()
 {
     $statements = new StatementList();
     $statements->addNewStatement(new PropertyNoValueSnak(1));
     $expected = array('statements' => $statements);
     $grouper = new NullStatementGrouper();
     $this->assertSame($expected, $grouper->groupStatements($statements));
 }
 public function entitiesProvider()
 {
     $statements = new StatementList();
     $statements->addNewStatement(new PropertyNoValueSnak(1));
     $q1 = new Item(null, null, null, $statements);
     $siteLinks = new SiteLinkList();
     $siteLinks->addNewSiteLink('enwiki', 'Title');
     $q2 = new Item(null, null, $siteLinks);
     return array(array(array(), 0, 0), array(array($q1), 1, 0), array(array($q2), 0, 1), array(array($q1, $q2), 1, 1));
 }
 public function testCanRepurposeDefaultGroup()
 {
     $statements = new StatementList();
     $statements->addNewStatement(new PropertyNoValueSnak(1));
     $grouper = new FilteringStatementGrouper(array('statements' => $this->newStatementFilter()));
     $groups = $grouper->groupStatements($statements);
     $this->assertCount(1, $groups);
     $this->assertArrayHasKey('statements', $groups);
     $this->assertCount(1, $groups['statements']);
 }
 public function testApplyConstraints()
 {
     $statements = new StatementList();
     $statements->addNewStatement(new PropertyNoValueSnak(42));
     $constraintList = new ConstraintList(array(new SingleValueConstraint()));
     $this->assertEmpty($constraintList->applyConstraints($statements));
     $statements->addNewStatement(new PropertyNoValueSnak(42));
     $this->assertEquals(array('singlevalue'), $constraintList->applyConstraints($statements));
     $statements = new StatementList();
     $constraintList->addConstraint(new MultiValueConstraint());
     $this->assertEquals(array('singlevalue', 'multivalue'), $constraintList->applyConstraints($statements));
 }
Ejemplo n.º 11
0
 private function newNonEmptyStatementList()
 {
     $statementList = new StatementList();
     $statementList->addNewStatement(new PropertyNoValueSnak(42));
     $statementList->addNewStatement(new PropertyNoValueSnak(1337));
     return $statementList;
 }
 /**
  * @return StatementList
  */
 private function newStatementList()
 {
     $statements = new StatementList();
     $statements->addNewStatement(new PropertyNoValueSnak(1), null, null, 'Q1$');
     return $statements;
 }
 /**
  * @param StatementList $statements
  * @param string $string
  * @param int $propertyId
  */
 private function addStatement(StatementList $statements, $string, $propertyId = 1)
 {
     $statements->addNewStatement(new PropertyValueSnak($propertyId, new StringValue($string)));
 }
Ejemplo n.º 14
0
 public function testGivenKnownPropertyId_getByPropertyIdReturnsListWithOnlyMatchingStatements()
 {
     $list = new StatementList();
     $list->addNewStatement(new PropertyNoValueSnak(42));
     $list->addNewStatement(new PropertyNoValueSnak(9001));
     $list->addNewStatement(new PropertySomeValueSnak(42));
     $list->addNewStatement(new PropertySomeValueSnak(9001));
     $expected = new StatementList();
     $expected->addNewStatement(new PropertyNoValueSnak(42));
     $expected->addNewStatement(new PropertySomeValueSnak(42));
     $this->assertEquals($expected, $list->getByPropertyId(new PropertyId('P42')));
 }
 /**
  * @param StatementList $statements
  * @param string $itemId
  */
 private function addStatement(StatementList $statements, $itemId)
 {
     $statements->addNewStatement(new PropertyValueSnak(1, new EntityIdValue(new ItemId($itemId))));
 }
Ejemplo n.º 16
0
 /**
  * @param StatementList $statements
  * @param EntityId $entityId
  * @param Summary|null $summary
  */
 private function addStatement(StatementList $statements, EntityId $entityId, Summary $summary = null)
 {
     $this->statementGuid = $this->guidGenerator->newGuid($entityId);
     $statements->addNewStatement($this->snak, null, null, $this->statementGuid);
     $this->updateSummary($summary, 'create', '', $this->getClaimSummaryArgs($this->snak));
 }