public function testRes()
 {
     $image = new ImageResource('Ford Mustang 1972', array('/images/1972_ford_mustang-wide.jpg', '/images/1972_ford_mustang-mini.jpg'), array('root_dir' => __DIR__ . '/tmp', 'output_dir' => '/images/test', 'images' => array(array('index' => 0, 'suffix' => 'test', 'width' => 1000, 'height' => 800, 'format' => 'jpg'), array('index' => 1, 'suffix' => 'ok', 'width' => 300, 'height' => 150, 'format' => 'png'))));
     $url = new UrlManager();
     $url->setBaseUrl('/tmp/');
     $imageStorage = new ImagineImagesStorage();
     $image->setUrlManager($url);
     $image->setImagesStorage($imageStorage);
     $image->save();
     $imagine = new Imagine();
     $size = $imagine->open(__DIR__ . '/tmp/images/test/1972_ford_mustang-mini_ok_300x150.png')->getSize();
     $this->assertEquals(300, $size->getWidth());
     $this->assertEquals(150, $size->getHeight());
     $size = $imagine->open(__DIR__ . '/tmp/images/test/1972_ford_mustang-wide_test_1000x800.jpg')->getSize();
     $this->assertEquals(1000, $size->getWidth());
     $this->assertEquals(800, $size->getHeight());
     $image->cleanup();
     $this->assertEquals(0, count(glob(__DIR__ . "/tmp/images/test/*")));
     $urls = $image->getUrl();
     $this->assertEquals('/tmp/images/test/1972_ford_mustang-wide_test_1000x800.jpg', $urls[0]);
     $this->assertEquals('/tmp/images/test/1972_ford_mustang-mini_ok_300x150.png', $urls[1]);
 }
 /**
  * @param object $obj
  * @param string $fieldName
  * @param string|null $layout
  *
  * @return ImageResource
  */
 protected function createImageResource($obj, $fieldName, $layout)
 {
     $loader = $this->getLoader($obj, $fieldName);
     $config = $loader->getConfig();
     $options = $loader->getOptions();
     $fileName = $this->asset($obj, $fieldName);
     $sources = [$fileName ? $fileName : $this->getDefaultPath()];
     $resource = new ImageResource($this->getAlt($obj, isset($config['alt_property']) ? $config['alt_property'] : null), $sources, array_merge(['root_dir' => $options['images_root_dir'], 'output_dir' => $options['images_output_dir']], $config));
     $resource->setImagesStorage(new ImagesStorage($this->filterConfiguration, $this->cacheManager, $this->mappingService, get_class($obj), $fieldName, $layout));
     return $resource;
 }