]> git.openstreetmap.org Git - nominatim.git/blobdiff - test/php/Nominatim/NearPointTest.php
Merge remote-tracking branch 'upstream/master'
[nominatim.git] / test / php / Nominatim / NearPointTest.php
index 4d1a5b43d23a9653893efa77371ed6617aab991b..5ad73451ecf997660758cd2c6d2e1782011c6b1e 100644 (file)
@@ -6,6 +6,8 @@ require '../../lib/NearPoint.php';
 
 class NearPointTest extends \PHPUnit_Framework_TestCase
 {
+
+
     protected function setUp()
     {
     }
@@ -33,6 +35,10 @@ class NearPointTest extends \PHPUnit_Framework_TestCase
         $this->assertEquals($aRes['pt']->radius(), 0.1);
         $this->assertEquals($aRes['query'], '');
 
+        $aRes = NearPoint::extractFromQuery(' -12.456,-78.90 ');
+        $this->assertEquals($aRes['pt']->lat(), -12.456);
+        $this->assertEquals($aRes['pt']->lon(), -78.90);
+
         // http://en.wikipedia.org/wiki/Geographic_coordinate_conversion
         // these all represent the same location
         $aQueries = array(
@@ -65,4 +71,24 @@ class NearPointTest extends \PHPUnit_Framework_TestCase
             $this->assertEquals(-79.982, $aRes['pt']->lon(), 'degrees decimal ' . $sQuery, 0.01);
         }
     }
+
+    public function testWithinSQL()
+    {
+        $np = new NearPoint(0.1, 23, 1);
+
+        $this->assertEquals(
+            'ST_DWithin(foo, ST_SetSRID(ST_Point(23,0.1),4326), 1.000000)',
+            $np->withinSQL('foo')
+        );
+    }
+
+    public function testDistanceSQL()
+    {
+        $np = new NearPoint(0.1, 23, 1);
+
+        $this->assertEquals(
+            'ST_Distance(ST_SetSRID(ST_Point(23,0.1),4326), foo)',
+            $np->distanceSQL('foo')
+        );
+    }
 }