public function testExtensionClear()
 {
     DatasourceRepository::registerExtension('example_source', 'Faker\\Tests\\Engine\\Common\\Datasource\\ExampleDatasource');
     DatasourceRepository::clearExtensions();
     $repo = new DatasourceRepository();
     $this->assertEquals($repo->find('example_source'), null);
 }
 /**
  *  Returns a datasource definition 
  *
  *  @return Faker\Components\Engine\Common\Datasource\AbstractDefinition
  *  @access public
  */
 public function customDatasource($alias)
 {
     if (($resolvedAlias = $this->repo->find($alias)) === null) {
         throw new EngineException("{$alias} not found in datasource definition repository unable to create definition");
     }
     $field = new $resolvedAlias();
     # set the basic fields need by each type
     $field->generator($this->generator);
     $field->utilities($this->utilities);
     $field->database($this->database);
     $field->locale($this->locale);
     $field->eventDispatcher($this->eventDispatcher);
     //$field->templateLoader($this->templateLoader);
     $field->setParent($this);
     # return the definition for configuration by user
     return $field;
 }