public function testPutRedirect()
 {
     $redirect = new EntityRedirect(new ItemId('Q11'), new ItemId('Q1'));
     $this->repo->putRedirect($redirect);
     try {
         $this->repo->getEntityRevision(new ItemId('Q11'));
         $this->fail('getEntityRevision() should fail for redirects');
     } catch (RevisionedUnresolvedRedirectException $ex) {
         $this->assertEquals('Q1', $ex->getRedirectTargetId()->getSerialization());
         $this->assertGreaterThan(0, $ex->getRevisionId());
         $this->assertNotEmpty($ex->getRevisionTimestamp());
     }
     $this->repo->putRedirect($redirect, 117, '20150505000000');
     try {
         $this->repo->getEntityRevision(new ItemId('Q11'));
         $this->fail('getEntityRevision() should fail for redirects');
     } catch (RevisionedUnresolvedRedirectException $ex) {
         $this->assertEquals('Q1', $ex->getRedirectTargetId()->getSerialization());
         $this->assertEquals(117, $ex->getRevisionId());
         $this->assertEquals('20150505000000', $ex->getRevisionTimestamp());
     }
 }