/**
  * {@inheritdoc}
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $module = $input->getOption('module');
     $class_name = $input->getOption('class');
     $machine_name = $input->getOption('machine-name');
     $label = $input->getOption('label');
     $this->generator->generate($module, $class_name, $machine_name, $label);
 }
 /**
  * PluginTypeAnnotation generator test
  *
  * @param $module
  * @param $class_name
  * @param $machine_name
  * @param $label
  *
  * @dataProvider commandData
  */
 public function testGeneratePluginTypeAnnotation($module, $class_name, $machine_name, $label)
 {
     $generator = new PluginTypeAnnotationGenerator();
     $this->getRenderHelper()->setSkeletonDirs($this->getSkeletonDirs());
     $this->getRenderHelper()->setTranslator($this->getTranslatorHelper());
     $generator->setHelperSet($this->getHelperSet());
     $generator->generate($module, $class_name, $machine_name, $label);
     $files = [$generator->getSite()->getSourcePath($module) . '/Annotation/' . $class_name . '.php', $generator->getSite()->getSourcePath($module) . '/Plugin/' . $class_name . 'Base.php', $generator->getSite()->getSourcePath($module) . '/Plugin/' . $class_name . 'Interface.php', $generator->getSite()->getSourcePath($module) . '/Plugin/' . $class_name . 'Manager.php', $generator->getSite()->getModulePath($module) . '/' . $module . '.services.yml'];
     foreach ($files as $file) {
         $this->assertTrue(file_exists($file), sprintf('%s does not exist', $file));
     }
 }