private function getChangeRunCoalescer()
 {
     $entityRevisionLookup = $this->getEntityRevisionLookup();
     $changeFactory = TestChanges::getEntityChangeFactory();
     $coalescer = new ChangeRunCoalescer($entityRevisionLookup, $changeFactory, 'enwiki');
     return $coalescer;
 }
 private function getRestoreDiff()
 {
     $item = $this->getNewItem();
     $item->getSiteLinkList()->addNewSiteLink('enwiki', 'Japan');
     $changeFactory = TestChanges::getEntityChangeFactory();
     $change = $changeFactory->newFromUpdate(ItemChange::RESTORE, null, $item);
     return $change->getSiteLinkDiff();
 }
 public function testGetAffectedUsagesByPage_withDeletedPage()
 {
     $pageTitle = 'RandomKitten-2x5jsg8j3bvmpm4!5';
     $affectedPagesFinder = new AffectedPagesFinder($this->getSiteLinkUsageLookup($pageTitle), new TitleFactory(), 'enwiki', 'en', false);
     $itemId = new ItemId('Q1');
     $changeFactory = TestChanges::getEntityChangeFactory();
     $change = $changeFactory->newFromUpdate(ItemChange::UPDATE, $this->getItemWithSiteLinks($itemId, array('enwiki' => $pageTitle)), new Item($itemId));
     $usages = $affectedPagesFinder->getAffectedUsagesByPage($change);
     $this->assertCount(0, $usages);
 }
 public function provideHandleChanges()
 {
     $empty = new Item(new ItemId('Q55668877'));
     $changeFactory = TestChanges::getEntityChangeFactory();
     $itemCreation = $changeFactory->newFromUpdate(EntityChange::ADD, null, $empty);
     $itemDeletion = $changeFactory->newFromUpdate(EntityChange::REMOVE, $empty, null);
     $itemCreation->setField('time', '20130101010101');
     $itemDeletion->setField('time', '20130102020202');
     return array(array(), array($itemCreation), array($itemDeletion), array($itemCreation, $itemDeletion));
 }
 public function testSetTimestamp()
 {
     $q7 = new ItemId('Q7');
     $changeFactory = TestChanges::getEntityChangeFactory();
     $change = $changeFactory->newForEntity(EntityChange::UPDATE, $q7);
     $timestamp = '20140523' . '174422';
     $change->setTimestamp($timestamp);
     $this->assertEquals($timestamp, $change->getTime());
 }