/**
*
*/
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());
}