public function testResolveShouldPrependNamespaceWithHigherPriority()
 {
     $factory = m::mock('Krucas\\Permission\\Factory\\ValidatorFactoryInterface');
     $factory->shouldReceive('make')->once()->with('\\Namespace\\Higher\\User\\Edit');
     $resolver = new ObjectDriver($factory);
     $resolver->registerNamespace('Namespace', 0);
     $resolver->registerNamespace('Namespace\\Higher', 1);
     $resolver->getValidator('user.edit');
 }
 /**
  * Register the service provider.
  *
  * @return void
  */
 public function register()
 {
     $this->app['config']->package('edvinaskrucas/permission', __DIR__ . '/../../../../config');
     $this->app['permission'] = $this->app->share(function ($app) {
         $factory = new ValidatorFactory();
         $factory->setContainer($app);
         $driver = new ObjectDriver($factory);
         $namespaces = $app['config']->get('permission::namespaces');
         if (count($namespaces) > 0) {
             foreach ($namespaces as $namespace => $priority) {
                 $driver->registerNamespace($namespace, $priority);
             }
         }
         $manager = new Manager($driver);
         return $manager;
     });
     require_once __DIR__ . '/functions.php';
 }