X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/97bc185152af04b2f7baaf839e1b0eb0ea789d46..cb70a2fde33e9c2455ea1cfb37ee430b00058b82:/test/php/Nominatim/SearchContextTest.php?ds=sidebyside diff --git a/test/php/Nominatim/SearchContextTest.php b/test/php/Nominatim/SearchContextTest.php index a40d0716..1b346297 100644 --- a/test/php/Nominatim/SearchContextTest.php +++ b/test/php/Nominatim/SearchContextTest.php @@ -2,15 +2,14 @@ namespace Nominatim; -@define('CONST_BasePath', '../../'); +require_once(CONST_LibDir.'/SearchContext.php'); -require_once '../../lib/SearchContext.php'; - -class SearchContextTest extends \PHPUnit_Framework_TestCase +class SearchContextTest extends \PHPUnit\Framework\TestCase { private $oCtx; - protected function setUp() + + protected function setUp(): void { $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 + ); + } }