public function testSubtitleFileWillOnlyBeSavedWhenSubtitleWasFound()
 {
     // mock the sub provider
     $mock = \Mockery::mock('\\Mihaeu\\SubCollector\\Provider\\SubProviderInterface');
     $mock->shouldReceive('createMovieHashFromMovieFile')->andReturn(false);
     $subCollector = new SubCollector($mock);
     $fakeMovieWithoutSubtitle = new Movie(vfsStream::url('testDir') . DIRECTORY_SEPARATOR . 'movies' . DIRECTORY_SEPARATOR . 'Die Hard.mkv');
     $this->assertFalse($subCollector->addSubtitleToMovie($fakeMovieWithoutSubtitle));
 }
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $subCollector = new SubCollector($this->subProvider);
     $movieFinder = new Finder($input->getArgument('path'));
     $movies = $movieFinder->findFilesInFolder();
     /** @var Movie $movie */
     foreach ($movies as $movie) {
         if ($movie->hasNoSubtitle()) {
             $subtitleHasBeenDownloaded = $subCollector->addSubtitleToMovie($movie);
             if ($subtitleHasBeenDownloaded) {
                 $output->writeln('<info>Downloaded subtitle for ' . $movie->getName() . '</info>');
             } else {
                 $output->writeln('<comment>No exact match found for ' . $movie->getName() . '</comment>');
             }
         } else {
             $output->writeln('<comment>' . $movie->getName() . ' already has a subtitle.</comment>');
         }
     }
 }