public function testCallableGenerator()
{
function generateName()
{
return func_get_arg(0);
}
$generator = new Custom("FileUpload\\FileNameGenerator\\generateName");
$playground_path = __DIR__ . '/../playground';
$filename = "picture.jpg";
$server = array('CONTENT_TYPE' => 'image/jpg', 'CONTENT_LENGTH' => 30321);
$file = array('tmp_name' => $playground_path . '/real-image.jpg', 'name' => 'real-image.jpg', 'size' => 30321, 'type' => 'image/jpg', 'error' => 0);
$fileUpload = new FileUpload($file, $server, $generator);
$fileUpload->setFileSystem(new Mock());
$fileUpload->setPathResolver(new Simple($playground_path . "/uploaded"));
$new_filename = generateName($filename, "image/jpg", "asdf.jpg", 0, "100", $fileUpload);
$this->assertEquals($generator->getFileName($filename, "image/jpg", "asdf.jpg", 0, "100", $fileUpload), $new_filename);
}