createDatabaseInterface(); $this->controller = new GisDataEditorController(new ResponseRenderer(), new Template()); } /** * @param mixed[] $gisData * @param mixed[] $expected * * @group gis * @dataProvider providerForTestValidateGisData */ public function testValidateGisData(array $gisData, string $type, string|null $value, array $expected): void { /** @var mixed[] $gisData */ $gisData = $this->callFunction( $this->controller, GisDataEditorController::class, 'validateGisData', [ $gisData, $type, $value, ], ); $this->assertEquals($expected, $gisData); } /** * @return list> * @psalm-return list */ public static function providerForTestValidateGisData(): array { /** @psalm-var list */ return [ [ [], 'GEOMETRY', 'GEOMETRYCOLLECTION()', ['gis_type' => 'GEOMETRYCOLLECTION'], ], [ [], 'GEOMETRY', 'GEOMETRYCOLLECTION EMPTY', ['gis_type' => 'GEOMETRYCOLLECTION'], ], ]; } }