/** * @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; }