public function testHasKey()
 {
     $cachedir = '.rule-set';
     $key = 'some-rume-set';
     $filesystem = $this->prophesize('Symfony\\Component\\Filesystem\\Filesystem');
     $filesystem->exists($cachedir . '/' . $key)->willReturn(true)->shouldBeCalled();
     $cache = new Cache($filesystem->reveal(), true, $cachedir);
     $this->assertTrue($cache->has($key));
     $cache->disable();
     $this->assertFalse($cache->has('someOtherKey'));
 }
 /**
  * @param DirectoryTraverser $traverser
  * @param Configuration      $configuration
  *
  * @return LoaderInterface
  */
 private function getRuleSetLoader(DirectoryTraverser $traverser, Configuration $configuration)
 {
     $ruleSetCache = new Cache(new Filesystem());
     if ($configuration->useCachedRuleSet()) {
         $ruleSetCache->disable();
     } else {
         $ruleSetCache->setCacheDir($configuration->ruleSetCacheDir());
     }
     if (is_dir($configuration->ruleSet())) {
         $loader = new DirectoryLoader($traverser, $ruleSetCache);
     } elseif ('composer.lock' === basename($configuration->ruleSet())) {
         $loader = new ComposerLoader($traverser, $ruleSetCache, new ComposerFactory());
     } else {
         $loader = new FileLoader();
     }
     return $loader;
 }