triggerEvent() public method

public triggerEvent ( string $name, ArrayAccess $context = null )
$name string
$context ArrayAccess
コード例 #1
0
 /**
  *
  */
 public function testTriggerEventIfStatusIsChangedAndNewStateHasRegisteredEvent()
 {
     $process = new Process('process_name', new State('initinal'));
     $collection = new StateCollection();
     $helper = new SetupHelper($collection);
     $helper->findOrCreateTransition('initinal', 'second', 'go');
     $helper->findOrCreateTransition('second', 'error', 'error');
     $eventName = 'eventName';
     $helper->findOrCreateTransition('second', 'final', $eventName);
     $process->merge($collection);
     $subject = new \stdClass();
     $statemachine = new Statemachine($subject, $process);
     $statemachine->attach(new OnEnterObserver($eventName));
     $statemachine->triggerEvent('go');
     $this->assertEquals($process->getState('final'), $statemachine->getCurrentState());
 }