public function testRoundtripOfSerializedSemanticDataAfterStoreUpdate() { $subject = DIWikiPage::newFromTitle(Title::newFromText(__METHOD__)); $semanticDataBeforeUpdate = new SemanticData($subject); $subobject = new Subobject($subject->getTitle()); $subobject->setEmptyContainerForId('SomeSubobjectToSerialize'); $subobject->getSemanticData()->addDataValue(DataValueFactory::getInstance()->newDataValueByText('Foo', 'Bar')); $semanticDataBeforeUpdate->addSubobject($subobject); $this->getStore()->updateData($semanticDataBeforeUpdate); $semanticDataAfterUpdate = $this->getStore()->getSemanticData($subject); $serializerFactory = new SerializerFactory(); $serialization = $serializerFactory->getSerializerFor($semanticDataAfterUpdate)->serialize($semanticDataAfterUpdate); $this->assertEquals($semanticDataAfterUpdate->getHash(), $serializerFactory->getDeserializerFor($serialization)->deserialize($serialization)->getHash()); }
public function testGetDeserializerForUnregisteredSerializerThrowsException() { $instance = new SerializerFactory(); $this->setExpectedException('OutOfBoundsException'); $instance->getDeserializerFor(array('Foo')); }