add tests for nearpoint sql functions

This commit is contained in:
Sarah Hoffmann
2017-03-16 22:12:20 +01:00
parent ab3b556144
commit 20a4cab57e
2 changed files with 21 additions and 7 deletions

View File

@@ -34,13 +34,7 @@ class NearPoint
public function withinSQL($sObj)
{
return sprintf(
'ST_DWithin(%S, ST_SetSRID(ST_Point(%F,%F),4326), %F)',
$sObj,
$this->fLon,
$this->fLat,
$this->fRadius
);
return sprintf('ST_DWithin(%s, %s, %F)', $sObj, $this->sSQL, $this->fRadius);
}
/**

View File

@@ -65,4 +65,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')
);
}
}