Example #1
0
 /**
  * @dataProvider dataProviderIsAllow
  */
 public function testIsAllow(array $states, $defaultState, $stateCollection, array $authorizedStates)
 {
     $graph = new Graph();
     foreach ($states as $i => $state) {
         $spec = "spec" . $i;
         ${$spec} = new \mock\Rezzza\Workflow\Specification\SpecificationInterface();
         ${$spec}->getMockController()->isSatisfiedBy = (bool) $state;
         $graph->addState(sprintf('state%s', $i + 1), new TestedClass($stateCollection, ${$spec}));
     }
     $data = new \stdClass();
     $data->state = $defaultState;
     $workflow = new Workflow($graph, $data, 'state');
     $this->array($workflow->getAuthorizedStates())->isIdenticalTo($authorizedStates);
 }