markTestSkipped( 'The GD extension is not available.' ); } } #[\PHPUnit\Framework\Attributes\Group('framework')] public function testImagePng() : void { $path = __DIR__ . '/c25.png'; if (\is_file($path)) { \unlink($path); } $img = new C25('1234567890', 150, 50); $img->saveToPngFile($path); self::assertFileExists($path); } #[\PHPUnit\Framework\Attributes\Group('framework')] public function testImageJpg() : void { $path = __DIR__ . '/c25.jpg'; if (\is_file($path)) { \unlink($path); } $img = new C25('1234567890', 150, 50); $img->saveToJpgFile($path); self::assertFileExists($path); } #[\PHPUnit\Framework\Attributes\Group('framework')] public function testOrientationAndMargin() : void { $path = __DIR__ . '/c25_vertical.png'; if (\is_file($path)) { \unlink($path); } $img = new C25('1234567890', 50, 200, OrientationType::VERTICAL); $img->setMargin(2); $img->saveToPngFile($path); self::assertFileExists($path); } #[\PHPUnit\Framework\Attributes\Group('framework')] public function testValidString() : void { self::assertTrue(C25::isValidString('1234567890')); self::assertFalse(C25::isValidString('1234567A890')); } #[\PHPUnit\Framework\Attributes\Group('framework')] public function testInvalidOrientation() : void { $this->expectException(\InvalidArgumentException::class); $img = new C25('45f!a?12'); } }