class NearPointTest extends \PHPUnit_Framework_TestCase
{
+
+
protected function setUp()
{
}
$this->assertEquals($aRes['pt']->lat(), 12.456);
$this->assertEquals($aRes['pt']->lon(), -78.90);
$this->assertEquals($aRes['pt']->radius(), 0.1);
- $this->assertEquals($aRes['query'], 'abc def');
+ $this->assertEquals($aRes['query'], 'abc def');
$aRes = NearPoint::extractFromQuery(' [12.456,-78.90] ');
$this->assertEquals($aRes['pt']->lat(), 12.456);
$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(
$aRes = NearPoint::extractFromQuery($sQuery);
$this->assertEquals(40.446, $aRes['pt']->lat(), 'degrees decimal ' . $sQuery, 0.01);
$this->assertEquals(-79.982, $aRes['pt']->lon(), 'degrees decimal ' . $sQuery, 0.01);
+ $this->assertEquals('', $aRes['query']);
}
}
+
+ 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')
+ );
+ }
}