/**
  * @dataProvider rankProvider
  */
 public function testRankSerialization($rank)
 {
     $statement = new Statement(new PropertyNoValueSnak(new PropertyId('P42')));
     $statement->setRank($rank);
     $factory = new SerializerFactory(new DataValueSerializer());
     $statementSerializer = $factory->newStatementSerializer();
     $serialization = $statementSerializer->serialize($statement);
     $rankSerializer = new StatementRankSerializer();
     $this->assertEquals($rank, $rankSerializer->deserialize($serialization['rank']), 'Roundtrip between rank serialization and unserialization 1');
     $this->assertEquals($serialization['rank'], $rankSerializer->serialize($rank), 'Roundtrip between rank serialization and unserialization 2');
 }
 private function rankMatchesFilter($rank)
 {
     if ($rank === null) {
         return true;
     }
     if (isset($this->requestParams['rank'])) {
         $statementRankSerializer = new StatementRankSerializer();
         $unserializedRank = $statementRankSerializer->deserialize($this->requestParams['rank']);
         return $rank === $unserializedRank;
     }
     return true;
 }