/**
  * Should be able to pre-process an image resource into an imagick
  * container.
  */
 public function testPreProcess()
 {
     /** @var Image|MockObject $image */
     $image = $this->makeMock(Image::class);
     /** @var ImageTransformer|MockObject $transformer */
     $transformer = $this->makeMock(ImageTransformer::class);
     $transformer->expects($this->atLeastOnce())->method('applyTo');
     $this->imagePreProcessor->addTransformer($transformer);
     $collection = $this->imagePreProcessor->preProcess($image);
     $this->assertInstanceOf(ImagickCollection::class, $collection);
 }
 /**
  * Register the service provider.
  *
  * @return void
  */
 public function register()
 {
     $this->app->bind(ImagickContract::class, function () {
         return new ImagickAdapter(new Imagick());
     });
     $this->app->bind(ImagePreProcessor::class, function (Application $app) {
         $processor = new ImagePreProcessor($app->make(ImagickContract::class));
         foreach ($this->transformerClasses as $transformerClass) {
             $processor->addTransformer($app->make($transformerClass));
         }
         return $processor;
     });
 }