/**
  * {@inheritdoc}
  */
 public function warmUp($cacheDir)
 {
     if (!class_exists(CacheClassMetadataFactory::class) || !method_exists(XmlFileLoader::class, 'getMappedClasses') || !method_exists(YamlFileLoader::class, 'getMappedClasses')) {
         return;
     }
     $adapter = new PhpArrayAdapter($this->phpArrayFile, $this->fallbackPool);
     $arrayPool = new ArrayAdapter(0, false);
     $metadataFactory = new CacheClassMetadataFactory(new ClassMetadataFactory(new LoaderChain($this->loaders)), $arrayPool);
     foreach ($this->extractSupportedLoaders($this->loaders) as $loader) {
         foreach ($loader->getMappedClasses() as $mappedClass) {
             $metadataFactory->getMetadataFor($mappedClass);
         }
     }
     $values = $arrayPool->getValues();
     $adapter->warmUp($values);
     foreach ($values as $k => $v) {
         $item = $this->fallbackPool->getItem($k);
         $this->fallbackPool->saveDeferred($item->set($v));
     }
     $this->fallbackPool->commit();
 }
 /**
  * @expectedException \Symfony\Component\Serializer\Exception\InvalidArgumentException
  */
 public function testInvalidClassThrowsException()
 {
     $decorated = $this->getMockBuilder(ClassMetadataFactoryInterface::class)->getMock();
     $factory = new CacheClassMetadataFactory($decorated, new ArrayAdapter());
     $factory->getMetadataFor('Not\\Exist');
 }
 /**
  * @expectedException \Symfony\Component\Serializer\Exception\InvalidArgumentException
  */
 public function testInvalidClassThrowsException()
 {
     $decorated = $this->getMock('Symfony\\Component\\Serializer\\Mapping\\Factory\\ClassMetadataFactoryInterface');
     $factory = new CacheClassMetadataFactory($decorated, new ArrayAdapter());
     $factory->getMetadataFor('Not\\Exist');
 }