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 testGetSerializerForUnregisteredSerializerThrowsException()
 {
     $instance = new SerializerFactory();
     $this->setExpectedException('OutOfBoundsException');
     $instance->getSerializerFor('Foo');
 }