diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon
index fead099be3..6e47da5eba 100644
--- a/phpstan-baseline.neon
+++ b/phpstan-baseline.neon
@@ -10150,16 +10150,6 @@ parameters:
count: 1
path: test/classes/Gis/GisFactoryTest.php
- -
- message: "#^Class PhpMyAdmin\\\\Tests\\\\Gis\\\\GisGeomTestCase has an uninitialized property \\$object\\. Give it default value or assign it in the constructor\\.$#"
- count: 1
- path: test/classes/Gis/GisGeomTestCase.php
-
- -
- message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisGeomTestCase\\:\\:testGenerateParams\\(\\) has parameter \\$params with no value type specified in iterable type array\\.$#"
- count: 1
- path: test/classes/Gis/GisGeomTestCase.php
-
-
message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisGeometryCollectionTest\\:\\:providerForPrepareRowAsOl\\(\\) return type has no value type specified in iterable type array\\.$#"
count: 1
@@ -10175,26 +10165,11 @@ parameters:
count: 1
path: test/classes/Gis/GisGeometryCollectionTest.php
- -
- message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisGeometryCollectionTest\\:\\:providerForTestGenerateParams\\(\\) return type has no value type specified in iterable type array\\.$#"
- count: 1
- path: test/classes/Gis/GisGeometryCollectionTest.php
-
- -
- message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisGeometryCollectionTest\\:\\:providerForTestGenerateWkt\\(\\) return type has no value type specified in iterable type array\\.$#"
- count: 1
- path: test/classes/Gis/GisGeometryCollectionTest.php
-
-
message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisGeometryCollectionTest\\:\\:providerForTestScaleRow\\(\\) return type has no value type specified in iterable type array\\.$#"
count: 1
path: test/classes/Gis/GisGeometryCollectionTest.php
- -
- message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisGeometryCollectionTest\\:\\:testGenerateWkt\\(\\) has parameter \\$gis_data with no value type specified in iterable type array\\.$#"
- count: 1
- path: test/classes/Gis/GisGeometryCollectionTest.php
-
-
message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisGeometryCollectionTest\\:\\:testPrepareRowAsPdf\\(\\) has parameter \\$scale_data with no value type specified in iterable type array\\.$#"
count: 1
@@ -10250,16 +10225,6 @@ parameters:
count: 1
path: test/classes/Gis/GisLineStringTest.php
- -
- message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisLineStringTest\\:\\:providerForTestGenerateParams\\(\\) return type has no value type specified in iterable type array\\.$#"
- count: 1
- path: test/classes/Gis/GisLineStringTest.php
-
- -
- message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisLineStringTest\\:\\:providerForTestGenerateWkt\\(\\) return type has no value type specified in iterable type array\\.$#"
- count: 1
- path: test/classes/Gis/GisLineStringTest.php
-
-
message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisLineStringTest\\:\\:providerForTestScaleRow\\(\\) return type has no value type specified in iterable type array\\.$#"
count: 1
@@ -10275,11 +10240,6 @@ parameters:
count: 1
path: test/classes/Gis/GisLineStringTest.php
- -
- message: "#^Call to an undefined method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getShape\\(\\)\\.$#"
- count: 1
- path: test/classes/Gis/GisMultiLineStringTest.php
-
-
message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisMultiLineStringTest\\:\\:providerForPrepareRowAsOl\\(\\) return type has no value type specified in iterable type array\\.$#"
count: 1
@@ -10295,16 +10255,6 @@ parameters:
count: 1
path: test/classes/Gis/GisMultiLineStringTest.php
- -
- message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisMultiLineStringTest\\:\\:providerForTestGenerateParams\\(\\) return type has no value type specified in iterable type array\\.$#"
- count: 1
- path: test/classes/Gis/GisMultiLineStringTest.php
-
- -
- message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisMultiLineStringTest\\:\\:providerForTestGenerateWkt\\(\\) return type has no value type specified in iterable type array\\.$#"
- count: 1
- path: test/classes/Gis/GisMultiLineStringTest.php
-
-
message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisMultiLineStringTest\\:\\:providerForTestScaleRow\\(\\) return type has no value type specified in iterable type array\\.$#"
count: 1
@@ -10320,11 +10270,6 @@ parameters:
count: 1
path: test/classes/Gis/GisMultiLineStringTest.php
- -
- message: "#^Call to an undefined method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getShape\\(\\)\\.$#"
- count: 1
- path: test/classes/Gis/GisMultiPointTest.php
-
-
message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisMultiPointTest\\:\\:providerForPrepareRowAsOl\\(\\) return type has no value type specified in iterable type array\\.$#"
count: 1
@@ -10340,16 +10285,6 @@ parameters:
count: 1
path: test/classes/Gis/GisMultiPointTest.php
- -
- message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisMultiPointTest\\:\\:providerForTestGenerateParams\\(\\) return type has no value type specified in iterable type array\\.$#"
- count: 1
- path: test/classes/Gis/GisMultiPointTest.php
-
- -
- message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisMultiPointTest\\:\\:providerForTestGenerateWkt\\(\\) return type has no value type specified in iterable type array\\.$#"
- count: 1
- path: test/classes/Gis/GisMultiPointTest.php
-
-
message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisMultiPointTest\\:\\:providerForTestScaleRow\\(\\) return type has no value type specified in iterable type array\\.$#"
count: 1
@@ -10365,11 +10300,6 @@ parameters:
count: 1
path: test/classes/Gis/GisMultiPointTest.php
- -
- message: "#^Call to an undefined method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getShape\\(\\)\\.$#"
- count: 1
- path: test/classes/Gis/GisMultiPolygonTest.php
-
-
message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisMultiPolygonTest\\:\\:getData\\(\\) return type has no value type specified in iterable type array\\.$#"
count: 1
@@ -10390,16 +10320,6 @@ parameters:
count: 1
path: test/classes/Gis/GisMultiPolygonTest.php
- -
- message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisMultiPolygonTest\\:\\:providerForTestGenerateParams\\(\\) return type has no value type specified in iterable type array\\.$#"
- count: 1
- path: test/classes/Gis/GisMultiPolygonTest.php
-
- -
- message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisMultiPolygonTest\\:\\:providerForTestGenerateWkt\\(\\) return type has no value type specified in iterable type array\\.$#"
- count: 1
- path: test/classes/Gis/GisMultiPolygonTest.php
-
-
message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisMultiPolygonTest\\:\\:providerForTestGetShape\\(\\) return type has no value type specified in iterable type array\\.$#"
count: 1
@@ -10425,11 +10345,6 @@ parameters:
count: 1
path: test/classes/Gis/GisMultiPolygonTest.php
- -
- message: "#^Call to an undefined method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getShape\\(\\)\\.$#"
- count: 1
- path: test/classes/Gis/GisPointTest.php
-
-
message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisPointTest\\:\\:providerForPrepareRowAsOl\\(\\) return type has no value type specified in iterable type array\\.$#"
count: 1
@@ -10445,16 +10360,6 @@ parameters:
count: 1
path: test/classes/Gis/GisPointTest.php
- -
- message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisPointTest\\:\\:providerForTestGenerateParams\\(\\) return type has no value type specified in iterable type array\\.$#"
- count: 1
- path: test/classes/Gis/GisPointTest.php
-
- -
- message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisPointTest\\:\\:providerForTestGenerateWkt\\(\\) return type has no value type specified in iterable type array\\.$#"
- count: 1
- path: test/classes/Gis/GisPointTest.php
-
-
message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisPointTest\\:\\:providerForTestGetShape\\(\\) return type has no value type specified in iterable type array\\.$#"
count: 1
@@ -10480,26 +10385,6 @@ parameters:
count: 1
path: test/classes/Gis/GisPointTest.php
- -
- message: "#^Call to an undefined method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:area\\(\\)\\.$#"
- count: 1
- path: test/classes/Gis/GisPolygonTest.php
-
- -
- message: "#^Call to an undefined method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:getPointOnSurface\\(\\)\\.$#"
- count: 1
- path: test/classes/Gis/GisPolygonTest.php
-
- -
- message: "#^Call to an undefined method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:isOuterRing\\(\\)\\.$#"
- count: 1
- path: test/classes/Gis/GisPolygonTest.php
-
- -
- message: "#^Call to an undefined method PhpMyAdmin\\\\Gis\\\\GisGeometry\\:\\:isPointInsidePolygon\\(\\)\\.$#"
- count: 2
- path: test/classes/Gis/GisPolygonTest.php
-
-
message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisPolygonTest\\:\\:getData\\(\\) return type has no value type specified in iterable type array\\.$#"
count: 1
@@ -10530,16 +10415,6 @@ parameters:
count: 1
path: test/classes/Gis/GisPolygonTest.php
- -
- message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisPolygonTest\\:\\:providerForTestGenerateParams\\(\\) return type has no value type specified in iterable type array\\.$#"
- count: 1
- path: test/classes/Gis/GisPolygonTest.php
-
- -
- message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisPolygonTest\\:\\:providerForTestGenerateWkt\\(\\) return type has no value type specified in iterable type array\\.$#"
- count: 1
- path: test/classes/Gis/GisPolygonTest.php
-
-
message: "#^Method PhpMyAdmin\\\\Tests\\\\Gis\\\\GisPolygonTest\\:\\:providerForTestGetPointOnSurface\\(\\) return type has no value type specified in iterable type array\\.$#"
count: 1
diff --git a/psalm-baseline.xml b/psalm-baseline.xml
index 9e678633af..d5a032645a 100644
--- a/psalm-baseline.xml
+++ b/psalm-baseline.xml
@@ -7325,9 +7325,6 @@
$black
$line_color
-
- getShape
-
isset(self::$instance)
@@ -7357,9 +7354,6 @@
$black
$point_color
-
- getShape
-
isset(self::$instance)
@@ -7459,9 +7453,6 @@
$black
$fill_color
-
- getShape
-
isset(self::$instance)
@@ -7487,9 +7478,6 @@
$black
$point_color
-
- getShape
-
isset(self::$instance)
@@ -15694,12 +15682,6 @@
testFactory
-
-
- testGenerateParams
- testScaleRow
-
-
array
@@ -15707,10 +15689,6 @@
array
array
-
- providerForTestGenerateParams
- providerForTestScaleRow
-
@@ -15727,42 +15705,24 @@
array
array
array
+ array
-
- providerForTestGenerateParams
- providerForTestGenerateWkt
- providerForTestScaleRow
-
array
array
array
+ array
-
- providerForTestGenerateParams
- providerForTestGenerateWkt
- providerForTestScaleRow
-
-
- getShape
-
array
array
array
+ array
-
- providerForTestGenerateParams
- providerForTestGenerateWkt
- providerForTestScaleRow
-
-
- getShape
-
@@ -15778,15 +15738,8 @@
array
array
array
+ array
-
- providerForTestGenerateParams
- providerForTestGenerateWkt
- providerForTestScaleRow
-
-
- getShape
-
@@ -15794,15 +15747,8 @@
array
array
array
+ array
-
- providerForTestGenerateParams
- providerForTestGenerateWkt
- providerForTestScaleRow
-
-
- getShape
-
@@ -15829,19 +15775,8 @@
array
array
array
+ array
-
- providerForTestGenerateParams
- providerForTestGenerateWkt
- providerForTestScaleRow
-
-
- area
- getPointOnSurface
- isOuterRing
- isPointInsidePolygon
- isPointInsidePolygon
-
diff --git a/test/classes/Gis/GisGeomTestCase.php b/test/classes/Gis/GisGeomTestCase.php
index dc319d4169..2610e849d2 100644
--- a/test/classes/Gis/GisGeomTestCase.php
+++ b/test/classes/Gis/GisGeomTestCase.php
@@ -7,8 +7,6 @@ declare(strict_types=1);
namespace PhpMyAdmin\Tests\Gis;
-use PhpMyAdmin\Gis\GisGeometry;
-use PhpMyAdmin\Gis\ScaleData;
use PhpMyAdmin\Tests\AbstractTestCase;
use ReflectionProperty;
use TCPDF;
@@ -26,8 +24,6 @@ abstract class GisGeomTestCase extends AbstractTestCase
{
protected string $testDir = '';
- protected GisGeometry $object;
-
protected function setUp(): void
{
parent::setUp();
@@ -45,38 +41,6 @@ abstract class GisGeomTestCase extends AbstractTestCase
return $arch;
}
- /**
- * test generateParams method
- *
- * @param string $wkt point in WKT form
- * @param array $params expected output array
- *
- * @dataProvider providerForTestGenerateParams
- */
- public function testGenerateParams(string $wkt, array $params): void
- {
- $this->assertEquals(
- $params,
- $this->object->generateParams($wkt),
- );
- }
-
- /**
- * test scaleRow method
- *
- * @param string $spatial spatial data of a row
- * @param ScaleData $min_max expected results
- *
- * @dataProvider providerForTestScaleRow
- */
- public function testScaleRow(string $spatial, ScaleData $min_max): void
- {
- $this->assertEquals(
- $min_max,
- $this->object->scaleRow($spatial),
- );
- }
-
/**
* Create a new pdf document with predictable timestamps and ids.
*
diff --git a/test/classes/Gis/GisGeometryCollectionTest.php b/test/classes/Gis/GisGeometryCollectionTest.php
index 0603afff45..11c87bdd3f 100644
--- a/test/classes/Gis/GisGeometryCollectionTest.php
+++ b/test/classes/Gis/GisGeometryCollectionTest.php
@@ -4,7 +4,6 @@ declare(strict_types=1);
namespace PhpMyAdmin\Tests\Gis;
-use PhpMyAdmin\Gis\GisGeometry;
use PhpMyAdmin\Gis\GisGeometryCollection;
use PhpMyAdmin\Gis\ScaleData;
use PhpMyAdmin\Image\ImageWrapper;
@@ -17,30 +16,6 @@ use TCPDF;
*/
class GisGeometryCollectionTest extends GisGeomTestCase
{
- protected GisGeometry $object;
-
- /**
- * Sets up the fixture, for example, opens a network connection.
- * This method is called before a test is executed.
- */
- protected function setUp(): void
- {
- parent::setUp();
-
- $this->object = GisGeometryCollection::singleton();
- }
-
- /**
- * Tears down the fixture, for example, closes a network connection.
- * This method is called after a test is executed.
- */
- protected function tearDown(): void
- {
- parent::tearDown();
-
- unset($this->object);
- }
-
/**
* Data provider for testScaleRow() test case
*
@@ -56,28 +31,40 @@ class GisGeometryCollectionTest extends GisGeomTestCase
];
}
+ /**
+ * test scaleRow method
+ *
+ * @param string $spatial spatial data of a row
+ * @param ScaleData $min_max expected results
+ *
+ * @dataProvider providerForTestScaleRow
+ */
+ public function testScaleRow(string $spatial, ScaleData $min_max): void
+ {
+ $object = GisGeometryCollection::singleton();
+ $this->assertEquals($min_max, $object->scaleRow($spatial));
+ }
+
/**
* Test for generateWkt
*
- * @param array $gis_data
- * @param int $index index in $gis_data
- * @param string|null $empty empty parameter
- * @param string $output expected output
+ * @param array $gis_data
+ * @param int $index index in $gis_data
+ * @param string|null $empty empty parameter
+ * @param string $output expected output
*
* @dataProvider providerForTestGenerateWkt
*/
public function testGenerateWkt(array $gis_data, int $index, string|null $empty, string $output): void
{
- $this->assertEquals(
- $output,
- $this->object->generateWkt($gis_data, $index, $empty),
- );
+ $object = GisGeometryCollection::singleton();
+ $this->assertEquals($output, $object->generateWkt($gis_data, $index, $empty));
}
/**
* Data provider for testGenerateWkt() test case
*
- * @return array test data for testGenerateWkt() test case
+ * @return array, int, string|null, string}>
*/
public static function providerForTestGenerateWkt(): array
{
@@ -108,10 +95,24 @@ class GisGeometryCollectionTest extends GisGeomTestCase
];
}
+ /**
+ * test generateParams method
+ *
+ * @param string $wkt point in WKT form
+ * @param array $params expected output array
+ *
+ * @dataProvider providerForTestGenerateParams
+ */
+ public function testGenerateParams(string $wkt, array $params): void
+ {
+ $object = GisGeometryCollection::singleton();
+ $this->assertEquals($params, $object->generateParams($wkt));
+ }
+
/**
* Data provider for testGenerateParams() test case
*
- * @return array test data for testGenerateParams() test case
+ * @return array}>
*/
public static function providerForTestGenerateParams(): array
{
@@ -329,9 +330,10 @@ class GisGeometryCollectionTest extends GisGeomTestCase
/** @requires extension gd */
public function testPrepareRowAsPng(): void
{
+ $object = GisGeometryCollection::singleton();
$image = ImageWrapper::create(200, 124, ['red' => 229, 'green' => 229, 'blue' => 229]);
$this->assertNotNull($image);
- $return = $this->object->prepareRowAsPng(
+ $return = $object->prepareRowAsPng(
'GEOMETRYCOLLECTION(POLYGON((35 10,10 20,15 40,45 45,35 10),(20 30,35 32,30 20,20 30)),'
. 'LINESTRING(5 30,4 4))',
'image',
@@ -366,7 +368,8 @@ class GisGeometryCollectionTest extends GisGeomTestCase
array $scale_data,
TCPDF $pdf,
): void {
- $return = $this->object->prepareRowAsPdf($spatial, $label, $color, $scale_data, $pdf);
+ $object = GisGeometryCollection::singleton();
+ $return = $object->prepareRowAsPdf($spatial, $label, $color, $scale_data, $pdf);
$fileExpected = $this->testDir . '/geometrycollection-expected.pdf';
$fileActual = $this->testDir . '/geometrycollection-actual.pdf';
@@ -412,7 +415,8 @@ class GisGeometryCollectionTest extends GisGeomTestCase
array $scaleData,
string $output,
): void {
- $svg = $this->object->prepareRowAsSvg($spatial, $label, $color, $scaleData);
+ $object = GisGeometryCollection::singleton();
+ $svg = $object->prepareRowAsSvg($spatial, $label, $color, $scaleData);
$this->assertEquals($output, $svg);
}
@@ -460,9 +464,10 @@ class GisGeometryCollectionTest extends GisGeomTestCase
array $color,
string $output,
): void {
+ $object = GisGeometryCollection::singleton();
$this->assertEquals(
$output,
- $this->object->prepareRowAsOl(
+ $object->prepareRowAsOl(
$spatial,
$srid,
$label,
diff --git a/test/classes/Gis/GisLineStringTest.php b/test/classes/Gis/GisLineStringTest.php
index c30328352b..3706eb0e18 100644
--- a/test/classes/Gis/GisLineStringTest.php
+++ b/test/classes/Gis/GisLineStringTest.php
@@ -4,7 +4,6 @@ declare(strict_types=1);
namespace PhpMyAdmin\Tests\Gis;
-use PhpMyAdmin\Gis\GisGeometry;
use PhpMyAdmin\Gis\GisLineString;
use PhpMyAdmin\Gis\ScaleData;
use PhpMyAdmin\Image\ImageWrapper;
@@ -17,34 +16,10 @@ use TCPDF;
*/
class GisLineStringTest extends GisGeomTestCase
{
- protected GisGeometry $object;
-
- /**
- * Sets up the fixture, for example, opens a network connection.
- * This method is called before a test is executed.
- */
- protected function setUp(): void
- {
- parent::setUp();
-
- $this->object = GisLineString::singleton();
- }
-
- /**
- * Tears down the fixture, for example, closes a network connection.
- * This method is called after a test is executed.
- */
- protected function tearDown(): void
- {
- parent::tearDown();
-
- unset($this->object);
- }
-
/**
* data provider for testGenerateWkt
*
- * @return array data for testGenerateWkt
+ * @return array, int, string|null, string}>
*/
public static function providerForTestGenerateWkt(): array
{
@@ -106,10 +81,40 @@ class GisLineStringTest extends GisGeomTestCase
];
}
+ /**
+ * Test for generateWkt
+ *
+ * @param array $gis_data
+ * @param int $index index in $gis_data
+ * @param string|null $empty empty parameter
+ * @param string $output expected output
+ *
+ * @dataProvider providerForTestGenerateWkt
+ */
+ public function testGenerateWkt(array $gis_data, int $index, string|null $empty, string $output): void
+ {
+ $object = GisLineString::singleton();
+ $this->assertEquals($output, $object->generateWkt($gis_data, $index, $empty));
+ }
+
+ /**
+ * test generateParams method
+ *
+ * @param string $wkt point in WKT form
+ * @param array $params expected output array
+ *
+ * @dataProvider providerForTestGenerateParams
+ */
+ public function testGenerateParams(string $wkt, array $params): void
+ {
+ $object = GisLineString::singleton();
+ $this->assertEquals($params, $object->generateParams($wkt));
+ }
+
/**
* data provider for testGenerateParams
*
- * @return array data for testGenerateParams
+ * @return array}>
*/
public static function providerForTestGenerateParams(): array
{
@@ -136,6 +141,20 @@ class GisLineStringTest extends GisGeomTestCase
];
}
+ /**
+ * test scaleRow method
+ *
+ * @param string $spatial spatial data of a row
+ * @param ScaleData $min_max expected results
+ *
+ * @dataProvider providerForTestScaleRow
+ */
+ public function testScaleRow(string $spatial, ScaleData $min_max): void
+ {
+ $object = GisLineString::singleton();
+ $this->assertEquals($min_max, $object->scaleRow($spatial));
+ }
+
/**
* data provider for testScaleRow
*
@@ -154,9 +173,10 @@ class GisLineStringTest extends GisGeomTestCase
/** @requires extension gd */
public function testPrepareRowAsPng(): void
{
+ $object = GisLineString::singleton();
$image = ImageWrapper::create(200, 124, ['red' => 229, 'green' => 229, 'blue' => 229]);
$this->assertNotNull($image);
- $return = $this->object->prepareRowAsPng(
+ $return = $object->prepareRowAsPng(
'LINESTRING(12 35,48 75,69 23,25 45,14 53,35 78)',
'image',
[176, 46, 224],
@@ -189,7 +209,8 @@ class GisLineStringTest extends GisGeomTestCase
array $scale_data,
TCPDF $pdf,
): void {
- $return = $this->object->prepareRowAsPdf($spatial, $label, $color, $scale_data, $pdf);
+ $object = GisLineString::singleton();
+ $return = $object->prepareRowAsPdf($spatial, $label, $color, $scale_data, $pdf);
$fileExpected = $this->testDir . '/linestring-expected.pdf';
$fileActual = $this->testDir . '/linestring-actual.pdf';
@@ -234,7 +255,8 @@ class GisLineStringTest extends GisGeomTestCase
array $scaleData,
string $output,
): void {
- $svg = $this->object->prepareRowAsSvg($spatial, $label, $color, $scaleData);
+ $object = GisLineString::singleton();
+ $svg = $object->prepareRowAsSvg($spatial, $label, $color, $scaleData);
$this->assertEquals($output, $svg);
}
@@ -281,7 +303,8 @@ class GisLineStringTest extends GisGeomTestCase
array $color,
string $output,
): void {
- $ol = $this->object->prepareRowAsOl($spatial, $srid, $label, $color);
+ $object = GisLineString::singleton();
+ $ol = $object->prepareRowAsOl($spatial, $srid, $label, $color);
$this->assertEquals($output, $ol);
}
diff --git a/test/classes/Gis/GisMultiLineStringTest.php b/test/classes/Gis/GisMultiLineStringTest.php
index d89dceb169..bc5a45aad0 100644
--- a/test/classes/Gis/GisMultiLineStringTest.php
+++ b/test/classes/Gis/GisMultiLineStringTest.php
@@ -4,7 +4,6 @@ declare(strict_types=1);
namespace PhpMyAdmin\Tests\Gis;
-use PhpMyAdmin\Gis\GisGeometry;
use PhpMyAdmin\Gis\GisMultiLineString;
use PhpMyAdmin\Gis\ScaleData;
use PhpMyAdmin\Image\ImageWrapper;
@@ -17,34 +16,10 @@ use TCPDF;
*/
class GisMultiLineStringTest extends GisGeomTestCase
{
- protected GisGeometry $object;
-
- /**
- * Sets up the fixture, for example, opens a network connection.
- * This method is called before a test is executed.
- */
- protected function setUp(): void
- {
- parent::setUp();
-
- $this->object = GisMultiLineString::singleton();
- }
-
- /**
- * Tears down the fixture, for example, closes a network connection.
- * This method is called after a test is executed.
- */
- protected function tearDown(): void
- {
- parent::tearDown();
-
- unset($this->object);
- }
-
/**
* data provider for testGenerateWkt
*
- * @return array data for testGenerateWkt
+ * @return array, int, string|null, string}>
*/
public static function providerForTestGenerateWkt(): array
{
@@ -94,13 +69,6 @@ class GisMultiLineStringTest extends GisGeomTestCase
null,
'MULTILINESTRING((5.02 8.45,6.14 0.15),(1.23 4.25,9.15 0.47))',
],
- // values at undefined index
- [
- $temp,
- 1,
- null,
- 'MULTILINESTRING(( , ))',
- ],
// if a coordinate is missing, default is empty string
[
$temp1,
@@ -132,6 +100,22 @@ class GisMultiLineStringTest extends GisGeomTestCase
];
}
+ /**
+ * Test for generateWkt
+ *
+ * @param array $gis_data
+ * @param int $index index in $gis_data
+ * @param string|null $empty empty parameter
+ * @param string $output expected output
+ *
+ * @dataProvider providerForTestGenerateWkt
+ */
+ public function testGenerateWkt(array $gis_data, int $index, string|null $empty, string $output): void
+ {
+ $object = GisMultiLineString::singleton();
+ $this->assertEquals($output, $object->generateWkt($gis_data, $index, $empty));
+ }
+
/**
* test getShape method
*/
@@ -167,16 +151,31 @@ class GisMultiLineStringTest extends GisGeomTestCase
],
];
+ $object = GisMultiLineString::singleton();
$this->assertEquals(
'MULTILINESTRING((5.02 8.45,6.14 0.15),(1.23 4.25,9.15 0.47))',
- $this->object->getShape($row_data),
+ $object->getShape($row_data),
);
}
+ /**
+ * test generateParams method
+ *
+ * @param string $wkt point in WKT form
+ * @param array $params expected output array
+ *
+ * @dataProvider providerForTestGenerateParams
+ */
+ public function testGenerateParams(string $wkt, array $params): void
+ {
+ $object = GisMultiLineString::singleton();
+ $this->assertEquals($params, $object->generateParams($wkt));
+ }
+
/**
* data provider for testGenerateParams
*
- * @return array data for testGenerateParams
+ * @return array}>
*/
public static function providerForTestGenerateParams(): array
{
@@ -217,6 +216,20 @@ class GisMultiLineStringTest extends GisGeomTestCase
];
}
+ /**
+ * test scaleRow method
+ *
+ * @param string $spatial spatial data of a row
+ * @param ScaleData $min_max expected results
+ *
+ * @dataProvider providerForTestScaleRow
+ */
+ public function testScaleRow(string $spatial, ScaleData $min_max): void
+ {
+ $object = GisMultiLineString::singleton();
+ $this->assertEquals($min_max, $object->scaleRow($spatial));
+ }
+
/**
* data provider for testScaleRow
*
@@ -235,9 +248,10 @@ class GisMultiLineStringTest extends GisGeomTestCase
/** @requires extension gd */
public function testPrepareRowAsPng(): void
{
+ $object = GisMultiLineString::singleton();
$image = ImageWrapper::create(200, 124, ['red' => 229, 'green' => 229, 'blue' => 229]);
$this->assertNotNull($image);
- $return = $this->object->prepareRowAsPng(
+ $return = $object->prepareRowAsPng(
'MULTILINESTRING((36 14,47 23,62 75),(36 10,17 23,178 53))',
'image',
[176, 46, 224],
@@ -270,7 +284,8 @@ class GisMultiLineStringTest extends GisGeomTestCase
array $scale_data,
TCPDF $pdf,
): void {
- $return = $this->object->prepareRowAsPdf($spatial, $label, $color, $scale_data, $pdf);
+ $object = GisMultiLineString::singleton();
+ $return = $object->prepareRowAsPdf($spatial, $label, $color, $scale_data, $pdf);
$fileExpected = $this->testDir . '/multilinestring-expected.pdf';
$fileActual = $this->testDir . '/multilinestring-actual.pdf';
@@ -315,7 +330,8 @@ class GisMultiLineStringTest extends GisGeomTestCase
array $scaleData,
string $output,
): void {
- $svg = $this->object->prepareRowAsSvg($spatial, $label, $color, $scaleData);
+ $object = GisMultiLineString::singleton();
+ $svg = $object->prepareRowAsSvg($spatial, $label, $color, $scaleData);
$this->assertEquals($output, $svg);
}
@@ -364,7 +380,8 @@ class GisMultiLineStringTest extends GisGeomTestCase
array $color,
string $output,
): void {
- $ol = $this->object->prepareRowAsOl($spatial, $srid, $label, $color);
+ $object = GisMultiLineString::singleton();
+ $ol = $object->prepareRowAsOl($spatial, $srid, $label, $color);
$this->assertEquals($output, $ol);
}
diff --git a/test/classes/Gis/GisMultiPointTest.php b/test/classes/Gis/GisMultiPointTest.php
index 7683b71eb4..cf21037367 100644
--- a/test/classes/Gis/GisMultiPointTest.php
+++ b/test/classes/Gis/GisMultiPointTest.php
@@ -4,7 +4,6 @@ declare(strict_types=1);
namespace PhpMyAdmin\Tests\Gis;
-use PhpMyAdmin\Gis\GisGeometry;
use PhpMyAdmin\Gis\GisMultiPoint;
use PhpMyAdmin\Gis\ScaleData;
use PhpMyAdmin\Image\ImageWrapper;
@@ -19,34 +18,10 @@ use function file_exists;
*/
class GisMultiPointTest extends GisGeomTestCase
{
- protected GisGeometry $object;
-
- /**
- * Sets up the fixture, for example, opens a network connection.
- * This method is called before a test is executed.
- */
- protected function setUp(): void
- {
- parent::setUp();
-
- $this->object = GisMultiPoint::singleton();
- }
-
- /**
- * Tears down the fixture, for example, closes a network connection.
- * This method is called after a test is executed.
- */
- protected function tearDown(): void
- {
- parent::tearDown();
-
- unset($this->object);
- }
-
/**
* data provider for testGenerateWkt
*
- * @return array data for testGenerateWkt
+ * @return array, int, string|null, string}>
*/
public static function providerForTestGenerateWkt(): array
{
@@ -85,6 +60,22 @@ class GisMultiPointTest extends GisGeomTestCase
];
}
+ /**
+ * Test for generateWkt
+ *
+ * @param array $gis_data
+ * @param int $index index in $gis_data
+ * @param string|null $empty empty parameter
+ * @param string $output expected output
+ *
+ * @dataProvider providerForTestGenerateWkt
+ */
+ public function testGenerateWkt(array $gis_data, int $index, string|null $empty, string $output): void
+ {
+ $object = GisMultiPoint::singleton();
+ $this->assertEquals($output, $object->generateWkt($gis_data, $index, $empty));
+ }
+
/**
* test getShape method
*/
@@ -104,16 +95,28 @@ class GisMultiPointTest extends GisGeomTestCase
],
];
- $this->assertEquals(
- 'MULTIPOINT(5.02 8.45,6.14 0.15)',
- $this->object->getShape($gis_data),
- );
+ $object = GisMultiPoint::singleton();
+ $this->assertEquals('MULTIPOINT(5.02 8.45,6.14 0.15)', $object->getShape($gis_data));
+ }
+
+ /**
+ * test generateParams method
+ *
+ * @param string $wkt point in WKT form
+ * @param array $params expected output array
+ *
+ * @dataProvider providerForTestGenerateParams
+ */
+ public function testGenerateParams(string $wkt, array $params): void
+ {
+ $object = GisMultiPoint::singleton();
+ $this->assertEquals($params, $object->generateParams($wkt));
}
/**
* data provider for testGenerateParams
*
- * @return array data for testGenerateParams
+ * @return array}>
*/
public static function providerForTestGenerateParams(): array
{
@@ -140,6 +143,20 @@ class GisMultiPointTest extends GisGeomTestCase
];
}
+ /**
+ * test scaleRow method
+ *
+ * @param string $spatial spatial data of a row
+ * @param ScaleData $min_max expected results
+ *
+ * @dataProvider providerForTestScaleRow
+ */
+ public function testScaleRow(string $spatial, ScaleData $min_max): void
+ {
+ $object = GisMultiPoint::singleton();
+ $this->assertEquals($min_max, $object->scaleRow($spatial));
+ }
+
/**
* data provider for testScaleRow
*
@@ -158,9 +175,10 @@ class GisMultiPointTest extends GisGeomTestCase
/** @requires extension gd */
public function testPrepareRowAsPng(): void
{
+ $object = GisMultiPoint::singleton();
$image = ImageWrapper::create(200, 124, ['red' => 229, 'green' => 229, 'blue' => 229]);
$this->assertNotNull($image);
- $return = $this->object->prepareRowAsPng(
+ $return = $object->prepareRowAsPng(
'MULTIPOINT(12 35,48 75,69 23,25 45,14 53,35 78)',
'image',
[176, 46, 224],
@@ -193,7 +211,8 @@ class GisMultiPointTest extends GisGeomTestCase
array $scale_data,
TCPDF $pdf,
): void {
- $return = $this->object->prepareRowAsPdf($spatial, $label, $color, $scale_data, $pdf);
+ $object = GisMultiPoint::singleton();
+ $return = $object->prepareRowAsPdf($spatial, $label, $color, $scale_data, $pdf);
$fileExpectedArch = $this->testDir . '/multipoint-expected-' . $this->getArch() . '.pdf';
$fileExpectedGeneric = $this->testDir . '/multipoint-expected.pdf';
@@ -240,7 +259,8 @@ class GisMultiPointTest extends GisGeomTestCase
array $scaleData,
string $output,
): void {
- $svg = $this->object->prepareRowAsSvg($spatial, $label, $color, $scaleData);
+ $object = GisMultiPoint::singleton();
+ $svg = $object->prepareRowAsSvg($spatial, $label, $color, $scaleData);
$this->assertEquals($output, $svg);
}
@@ -295,7 +315,8 @@ class GisMultiPointTest extends GisGeomTestCase
array $color,
string $output,
): void {
- $ol = $this->object->prepareRowAsOl($spatial, $srid, $label, $color);
+ $object = GisMultiPoint::singleton();
+ $ol = $object->prepareRowAsOl($spatial, $srid, $label, $color);
$this->assertEquals($output, $ol);
}
diff --git a/test/classes/Gis/GisMultiPolygonTest.php b/test/classes/Gis/GisMultiPolygonTest.php
index 31e62341f5..aa2f2f8b0b 100644
--- a/test/classes/Gis/GisMultiPolygonTest.php
+++ b/test/classes/Gis/GisMultiPolygonTest.php
@@ -4,7 +4,6 @@ declare(strict_types=1);
namespace PhpMyAdmin\Tests\Gis;
-use PhpMyAdmin\Gis\GisGeometry;
use PhpMyAdmin\Gis\GisMultiPolygon;
use PhpMyAdmin\Gis\ScaleData;
use PhpMyAdmin\Image\ImageWrapper;
@@ -17,30 +16,6 @@ use TCPDF;
*/
class GisMultiPolygonTest extends GisGeomTestCase
{
- protected GisGeometry $object;
-
- /**
- * Sets up the fixture, for example, opens a network connection.
- * This method is called before a test is executed.
- */
- protected function setUp(): void
- {
- parent::setUp();
-
- $this->object = GisMultiPolygon::singleton();
- }
-
- /**
- * Tears down the fixture, for example, closes a network connection.
- * This method is called after a test is executed.
- */
- protected function tearDown(): void
- {
- parent::tearDown();
-
- unset($this->object);
- }
-
/**
* Provide some common data to data providers
*
@@ -122,10 +97,26 @@ class GisMultiPolygonTest extends GisGeomTestCase
];
}
+ /**
+ * Test for generateWkt
+ *
+ * @param array $gis_data
+ * @param int $index index in $gis_data
+ * @param string|null $empty empty parameter
+ * @param string $output expected output
+ *
+ * @dataProvider providerForTestGenerateWkt
+ */
+ public function testGenerateWkt(array $gis_data, int $index, string|null $empty, string $output): void
+ {
+ $object = GisMultiPolygon::singleton();
+ $this->assertEquals($output, $object->generateWkt($gis_data, $index, $empty));
+ }
+
/**
* data provider for testGenerateWkt
*
- * @return array data for testGenerateWkt
+ * @return array, int, string|null, string}>
*/
public static function providerForTestGenerateWkt(): array
{
@@ -176,10 +167,24 @@ class GisMultiPolygonTest extends GisGeomTestCase
];
}
+ /**
+ * test generateParams method
+ *
+ * @param string $wkt point in WKT form
+ * @param array $params expected output array
+ *
+ * @dataProvider providerForTestGenerateParams
+ */
+ public function testGenerateParams(string $wkt, array $params): void
+ {
+ $object = GisMultiPolygon::singleton();
+ $this->assertEquals($params, $object->generateParams($wkt));
+ }
+
/**
* data provider for testGenerateParams
*
- * @return array data for testGenerateParams
+ * @return array}>
*/
public static function providerForTestGenerateParams(): array
{
@@ -205,7 +210,8 @@ class GisMultiPolygonTest extends GisGeomTestCase
*/
public function testGetShape(array $row_data, string $shape): void
{
- $this->assertEquals($shape, $this->object->getShape($row_data));
+ $object = GisMultiPolygon::singleton();
+ $this->assertEquals($shape, $object->getShape($row_data));
}
/**
@@ -291,6 +297,20 @@ class GisMultiPolygonTest extends GisGeomTestCase
];
}
+ /**
+ * test scaleRow method
+ *
+ * @param string $spatial spatial data of a row
+ * @param ScaleData $min_max expected results
+ *
+ * @dataProvider providerForTestScaleRow
+ */
+ public function testScaleRow(string $spatial, ScaleData $min_max): void
+ {
+ $object = GisMultiPolygon::singleton();
+ $this->assertEquals($min_max, $object->scaleRow($spatial));
+ }
+
/**
* data provider for testScaleRow
*
@@ -314,9 +334,10 @@ class GisMultiPolygonTest extends GisGeomTestCase
/** @requires extension gd */
public function testPrepareRowAsPng(): void
{
+ $object = GisMultiPolygon::singleton();
$image = ImageWrapper::create(200, 124, ['red' => 229, 'green' => 229, 'blue' => 229]);
$this->assertNotNull($image);
- $return = $this->object->prepareRowAsPng(
+ $return = $object->prepareRowAsPng(
'MULTIPOLYGON(((5 5,95 5,95 95,5 95,5 5),(10 10,10 40,40 40,40 10,10 10),(60 60,90 60,90 90,60 90,6'
. '0 60)),((-5 -5,-95 -5,-95 -95,-5 -95,-5 -5),(-10 -10,-10 -40,-40 -40,-40 -10,-10 -10),(-60 -60,-90'
. ' -60,-90 -90,-60 -90,-60 -60)))',
@@ -351,7 +372,8 @@ class GisMultiPolygonTest extends GisGeomTestCase
array $scale_data,
TCPDF $pdf,
): void {
- $return = $this->object->prepareRowAsPdf($spatial, $label, $color, $scale_data, $pdf);
+ $object = GisMultiPolygon::singleton();
+ $return = $object->prepareRowAsPdf($spatial, $label, $color, $scale_data, $pdf);
$fileExpected = $this->testDir . '/multipolygon-expected.pdf';
$fileActual = $this->testDir . '/multipolygon-actual.pdf';
@@ -398,7 +420,8 @@ class GisMultiPolygonTest extends GisGeomTestCase
array $scaleData,
string $output,
): void {
- $svg = $this->object->prepareRowAsSvg($spatial, $label, $color, $scaleData);
+ $object = GisMultiPolygon::singleton();
+ $svg = $object->prepareRowAsSvg($spatial, $label, $color, $scaleData);
$this->assertEquals($output, $svg);
}
@@ -450,7 +473,8 @@ class GisMultiPolygonTest extends GisGeomTestCase
array $color,
string $output,
): void {
- $ol = $this->object->prepareRowAsOl($spatial, $srid, $label, $color);
+ $object = GisMultiPolygon::singleton();
+ $ol = $object->prepareRowAsOl($spatial, $srid, $label, $color);
$this->assertEquals($output, $ol);
}
diff --git a/test/classes/Gis/GisPointTest.php b/test/classes/Gis/GisPointTest.php
index a30ca2a21f..cc2ef1fcef 100644
--- a/test/classes/Gis/GisPointTest.php
+++ b/test/classes/Gis/GisPointTest.php
@@ -4,7 +4,6 @@ declare(strict_types=1);
namespace PhpMyAdmin\Tests\Gis;
-use PhpMyAdmin\Gis\GisGeometry;
use PhpMyAdmin\Gis\GisPoint;
use PhpMyAdmin\Gis\ScaleData;
use PhpMyAdmin\Image\ImageWrapper;
@@ -19,34 +18,10 @@ use function file_exists;
*/
class GisPointTest extends GisGeomTestCase
{
- protected GisGeometry $object;
-
- /**
- * Sets up the fixture, for example, opens a network connection.
- * This method is called before a test is executed.
- */
- protected function setUp(): void
- {
- parent::setUp();
-
- $this->object = GisPoint::singleton();
- }
-
- /**
- * Tears down the fixture, for example, closes a network connection.
- * This method is called after a test is executed.
- */
- protected function tearDown(): void
- {
- parent::tearDown();
-
- unset($this->object);
- }
-
/**
* data provider for testGenerateWkt
*
- * @return array data for testGenerateWkt
+ * @return array, int, string|null, string}>
*/
public static function providerForTestGenerateWkt(): array
{
@@ -98,6 +73,22 @@ class GisPointTest extends GisGeomTestCase
];
}
+ /**
+ * Test for generateWkt
+ *
+ * @param array $gis_data
+ * @param int $index index in $gis_data
+ * @param string|null $empty empty parameter
+ * @param string $output expected output
+ *
+ * @dataProvider providerForTestGenerateWkt
+ */
+ public function testGenerateWkt(array $gis_data, int $index, string|null $empty, string $output): void
+ {
+ $object = GisPoint::singleton();
+ $this->assertEquals($output, $object->generateWkt($gis_data, $index, $empty));
+ }
+
/**
* test getShape method
*
@@ -108,7 +99,8 @@ class GisPointTest extends GisGeomTestCase
*/
public function testGetShape(array $row_data, string $shape): void
{
- $this->assertEquals($shape, $this->object->getShape($row_data));
+ $object = GisPoint::singleton();
+ $this->assertEquals($shape, $object->getShape($row_data));
}
/**
@@ -129,10 +121,24 @@ class GisPointTest extends GisGeomTestCase
];
}
+ /**
+ * test generateParams method
+ *
+ * @param string $wkt point in WKT form
+ * @param array $params expected output array
+ *
+ * @dataProvider providerForTestGenerateParams
+ */
+ public function testGenerateParams(string $wkt, array $params): void
+ {
+ $object = GisPoint::singleton();
+ $this->assertEquals($params, $object->generateParams($wkt));
+ }
+
/**
* data provider for testGenerateParams
*
- * @return array data for testGenerateParams
+ * @return array}>
*/
public static function providerForTestGenerateParams(): array
{
@@ -152,6 +158,20 @@ class GisPointTest extends GisGeomTestCase
];
}
+ /**
+ * test scaleRow method
+ *
+ * @param string $spatial spatial data of a row
+ * @param ScaleData $min_max expected results
+ *
+ * @dataProvider providerForTestScaleRow
+ */
+ public function testScaleRow(string $spatial, ScaleData $min_max): void
+ {
+ $object = GisPoint::singleton();
+ $this->assertEquals($min_max, $object->scaleRow($spatial));
+ }
+
/**
* data provider for testScaleRow
*
@@ -170,9 +190,10 @@ class GisPointTest extends GisGeomTestCase
/** @requires extension gd */
public function testPrepareRowAsPng(): void
{
+ $object = GisPoint::singleton();
$image = ImageWrapper::create(200, 124, ['red' => 229, 'green' => 229, 'blue' => 229]);
$this->assertNotNull($image);
- $return = $this->object->prepareRowAsPng(
+ $return = $object->prepareRowAsPng(
'POINT(12 35)',
'image',
[176, 46, 224],
@@ -205,7 +226,8 @@ class GisPointTest extends GisGeomTestCase
array $scale_data,
TCPDF $pdf,
): void {
- $return = $this->object->prepareRowAsPdf($spatial, $label, $color, $scale_data, $pdf);
+ $object = GisPoint::singleton();
+ $return = $object->prepareRowAsPdf($spatial, $label, $color, $scale_data, $pdf);
$fileExpectedArch = $this->testDir . '/point-expected-' . $this->getArch() . '.pdf';
$fileExpectedGeneric = $this->testDir . '/point-expected.pdf';
@@ -252,7 +274,8 @@ class GisPointTest extends GisGeomTestCase
array $scaleData,
string $output,
): void {
- $svg = $this->object->prepareRowAsSvg($spatial, $label, $color, $scaleData);
+ $object = GisPoint::singleton();
+ $svg = $object->prepareRowAsSvg($spatial, $label, $color, $scaleData);
$this->assertEquals($output, $svg);
}
@@ -297,7 +320,8 @@ class GisPointTest extends GisGeomTestCase
array $color,
string $output,
): void {
- $ol = $this->object->prepareRowAsOl($spatial, $srid, $label, $color);
+ $object = GisPoint::singleton();
+ $ol = $object->prepareRowAsOl($spatial, $srid, $label, $color);
$this->assertEquals($output, $ol);
}
diff --git a/test/classes/Gis/GisPolygonTest.php b/test/classes/Gis/GisPolygonTest.php
index 87ab228361..8a3cb89567 100644
--- a/test/classes/Gis/GisPolygonTest.php
+++ b/test/classes/Gis/GisPolygonTest.php
@@ -4,7 +4,6 @@ declare(strict_types=1);
namespace PhpMyAdmin\Tests\Gis;
-use PhpMyAdmin\Gis\GisGeometry;
use PhpMyAdmin\Gis\GisPolygon;
use PhpMyAdmin\Gis\ScaleData;
use PhpMyAdmin\Image\ImageWrapper;
@@ -17,30 +16,6 @@ use TCPDF;
*/
class GisPolygonTest extends GisGeomTestCase
{
- protected GisGeometry $object;
-
- /**
- * Sets up the fixture, for example, opens a network connection.
- * This method is called before a test is executed.
- */
- protected function setUp(): void
- {
- parent::setUp();
-
- $this->object = GisPolygon::singleton();
- }
-
- /**
- * Tears down the fixture, for example, closes a network connection.
- * This method is called after a test is executed.
- */
- protected function tearDown(): void
- {
- parent::tearDown();
-
- unset($this->object);
- }
-
/**
* Provide some common data to data providers
*
@@ -97,10 +72,26 @@ class GisPolygonTest extends GisGeomTestCase
];
}
+ /**
+ * Test for generateWkt
+ *
+ * @param array $gis_data
+ * @param int $index index in $gis_data
+ * @param string|null $empty empty parameter
+ * @param string $output expected output
+ *
+ * @dataProvider providerForTestGenerateWkt
+ */
+ public function testGenerateWkt(array $gis_data, int $index, string|null $empty, string $output): void
+ {
+ $object = GisPolygon::singleton();
+ $this->assertEquals($output, $object->generateWkt($gis_data, $index, $empty));
+ }
+
/**
* data provider for testGenerateWkt
*
- * @return array data for testGenerateWkt
+ * @return array, int, string|null, string}>
*/
public static function providerForTestGenerateWkt(): array
{
@@ -162,10 +153,24 @@ class GisPolygonTest extends GisGeomTestCase
];
}
+ /**
+ * test generateParams method
+ *
+ * @param string $wkt point in WKT form
+ * @param array $params expected output array
+ *
+ * @dataProvider providerForTestGenerateParams
+ */
+ public function testGenerateParams(string $wkt, array $params): void
+ {
+ $object = GisPolygon::singleton();
+ $this->assertEquals($params, $object->generateParams($wkt));
+ }
+
/**
* data provider for testGenerateParams
*
- * @return array data for testGenerateParams
+ * @return array}>
*/
public static function providerForTestGenerateParams(): array
{
@@ -190,7 +195,8 @@ class GisPolygonTest extends GisGeomTestCase
*/
public function testArea(array $ring, float $area): void
{
- $this->assertEquals($area, $this->object->area($ring));
+ $object = GisPolygon::singleton();
+ $this->assertEquals($area, $object->area($ring));
}
/**
@@ -272,10 +278,8 @@ class GisPolygonTest extends GisGeomTestCase
*/
public function testIsPointInsidePolygon(array $point, array $polygon, bool $isInside): void
{
- $this->assertEquals(
- $isInside,
- $this->object->isPointInsidePolygon($point, $polygon),
- );
+ $object = GisPolygon::singleton();
+ $this->assertEquals($isInside, $object->isPointInsidePolygon($point, $polygon));
}
/**
@@ -353,9 +357,10 @@ class GisPolygonTest extends GisGeomTestCase
*/
public function testGetPointOnSurface(array $ring): void
{
- $point = $this->object->getPointOnSurface($ring);
+ $object = GisPolygon::singleton();
+ $point = $object->getPointOnSurface($ring);
$this->assertIsArray($point);
- $this->assertTrue($this->object->isPointInsidePolygon($point, $ring));
+ $this->assertTrue($object->isPointInsidePolygon($point, $ring));
}
/**
@@ -379,6 +384,20 @@ class GisPolygonTest extends GisGeomTestCase
];
}
+ /**
+ * test scaleRow method
+ *
+ * @param string $spatial spatial data of a row
+ * @param ScaleData $min_max expected results
+ *
+ * @dataProvider providerForTestScaleRow
+ */
+ public function testScaleRow(string $spatial, ScaleData $min_max): void
+ {
+ $object = GisPolygon::singleton();
+ $this->assertEquals($min_max, $object->scaleRow($spatial));
+ }
+
/**
* data provider for testScaleRow
*
@@ -401,9 +420,10 @@ class GisPolygonTest extends GisGeomTestCase
/** @requires extension gd */
public function testPrepareRowAsPng(): void
{
+ $object = GisPolygon::singleton();
$image = ImageWrapper::create(200, 124, ['red' => 229, 'green' => 229, 'blue' => 229]);
$this->assertNotNull($image);
- $return = $this->object->prepareRowAsPng(
+ $return = $object->prepareRowAsPng(
'POLYGON((0 0,100 0,100 100,0 100,0 0),(10 10,10 40,40 40,40 10,10 10),(60 60,90 60,90 90,60 90,60 60))',
'image',
[176, 46, 224],
@@ -436,7 +456,8 @@ class GisPolygonTest extends GisGeomTestCase
array $scale_data,
TCPDF $pdf,
): void {
- $return = $this->object->prepareRowAsPdf($spatial, $label, $color, $scale_data, $pdf);
+ $object = GisPolygon::singleton();
+ $return = $object->prepareRowAsPdf($spatial, $label, $color, $scale_data, $pdf);
$fileExpected = $this->testDir . '/polygon-expected.pdf';
$fileActual = $this->testDir . '/polygon-actual.pdf';
@@ -482,7 +503,8 @@ class GisPolygonTest extends GisGeomTestCase
array $scaleData,
string $output,
): void {
- $svg = $this->object->prepareRowAsSvg($spatial, $label, $color, $scaleData);
+ $object = GisPolygon::singleton();
+ $svg = $object->prepareRowAsSvg($spatial, $label, $color, $scaleData);
$this->assertEquals($output, $svg);
}
@@ -529,7 +551,8 @@ class GisPolygonTest extends GisGeomTestCase
array $color,
string $output,
): void {
- $ol = $this->object->prepareRowAsOl($spatial, $srid, $label, $color);
+ $object = GisPolygon::singleton();
+ $ol = $object->prepareRowAsOl($spatial, $srid, $label, $color);
$this->assertEquals($output, $ol);
}
@@ -564,7 +587,8 @@ class GisPolygonTest extends GisGeomTestCase
*/
public function testIsOuterRing(array $ring): void
{
- $this->assertTrue($this->object->isOuterRing($ring));
+ $object = GisPolygon::singleton();
+ $this->assertTrue($object->isOuterRing($ring));
}
/**