1
0
mirror of https://github.com/Intervention/image.git synced 2025-08-21 21:15:11 +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 class CoreTest extends TestCase
{ {
public function testConstructor(): void protected Core $core;
public function setUp(): void
{ {
$imagick = new Imagick(); $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 public function testAdd(): void
{ {
$imagick = new Imagick(); $imagick = new Imagick();
$imagick->newImage(100, 100, new ImagickPixel('red')); $imagick->newImage(100, 100, new ImagickPixel('red'));
$core = new Core($imagick); $this->assertEquals(3, $this->core->count());
$this->assertEquals(1, $core->count()); $result = $this->core->add(new Frame($imagick));
$result = $core->add(new Frame(clone $imagick)); $this->assertEquals(4, $this->core->count());
$this->assertEquals(2, $core->count());
$this->assertInstanceOf(Core::class, $result); $this->assertInstanceOf(Core::class, $result);
} }
public function testCount(): void public function testCount(): void
{ {
$imagick = new Imagick(); $this->assertEquals(3, $this->core->count());
$imagick->newImage(100, 100, new ImagickPixel('red'));
$imagick->addImage(clone $imagick);
$core = new Core($imagick);
$this->assertEquals(2, $core->count());
} }
public function testIterator(): void public function testIterator(): void
{ {
$imagick = new Imagick(); foreach ($this->core as $frame) {
$imagick->newImage(100, 100, new ImagickPixel('red'));
$imagick->addImage(clone $imagick);
$core = new Core($imagick);
foreach ($core as $frame) {
$this->assertInstanceOf(Frame::class, $frame); $this->assertInstanceOf(Frame::class, $frame);
} }
} }
public function testNative(): void public function testNative(): void
{ {
$imagick = new Imagick(); $this->assertInstanceOf(Imagick::class, $this->core->native());
$imagick->newImage(100, 100, new ImagickPixel('red'));
$core = new Core($imagick);
$this->assertInstanceOf(Imagick::class, $core->native());
} }
public function testSetGetLoops(): void public function testSetGetLoops(): void
{ {
$imagick = new Imagick(); $this->assertEquals(0, $this->core->loops());
$imagick->newImage(100, 100, new ImagickPixel('red')); $result = $this->core->setLoops(12);
$core = new Core($imagick); $this->assertEquals(12, $this->core->loops());
$this->assertEquals(0, $core->loops());
$result = $core->setLoops(12);
$this->assertEquals(12, $core->loops());
$this->assertInstanceOf(Core::class, $result); $this->assertInstanceOf(Core::class, $result);
} }
public function testHas(): void public function testHas(): void
{ {
$imagick = new Imagick(); $this->assertTrue($this->core->has(0));
$imagick->newImage(100, 100, new ImagickPixel('red')); $this->assertTrue($this->core->has(1));
$imagick->addImage(clone $imagick); $this->assertTrue($this->core->has(2));
$core = new Core($imagick); $this->assertFalse($this->core->has(3));
$this->assertTrue($core->has(0));
$this->assertTrue($core->has(1));
$this->assertFalse($core->has(2));
} }
public function testPush(): void 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 = new Imagick();
$im->newImage(100, 100, new ImagickPixel('green')); $im->newImage(100, 100, new ImagickPixel('green'));
$result = $core->push(new Frame($im)); $this->assertEquals(3, $this->core->count());
$this->assertEquals(3, $core->count()); $result = $this->core->push(new Frame($im));
$this->assertEquals(3, $result->count()); $this->assertEquals(4, $this->core->count());
$this->assertEquals(4, $result->count());
} }
public function testGet(): void public function testGet(): void
{ {
$imagick = new Imagick(); $this->assertInstanceOf(Frame::class, $this->core->get(0));
$imagick->newImage(100, 100, new ImagickPixel('red')); $this->assertInstanceOf(Frame::class, $this->core->get(1));
$imagick->addImage(clone $imagick); $this->assertInstanceOf(Frame::class, $this->core->get(2));
$core = new Core($imagick); $this->assertNull($this->core->get(3));
$this->assertInstanceOf(Frame::class, $core->get(0)); $this->assertEquals('foo', $this->core->get(3, 'foo'));
$this->assertInstanceOf(Frame::class, $core->get(1));
$this->assertNull($core->get(2));
$this->assertEquals('foo', $core->get(2, 'foo'));
} }
public function testEmpty(): void public function testEmpty(): void
{ {
$imagick = new Imagick(); $result = $this->core->empty();
$imagick->newImage(100, 100, new ImagickPixel('red')); $this->assertEquals(0, $this->core->count());
$imagick->addImage(clone $imagick);
$core = new Core($imagick);
$this->assertEquals(2, $core->count());
$result = $core->empty();
$this->assertEquals(0, $core->count());
$this->assertEquals(0, $result->count()); $this->assertEquals(0, $result->count());
} }
public function testSlice(): void public function testSlice(): void
{ {
$imagick = new Imagick(); $this->assertEquals(3, $this->core->count());
$result = $this->core->slice(1, 2);
$im = new Imagick(); $this->assertEquals(2, $this->core->count());
$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(2, $result->count()); $this->assertEquals(2, $result->count());
} }
public function testFirst(): void
{
$this->assertInstanceOf(Frame::class, $this->core->first());
}
public function testLast(): void public function testLast(): void
{ {
$imagick = new Imagick(); $this->assertInstanceOf(Frame::class, $this->core->last());
$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);
} }
} }