Files
Chamilo/vendor/szymach/c-pchart/tests/unit/ResourceTest.php
2025-08-14 22:41:49 +02:00

74 lines
2.0 KiB
PHP

<?php
namespace Test\CpChart;
use Codeception\Test\Unit;
use CpChart\Data;
use CpChart\Image;
use Test\CpChart\UnitTester;
class ResourceTest extends Unit
{
/**
* @var UnitTester
*/
protected $tester;
public function testInvalidResourceLoading()
{
$data = new Data();
$this->tester->expectThrowable(
'\Exception',
function () use ($data) {
$data->loadPalette('nonExistantPalette');
}
);
$image = new Image(700, 230, $data);
$this->tester->expectThrowable(
'\Exception',
function () use ($image) {
$image->setResourcePath('nonExistantDirectory');
}
);
$this->tester->expectThrowable(
'\Exception',
function () use ($image) {
$image->setFontProperties(['FontName' => 'nonExistantFont']);
}
);
$this->tester->expectThrowable(
'\Exception',
function () use ($image) {
$image->getLegendSize(['Font' => 'nonExistantFont']);
}
);
}
public function testValidPaletteLoading()
{
$data = new Data();
$data->loadPalette(sprintf('%s/../_data/test_palette.txt', __DIR__), true);
$image = new Image(700, 230, $data);
$firstCoordinates = [[40, 80], [280, 60], [340, 166], [590, 120]];
$fistSplineSettings = ['R' => 255, 'G' => 255, 'B' => 255, 'ShowControl' => true];
$image->drawSpline($firstCoordinates, $fistSplineSettings);
$filename = $this->tester->getOutputPathForChart('drawSpline.png');
$image->render($filename);
$this->tester->seeFileFound($filename);
}
public function testInvalidPaletteLoading()
{
$data = new Data();
$this->tester->expectThrowable(
'\Exception',
function () use ($data) {
$data->loadPalette(sprintf('non_existant_palette', __DIR__), true);
}
);
}
}