public function testQualifiersOrderDeserialization() { $snakDeserializerMock = $this->getMock('\\Deserializers\\Deserializer'); $snakDeserializerMock->expects($this->any())->method('deserialize')->with($this->equalTo(array('snaktype' => 'novalue', 'property' => 'P42')))->will($this->returnValue(new PropertyNoValueSnak(42))); $snaksDeserializerMock = $this->getMock('\\Deserializers\\Deserializer'); $snaksDeserializerMock->expects($this->any())->method('deserialize')->with($this->equalTo(array('P24' => array(array('snaktype' => 'novalue', 'property' => 'P24')), 'P42' => array(array('snaktype' => 'somevalue', 'property' => 'P42'), array('snaktype' => 'novalue', 'property' => 'P42')))))->will($this->returnValue(new SnakList(array(new PropertyNoValueSnak(24), new PropertySomeValueSnak(42), new PropertyNoValueSnak(42))))); $referencesDeserializerMock = $this->getMock('\\Deserializers\\Deserializer'); $statementDeserializer = new StatementDeserializer($snakDeserializerMock, $snaksDeserializerMock, $referencesDeserializerMock); $statement = new Statement(new PropertyNoValueSnak(42)); $statement->setQualifiers(new SnakList(array(new PropertySomeValueSnak(42), new PropertyNoValueSnak(42), new PropertyNoValueSnak(24)))); $serialization = array('mainsnak' => array('snaktype' => 'novalue', 'property' => 'P42'), 'qualifiers' => array('P24' => array(array('snaktype' => 'novalue', 'property' => 'P24')), 'P42' => array(array('snaktype' => 'somevalue', 'property' => 'P42'), array('snaktype' => 'novalue', 'property' => 'P42'))), 'qualifiers-order' => array('P42', 'P24'), 'type' => 'claim'); $this->assertEquals($statement->getHash(), $statementDeserializer->deserialize($serialization)->getHash()); }
public function testGuidDoesNotAffectHash() { $statement0 = new Statement(new PropertyNoValueSnak(42)); $statement0->setGuid('statement0'); $statement1 = new Statement(new PropertyNoValueSnak(42)); $statement1->setGuid('statement1'); $this->assertEquals($statement0->getHash(), $statement1->getHash()); }