/** * Return MachineManager. * * @param string $stateLineNamespace StateLine Entity Namespace * * @return MachineManager Machine Manager */ public function getMachineManager($stateLineNamespace = 'Elcodi\\Component\\StateTransitionMachine\\Entity\\StateLine') { $machine = $this->getMachine(); $stateLineFactory = new StateLineFactory(); $stateLineFactory->setEntityNamespace($stateLineNamespace); $stateLineFactory->setDateTimeFactory(new DateTimeFactory()); /** * @var EventDispatcherInterface $eventDispatcher */ $eventDispatcher = $this->getMock('Elcodi\\Component\\StateTransitionMachine\\EventDispatcher\\MachineEventDispatcher', [], [], '', false); $machineManager = new MachineManager($machine, $eventDispatcher, $stateLineFactory); return $machineManager; }
/** * Return MachineManager * * @param integer $nbEventDispatcherCalls Number of times eventDispatcher::dispatch will be called * @param string $stateLineNamespace StateLine Entity Namespace * * @return MachineManager Machine Manager */ public function getMachineManager($nbEventDispatcherCalls = 4, $stateLineNamespace = 'Elcodi\\Component\\StateTransitionMachine\\Entity\\StateLine') { $machine = $this->getMachine(); $stateLineFactory = new StateLineFactory(); $stateLineFactory->setEntityNamespace($stateLineNamespace); $stateLineFactory->setDateTimeFactory(new DateTimeFactory()); /** * @var EventDispatcherInterface $eventDispatcher */ $eventDispatcher = $this->getMock('Symfony\\Component\\EventDispatcher\\EventDispatcherInterface'); $eventDispatcher->expects($this->exactly($nbEventDispatcherCalls))->method('dispatch'); $machineManager = new MachineManager($machine, $eventDispatcher, $stateLineFactory); return $machineManager; }
/** * Create an state line given its name and description * * @param string $name Name * @param string $description Description * * @return StateLineInterface State Line */ public function createStateLine($name, $description) { $stateLine = $this->stateLineFactory->create()->setName($name)->setDescription($description); return $stateLine; }