X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/2c62a8dbbc2f4d16bbec67d5539a83b223159fbd..986956e4b43c8ca1890125c9cafcbb97bcc5325a:/test/php/Nominatim/SearchContextTest.php diff --git a/test/php/Nominatim/SearchContextTest.php b/test/php/Nominatim/SearchContextTest.php index a40d0716..166e6433 100644 --- a/test/php/Nominatim/SearchContextTest.php +++ b/test/php/Nominatim/SearchContextTest.php @@ -2,14 +2,13 @@ namespace Nominatim; -@define('CONST_BasePath', '../../'); +require_once(CONST_BasePath.'/lib/SearchContext.php'); -require_once '../../lib/SearchContext.php'; - -class SearchContextTest extends \PHPUnit_Framework_TestCase +class SearchContextTest extends \PHPUnit\Framework\TestCase { private $oCtx; + protected function setUp() { $this->oCtx = new SearchContext(); @@ -49,4 +48,34 @@ class SearchContextTest extends \PHPUnit_Framework_TestCase $this->oCtx->distanceSQL('foo') ); } + + public function testSetViewboxFromBox() + { + $viewbox = array(30, 20, 40, 50); + $this->oCtx->setViewboxFromBox($viewbox, true); + $this->assertEquals( + 'ST_SetSRID(ST_MakeBox2D(ST_Point(30.000000,20.000000),ST_Point(40.000000,50.000000)),4326)', + $this->oCtx->sqlViewboxSmall + ); + // height: 10 + // width: 30 + $this->assertEquals( + 'ST_SetSRID(ST_MakeBox2D(ST_Point(50.000000,80.000000),ST_Point(20.000000,-10.000000)),4326)', + $this->oCtx->sqlViewboxLarge + ); + + + $viewbox = array(-1.5, -2, 1.5, 2); + $this->oCtx->setViewboxFromBox($viewbox, true); + $this->assertEquals( + 'ST_SetSRID(ST_MakeBox2D(ST_Point(-1.500000,-2.000000),ST_Point(1.500000,2.000000)),4326)', + $this->oCtx->sqlViewboxSmall + ); + // height: 3 + // width: 4 + $this->assertEquals( + 'ST_SetSRID(ST_MakeBox2D(ST_Point(4.500000,6.000000),ST_Point(-4.500000,-6.000000)),4326)', + $this->oCtx->sqlViewboxLarge + ); + } }