/**
  * Register the validation factory.
  *
  * @return void
  */
 protected function registerValidationFactory()
 {
     $this->app->singleton('validator', function ($app) {
         $validator = new Factory($app['translator'], $app);
         // The validation presence verifier is responsible for determining the existence
         // of values in a given data collection, typically a relational database or
         // other persistent data stores. And it is used to check for uniqueness.
         if (isset($app['validation.presence'])) {
             $validator->setPresenceVerifier($app['validation.presence']);
         }
         return $validator;
     });
 }
 public function testCustomResolverIsCalled()
 {
     unset($_SERVER['__validator.factory']);
     $translator = m::mock('Symfony\\Component\\Translation\\TranslatorInterface');
     $factory = new Factory($translator);
     $factory->resolver(function ($translator, $data, $rules) {
         $_SERVER['__validator.factory'] = true;
         return new Cohensive\Validation\Validator($translator, $data, $rules);
     });
     $validator = $factory->make(array('foo' => 'bar'), array('baz' => 'boom'));
     $this->assertTrue($_SERVER['__validator.factory']);
     $this->assertEquals($translator, $validator->getTranslator());
     $this->assertEquals(array('foo' => 'bar'), $validator->getData());
     $this->assertEquals(array('baz' => array('boom')), $validator->getRules());
     unset($_SERVER['__validator.factory']);
 }