Metabor\Statemachine\Util\StateCollectionMergerTest::createSourceCollection PHP Method

createSourceCollection() protected method

protected createSourceCollection ( ) : StateCollection
return Metabor\Statemachine\StateCollection
    protected function createSourceCollection()
    {
        $sourceCollection = new StateCollection();
        $stateNew = new State('new');
        $stateNew['test'] = true;
        $stateNew[self::FLAG_FOR_TEST] = self::FLAG_FOR_TEST_VALUE;
        $sourceCollection->addState($stateNew);
        $stateInProcess = new State('in progress');
        $sourceCollection->addState($stateInProcess);
        $stateDone = new State('done');
        $sourceCollection->addState($stateDone);
        $stateNew->addTransition(new Transition($stateInProcess, 'start'));
        $callback = new \Metabor\Callback\Callback($this);
        $observer = new Callback($callback);
        $event = $stateNew->getEvent('start');
        $event->attach($observer);
        $event['event flag'] = 'has command';
        $event[self::FLAG_FOR_TEST] = self::FLAG_FOR_TEST_VALUE;
        $stateInProcess->addTransition(new Transition($stateDone, null, new Tautology('is finished')));
        return $sourceCollection;
    }