<?php

/**
 * TestUtil.php
 *
 * @since     2020-12-19
 * @category  Library
 * @package   PdfFont
 * @author    Nicola Asuni <info@tecnick.com>
 * @copyright 2015-2026 Nicola Asuni - Tecnick.com LTD
 * @license   https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)
 * @link      https://github.com/tecnickcom/tc-lib-pdf-font
 *
 * This file is part of tc-lib-color software library.
 */

namespace Test;

use PHPUnit\Framework\TestCase;

/**
 * Web Color class test
 *
 * @since     2020-12-19
 * @category  Library
 * @package   PdfFont
 * @author    Nicola Asuni <info@tecnick.com>
 * @copyright 2015-2026 Nicola Asuni - Tecnick.com LTD
 * @license   https://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE)
 * @link      https://github.com/tecnickcom/tc-lib-pdf-font
 *
 * @preserveGlobalState         disabled
 * @runTestsInSeparateProcesses
 */
class TestUtil extends TestCase
{
    protected function setupTest(): void
    {
        if (!\defined('K_PATH_FONTS')) {
            \define('K_PATH_FONTS', \dirname(__DIR__) . '/target/tmptest/');
        }

        $fontPath = (string) \constant('K_PATH_FONTS');
        \system('rm -rf ' . $fontPath . ' && mkdir -p ' . $fontPath);
    }

    protected function getFontPath(): string
    {
        if (\defined('K_PATH_FONTS')) {
            return (string) \constant('K_PATH_FONTS');
        }

        return '';
    }

    public function bcAssertEqualsWithDelta(
        mixed $expected,
        mixed $actual,
        float $delta = 0.01,
        string $message = '',
    ): void {
        parent::assertEqualsWithDelta($expected, $actual, $delta, $message);
    }

    /**
     * @param class-string<\Throwable> $exception
     */
    public function bcExpectException(string $exception): void
    {
        parent::expectException($exception);
    }
}
