1
0
mirror of https://github.com/Intervention/image.git synced 2025-08-21 05:01:20 +02:00

Refactor CoreTest

This commit is contained in:
Oliver Vogel
2024-01-15 20:39:20 +01:00
parent 10561b8097
commit fe09cd5277

View File

@@ -10,154 +10,111 @@ use Intervention\Image\Tests\TestCase;
class CoreTest extends TestCase
{
public function testConstructor(): void
protected Core $core;
public function setUp(): void
{
$imagick = new Imagick();
$core = new Core($imagick);
$this->assertInstanceOf(Core::class, $core);
$im = new Imagick();
$im->newImage(10, 10, new ImagickPixel('red'));
$imagick->addImage($im);
$im = new Imagick();
$im->newImage(10, 10, new ImagickPixel('green'));
$imagick->addImage($im);
$im = new Imagick();
$im->newImage(10, 10, new ImagickPixel('blue'));
$imagick->addImage($im);
$this->core = new Core($imagick);
}
public function testAdd(): void
{
$imagick = new Imagick();
$imagick->newImage(100, 100, new ImagickPixel('red'));
$core = new Core($imagick);
$this->assertEquals(1, $core->count());
$result = $core->add(new Frame(clone $imagick));
$this->assertEquals(2, $core->count());
$this->assertEquals(3, $this->core->count());
$result = $this->core->add(new Frame($imagick));
$this->assertEquals(4, $this->core->count());
$this->assertInstanceOf(Core::class, $result);
}
public function testCount(): void
{
$imagick = new Imagick();
$imagick->newImage(100, 100, new ImagickPixel('red'));
$imagick->addImage(clone $imagick);
$core = new Core($imagick);
$this->assertEquals(2, $core->count());
$this->assertEquals(3, $this->core->count());
}
public function testIterator(): void
{
$imagick = new Imagick();
$imagick->newImage(100, 100, new ImagickPixel('red'));
$imagick->addImage(clone $imagick);
$core = new Core($imagick);
foreach ($core as $frame) {
foreach ($this->core as $frame) {
$this->assertInstanceOf(Frame::class, $frame);
}
}
public function testNative(): void
{
$imagick = new Imagick();
$imagick->newImage(100, 100, new ImagickPixel('red'));
$core = new Core($imagick);
$this->assertInstanceOf(Imagick::class, $core->native());
$this->assertInstanceOf(Imagick::class, $this->core->native());
}
public function testSetGetLoops(): void
{
$imagick = new Imagick();
$imagick->newImage(100, 100, new ImagickPixel('red'));
$core = new Core($imagick);
$this->assertEquals(0, $core->loops());
$result = $core->setLoops(12);
$this->assertEquals(12, $core->loops());
$this->assertEquals(0, $this->core->loops());
$result = $this->core->setLoops(12);
$this->assertEquals(12, $this->core->loops());
$this->assertInstanceOf(Core::class, $result);
}
public function testHas(): void
{
$imagick = new Imagick();
$imagick->newImage(100, 100, new ImagickPixel('red'));
$imagick->addImage(clone $imagick);
$core = new Core($imagick);
$this->assertTrue($core->has(0));
$this->assertTrue($core->has(1));
$this->assertFalse($core->has(2));
$this->assertTrue($this->core->has(0));
$this->assertTrue($this->core->has(1));
$this->assertTrue($this->core->has(2));
$this->assertFalse($this->core->has(3));
}
public function testPush(): void
{
$imagick = new Imagick();
$imagick->newImage(100, 100, new ImagickPixel('red'));
$imagick->addImage(clone $imagick);
$core = new Core($imagick);
$this->assertEquals(2, $core->count());
$im = new Imagick();
$im->newImage(100, 100, new ImagickPixel('green'));
$result = $core->push(new Frame($im));
$this->assertEquals(3, $core->count());
$this->assertEquals(3, $result->count());
$this->assertEquals(3, $this->core->count());
$result = $this->core->push(new Frame($im));
$this->assertEquals(4, $this->core->count());
$this->assertEquals(4, $result->count());
}
public function testGet(): void
{
$imagick = new Imagick();
$imagick->newImage(100, 100, new ImagickPixel('red'));
$imagick->addImage(clone $imagick);
$core = new Core($imagick);
$this->assertInstanceOf(Frame::class, $core->get(0));
$this->assertInstanceOf(Frame::class, $core->get(1));
$this->assertNull($core->get(2));
$this->assertEquals('foo', $core->get(2, 'foo'));
$this->assertInstanceOf(Frame::class, $this->core->get(0));
$this->assertInstanceOf(Frame::class, $this->core->get(1));
$this->assertInstanceOf(Frame::class, $this->core->get(2));
$this->assertNull($this->core->get(3));
$this->assertEquals('foo', $this->core->get(3, 'foo'));
}
public function testEmpty(): void
{
$imagick = new Imagick();
$imagick->newImage(100, 100, new ImagickPixel('red'));
$imagick->addImage(clone $imagick);
$core = new Core($imagick);
$this->assertEquals(2, $core->count());
$result = $core->empty();
$this->assertEquals(0, $core->count());
$result = $this->core->empty();
$this->assertEquals(0, $this->core->count());
$this->assertEquals(0, $result->count());
}
public function testSlice(): void
{
$imagick = new Imagick();
$im = new Imagick();
$im->newImage(10, 10, new ImagickPixel('red'));
$imagick->addImage($im);
$im = new Imagick();
$im->newImage(10, 10, new ImagickPixel('green'));
$imagick->addImage($im);
$im = new Imagick();
$im->newImage(10, 10, new ImagickPixel('blue'));
$imagick->addImage($im);
$core = new Core($imagick);
$this->assertEquals(3, $core->count());
$result = $core->slice(1, 2);
$this->assertEquals(2, $core->count());
$this->assertEquals(3, $this->core->count());
$result = $this->core->slice(1, 2);
$this->assertEquals(2, $this->core->count());
$this->assertEquals(2, $result->count());
}
public function testFirst(): void
{
$this->assertInstanceOf(Frame::class, $this->core->first());
}
public function testLast(): void
{
$imagick = new Imagick();
$im = new Imagick();
$im->newImage(10, 10, new ImagickPixel('red'));
$imagick->addImage($im);
$im = new Imagick();
$im->newImage(10, 10, new ImagickPixel('green'));
$imagick->addImage($im);
$im = new Imagick();
$im->newImage(10, 10, new ImagickPixel('blue'));
$imagick->addImage($im);
$core = new Core($imagick);
$result = $core->last();
$this->assertInstanceOf(Frame::class, $result);
$this->assertInstanceOf(Frame::class, $this->core->last());
}
}