public function testExecute() { $modules = new Modules(); $moduleA = new Module(); $moduleA->setTasks(['Samurai\\Module\\resources\\TaskA', 'Samurai\\Module\\resources\\TaskB']); $modules[] = $moduleA; $moduleB = new Module(); $moduleB->setTasks(['Samurai\\Module\\resources\\TaskC']); $modules[] = $moduleB; $input = new ArrayInput([]); $output = new BufferedOutput(); $questionHelper = $this->getQuestionHelperMock(); $adapter = new PlannerAdapter(new ModulesPlannerBuilder(new Container(), $modules, $questionHelper), $questionHelper); $this->assertSame(ITask::NO_ERROR_CODE, $adapter->execute($input, $output)); $this->assertSame('ABC', $output->fetch()); }
/** * @param InputInterface $input * @param OutputInterface $output * @param Module $module * @return int|null */ private function runModule(InputInterface $input, OutputInterface $output, Module $module) { $output->writeln('<info>Running the module "' . $module->getName() . '"</info>'); $planner = new PlannerAdapter(new ModulePlannerBuilder($this->getServices(), $module), $this->getService('helper_set')->get('question')); return $planner->execute($input, $output); }