mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-15 02:47:59 +00:00
moved bIncludePolygonAsPoints related logic into lib.php, added tests
This commit is contained in:
@@ -143,6 +143,68 @@ class NominatimTest extends \PHPUnit_Framework_TestCase
|
||||
count( getWordSets(array_fill( 0, 18, 'a'),0) )
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public function test_geometryText2Points()
|
||||
{
|
||||
$fRadius = 1;
|
||||
|
||||
// invalid value
|
||||
$this->assertEquals(
|
||||
NULL,
|
||||
geometryText2Points('', $fRadius)
|
||||
);
|
||||
|
||||
|
||||
// POINT
|
||||
$aPoints = geometryText2Points('POINT(10 20)', $fRadius);
|
||||
$this->assertEquals(
|
||||
101,
|
||||
count($aPoints)
|
||||
);
|
||||
|
||||
$this->assertEquals(
|
||||
|
||||
array(
|
||||
['', 10, 21],
|
||||
['', 10.062790519529, 20.998026728428],
|
||||
['', 10.125333233564, 20.992114701314]
|
||||
),
|
||||
array_splice($aPoints, 0,3)
|
||||
);
|
||||
|
||||
// POLYGON
|
||||
$this->assertEquals(
|
||||
array(
|
||||
['30 10', '30', '10'],
|
||||
['40 40', '40', '40'],
|
||||
['20 40', '20', '40'],
|
||||
['10 20', '10', '20'],
|
||||
['30 10', '30', '10']
|
||||
),
|
||||
geometryText2Points('POLYGON((30 10, 40 40, 20 40, 10 20, 30 10))', $fRadius)
|
||||
);
|
||||
|
||||
// MULTIPOLYGON
|
||||
// only the first polygon is used
|
||||
$this->assertEquals(
|
||||
array(
|
||||
['30 20', '30', '20'],
|
||||
['45 40', '45', '40'],
|
||||
['10 40', '10', '40'],
|
||||
['30 20', '30', '20'],
|
||||
|
||||
// ['15 5' , '15', '5' ],
|
||||
// ['45 10', '45', '10'],
|
||||
// ['10 20', '10', '20'],
|
||||
// ['5 10' , '5' , '10'],
|
||||
// ['15 5' , '15', '5' ]
|
||||
),
|
||||
geometryText2Points('MULTIPOLYGON(((30 20, 45 40, 10 40, 30 20)),((15 5, 40 10, 10 20, 5 10, 15 5)))', $fRadius)
|
||||
);
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user