/**
* {@inheritdoc}
*/
protected function execute(InputInterface $input, OutputInterface $output)
{
if ($input->getOption('list')) {
$output->writeln(Loader::getCategories($this->path()));
return;
}
$categories = $input->getArgument('categories');
$number = $input->getOption('number');
$set = Loader::init($number, $categories, $this->path());
if ($set->getQuestions()) {
$output->writeln(sprintf('Starting a new set of <info>%s</info> questions (available questions: <info>%s</info>)', count($set->getQuestions()), Loader::count(array(), $this->path())));
$this->askQuestions($set, $input, $output);
$this->displayResults($set, $output);
} else {
$output->writeln('<error>✗</error> No questions can be found.');
}
}