<?php
/**
* ImageIterator SteganographyKit UnitTest
*
* @link https://github.com/picamator/SteganographyKit
* @license http://opensource.org/licenses/BSD-3-Clause New BSD License
*/
use Picamator\SteganographyKit\Iterator\ImageRandomIterator;
class ImageRandomIteratorTest extends BaseTest
{
/**
* @dataProvider providerIterator
* @param string $path
* @param array $imgSize
* @param integer $expectedSize
*/
public function testIterator($path, array $imgSize, $expectedSize)
{
$path = $this->getDataPath($path);
// mock image
$image = $this->getMock(
'Picamator\SteganographyKit\Image\Image',
array('getSize', 'getImage'),
array(array('path' => $path))
);
$image->expects($this->once())
->method('getSize')->will($this->returnValue($imgSize));
$imageSrc = imagecreatefrompng($path);
$image->expects($this->once())
->method('getImage')->will($this->returnValue($imageSrc));
// cretate iterator
$iterator = new ImageRandomIterator($image, 123456);
$actual = iterator_to_array($iterator);
$this->assertEquals($expectedSize, count($actual));
}
public function providerIterator()
{
return array(
array('original_50_50.png', array('width' => 1, 'height' => 3), 3),
array('original_50_50.png', array('width' => 3, 'height' => 1), 3),
array('original_50_50.png', array('width' => 1, 'height' => 1), 1),
array('original_50_50.png', array('width' => 1, 'height' => 2), 2),
array('original_50_50.png', array('width' => 50, 'height' => 50), 2500)
);
}
}
|