1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
<?php
declare(strict_types=1);
namespace PhpMyAdmin\Tests\Gis;
use PhpMyAdmin\Gis\GisFactory;
use PhpMyAdmin\Gis\GisGeometryCollection;
use PhpMyAdmin\Gis\GisLineString;
use PhpMyAdmin\Gis\GisMultiLineString;
use PhpMyAdmin\Gis\GisMultiPoint;
use PhpMyAdmin\Gis\GisMultiPolygon;
use PhpMyAdmin\Gis\GisPoint;
use PhpMyAdmin\Gis\GisPolygon;
use PhpMyAdmin\Tests\AbstractTestCase;
/**
* @covers \PhpMyAdmin\Gis\GisFactory
*/
#[\PHPUnit\Framework\Attributes\CoversClass(\PhpMyAdmin\Gis\GisFactory::class)]
class GisFactoryTest extends AbstractTestCase
{
/**
* Test factory method
*
* @param string $type geometry type
* @param string $geom geometry object
* @psalm-param class-string $geom
*
* @dataProvider providerForTestFactory
*/
#[\PHPUnit\Framework\Attributes\DataProvider('providerForTestFactory')]
public function testFactory(string $type, string $geom): void
{
self::assertInstanceOf($geom, GisFactory::factory($type));
}
/**
* data provider for testFactory
*
* @return array[] data for testFactory
*/
public static function providerForTestFactory(): array
{
return [
[
'MULTIPOLYGON',
GisMultiPolygon::class,
],
[
'POLYGON',
GisPolygon::class,
],
[
'MULTILINESTRING',
GisMultiLineString::class,
],
[
'LINESTRING',
GisLineString::class,
],
[
'MULTIPOINT',
GisMultiPoint::class,
],
[
'POINT',
GisPoint::class,
],
[
'GEOMETRYCOLLECTION',
GisGeometryCollection::class,
],
];
}
}
|