/**
  * {@inheritdoc}
  */
 public function match(Transition $transition, Item $item, Context $context, ErrorCollection $errorCollection)
 {
     $permission = $transition->getPermission();
     if ($this->checkPermission($permission)) {
         return true;
     }
     $errorCollection->addError('transition.condition.transition-permission', array((string) $permission));
     return false;
 }
 function it_does_not_match_if_transition_has_no_permission(Transition $transition, Item $item, Context $context, ErrorCollection $errorCollection)
 {
     $transition->getPermission()->willReturn(null);
     $errorCollection->addError(Argument::cetera())->shouldBeCalled();
     $this->match($transition, $item, $context, $errorCollection)->shouldReturn(false);
 }