/**
  * @test
  */
 public function itShouldDisablePreCommitHook()
 {
     $this->shouldAsk(HookQuestions::PRE_COMMIT_HOOK, HookQuestions::DEFAULT_TOOL_ANSWER, 'n');
     $preCommitData = $this->preCommitProcessor->process(PreCommitStub::createUndefined(), $this->io);
     $this->assertFalse($preCommitData->isEnabled());
     $this->assertFalse($preCommitData->isUndefined());
     $this->assertNull($preCommitData->getMessages()->getRightMessage()->value());
     $this->assertNull($preCommitData->getMessages()->getErrorMessage()->value());
     /** @var Execute $execute */
     $execute = $preCommitData->getExecute();
     $tools = $execute->execute();
     $composer = $tools[0];
     $jsonLint = $tools[1];
     $phpLint = $tools[2];
     /** @var PhpUnitStrictCoverage $phpunitStrictCoverage */
     $phpunitStrictCoverage = $tools[7];
     $this->assertFalse($composer->isEnabled());
     $this->assertFalse($composer->isUndefined());
     $this->assertFalse($jsonLint->isEnabled());
     $this->assertFalse($jsonLint->isUndefined());
     $this->assertFalse($phpLint->isEnabled());
     $this->assertFalse($phpLint->isUndefined());
     $this->assertFalse($phpunitStrictCoverage->isUndefined());
 }
 /**
  * @param Config $configData
  *
  * @return PreCommit
  */
 private function preCommitProcess(Config $configData)
 {
     /**  @var PreCommit $preCommitData */
     $preCommitData = $configData->getPreCommit();
     return $this->preCommitProcessor->process($preCommitData, $this->io);
 }