/**
  * Test initlization
  */
 public function testInitilization()
 {
     $resolvable = new ResolvableAuthorization();
     $resolvable->initialize($this->context, ['params']);
     $this->assertSame($this->context, $resolvable->context);
     $this->assertSame(['params'], $resolvable->params);
     $this->assertFalse($resolvable->resolved());
     $this->assertNull($resolvable->state());
     $this->assertTrue($resolvable->value());
 }
 /**
  * Resolve unregistered resolvable
  *
  * @param array $params
  * @return null|void
  */
 public function resolve($params = [])
 {
     parent::resolve($params);
     if (!ResolvableAuthorizationRegistry::isRegistered($this->resolvable)) {
         $this->manager->resolve($this->resolvable, $params);
     }
 }
 /**
  * Initialization
  *
  * Load all resolvables
  *
  * @param AuthorizationContext $context
  * @param array $params
  * @return null
  * @throws \InvalidArgumentException
  */
 public function initialize(AuthorizationContext $context, $params = [])
 {
     parent::initialize($context, $params);
     $this->manager = $context->manager;
     $this->resolvables = (array) $params;
 }
 public function resolve($params = [])
 {
     parent::resolve($params);
     $this->_state = call_user_func($this->params, $this->context, $params);
 }