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)));
 }
示例#2
0
 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));
 }