/**
  * @depends testCanConstruct
  */
 public function testPropertyAnnotationForEmptyConfigurationThrowsException()
 {
     $semanticData = $this->getMockBuilder('\\SMW\\SemanticData')->disableOriginalConstructor()->getMock();
     $configuration = array();
     $instance = new ExtraPropertyAnnotator($semanticData, $this->appFactory, $configuration);
     $this->setExpectedException('RuntimeException');
     $instance->addAnnotation();
 }
 private function registerCallbackHandlers($configuration)
 {
     $propertyRegistry = PropertyRegistry::getInstance();
     $this->handlers['smwInitProperties'] = function () use($propertyRegistry) {
         return $propertyRegistry->registerPropertiesAndAliases();
     };
     $this->handlers['SMW::SQLStore::updatePropertyTableDefinitions'] = function (&$propertyTableDefinitions) use($propertyRegistry, $configuration) {
         return $propertyRegistry->registerAsFixedTables($propertyTableDefinitions, $configuration);
     };
     $this->handlers['SMWStore::updateDataBefore'] = function ($store, $semanticData) use($configuration) {
         $appFactory = new AppFactory($configuration['wgShortUrlPrefix']);
         $propertyAnnotator = new ExtraPropertyAnnotator($semanticData, $appFactory, $configuration);
         return $propertyAnnotator->addAnnotation();
     };
 }