public function testSmartSize($imageDimensions, $params, $cropParams)
{
$imagick = $this->getMock('Imagick');
$imagick->expects($this->any())->method('cropImage')->with($cropParams['width'], $cropParams['height'], $cropParams['left'], $cropParams['top']);
$image = new Image();
$image->setWidth($imageDimensions['width']);
$image->setHeight($imageDimensions['height']);
$response = new Response();
$event = $this->getMock('Imbo\\EventManager\\Event');
$event->expects($this->at(0))->method('getArgument')->with('image')->will($this->returnValue($image));
$event->expects($this->at(1))->method('getArgument')->with('params')->will($this->returnValue($params));
$event->expects($this->at(2))->method('getResponse')->will($this->returnValue($response));
$transformation = new SmartSize();
$transformation->setImagick($imagick);
$transformation->transform($event);
}