/**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $parser = new DirectoryParser();
     $files = $parser->parse($input->getArgument('folder'));
     if ($ignores = $input->getArgument('ignores')) {
         $ignores = explode(',', $ignores);
         $filter = new Filter();
         $files = $filter->getFiltered($files, $ignores);
     }
     $dumper = new FileDumper($input->getArgument('directives'));
     $dumper->dump($files);
     $output->writeln('<info>Directives are dumped successfully!</info>');
 }
 /**
  * @test
  */
 public function dump()
 {
     $root = vfsStream::setup('root');
     vfsStream::newFile('directives.csv')->at($root);
     $dumper = new FileDumper(vfsStream::url('root/directives.csv'));
     $values = [['add', 'file1', 'file1'], ['add', 'file2', 'file2']];
     $dumper->dump($values);
     $reader = new \SplFileObject(vfsStream::url('root/directives.csv'));
     $actual = [];
     while ($reader->eof() === false) {
         $actual[] = $reader->fgetcsv();
     }
     $this->assertEquals($values, $actual);
 }