public function testSnaksOrderDeserialization() { $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(new PropertyId('P24')), new PropertySomeValueSnak(new PropertyId('P42')), new PropertyNoValueSnak(new PropertyId('P42')))))); $referenceDeserializer = new ReferenceDeserializer($snaksDeserializerMock); $reference = new Reference(new SnakList(array(new PropertySomeValueSnak(new PropertyId('P42')), new PropertyNoValueSnak(new PropertyId('P42')), new PropertyNoValueSnak(new PropertyId('P24'))))); $serialization = array('hash' => '20726a1e99eab73834c0f4a25f3c5c2561993e6e', 'snaks' => array('P24' => array(array('snaktype' => 'novalue', 'property' => 'P24')), 'P42' => array(array('snaktype' => 'somevalue', 'property' => 'P42'), array('snaktype' => 'novalue', 'property' => 'P42'))), 'snaks-order' => array('P42', 'P24')); $this->assertTrue($reference->equals($referenceDeserializer->deserialize($serialization))); }
public function testReferenceEqualsReferenceWithDifferentSnakOrder() { $reference0 = new Reference(array(new PropertyNoValueSnak(1337), new PropertyNoValueSnak(42))); $reference1 = new Reference(array(new PropertyNoValueSnak(42), new PropertyNoValueSnak(1337))); $this->assertTrue($reference0->equals($reference1)); }