public function testFiltersStatesThatHaveTransitionsWithoutAnEvent()
{
$eventName = 'event';
$stateCollection = new StateCollection();
$helper = new SetupHelper($stateCollection);
$helper->findOrCreateTransition('foo', 'bar', $eventName);
$helper->findOrCreateTransition('bar', 'baz', null, new Tautology('condition'));
$filter = new FilterStateByTransition($stateCollection->getStates());
$filteredStates = iterator_to_array($filter);
$this->assertNotContains($stateCollection->getState('foo'), $filteredStates);
$this->assertContains($stateCollection->getState('bar'), $filteredStates);
$this->assertNotContains($stateCollection->getState('baz'), $filteredStates);
}