public function testGetIdentityString() { $id = new ItemId('Q7'); $aspect = EntityUsage::ALL_USAGE; $usage = new EntityUsage($id, $aspect); $this->assertInternalType('string', $usage->getIdentityString()); }
/** * @see UsageAccumulator::addUsage * * @param EntityUsage $usage */ public function addUsage(EntityUsage $usage) { $usages = $this->getUsages(); $key = $usage->getIdentityString(); $usages[$key] = $usage; $this->parserOutput->setExtensionData('wikibase-entity-usage', $usages); }
private function hasUsage($actualUsages, EntityId $entityId, $aspect) { $usage = new EntityUsage($entityId, $aspect); $key = $usage->getIdentityString(); return isset($actualUsages[$key]); }
/** * @param Traversable $rows * * @return EntityUsage[] */ private function convertRowsToUsages(Traversable $rows) { $usages = array(); foreach ($rows as $object) { $entityId = $this->idParser->parse($object->eu_entity_id); list($aspect, $modifier) = EntityUsage::splitAspectKey($object->eu_aspect); $usage = new EntityUsage($entityId, $aspect, $modifier); $key = $usage->getIdentityString(); $usages[$key] = $usage; } return $usages; }
private function assertUsageTracking(ItemId $id, $aspect, ParserOutput $parserOutput) { $usageAcc = new ParserOutputUsageAccumulator($parserOutput); $usages = $usageAcc->getUsages(); $expected = new EntityUsage($id, $aspect); $usageIdentities = array_map(function (EntityUsage $usage) { return $usage->getIdentityString(); }, $usages); $expectedIdentities = array($expected->getIdentityString()); $this->assertEquals($expectedIdentities, array_values($usageIdentities)); }
/** * @param EntityId $entityId * @param string[] $aspects (may have modifiers applied) * * @return EntityUsage[] */ private function buildEntityUsages(EntityId $entityId, array $aspects) { $usages = array(); foreach ($aspects as $aspect) { list($aspect, $modifier) = EntityUsage::splitAspectKey($aspect); $entityUsage = new EntityUsage($entityId, $aspect, $modifier); $key = $entityUsage->getIdentityString(); $usages[$key] = $entityUsage; } ksort($usages); return $usages; }