X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/5c18d6865d18ab4ff9e13acda1c9ca5cf04252c4..3505417e3f4f027ae554a2f1ffdb7a8796d58f91:/test/php/Nominatim/NominatimTest.php?ds=sidebyside diff --git a/test/php/Nominatim/NominatimTest.php b/test/php/Nominatim/NominatimTest.php index cae3ebb8..ed738c37 100644 --- a/test/php/Nominatim/NominatimTest.php +++ b/test/php/Nominatim/NominatimTest.php @@ -24,9 +24,9 @@ class NominatimTest extends \PHPUnit_Framework_TestCase $this->assertEquals( array( - 'label' => "Country", + 'label' => 'Country', 'frequency' => 0, - 'icon' => "poi_boundary_administrative", + 'icon' => 'poi_boundary_administrative', 'defzoom' => 6, 'defdiameter' => 15, 'importance' => 3 @@ -171,6 +171,8 @@ class NominatimTest extends \PHPUnit_Framework_TestCase '40 26 46 N 79 58 56 W', '40° 26′ 46″ N 79° 58′ 56″ W', + '40° 26′ 46.00″ N 79° 58′ 56.00″ W', + '40°26′46″N 79°58′56″W', 'N 40 26 46 W 79 58 56', 'N 40° 26′ 46″, W 79° 58′ 56″', 'N 40° 26\' 46", W 79° 58\' 56"', @@ -192,4 +194,33 @@ class NominatimTest extends \PHPUnit_Framework_TestCase $this->assertEquals($sQuery, $aRes[0]); } } + + private function closestHouseNumberEvenOddOther($startnumber, $endnumber, $fraction, $aExpected) + { + foreach (['even', 'odd', 'other'] as $itype) { + $this->assertEquals( + $aExpected[$itype], + closestHouseNumber([ + 'startnumber' => $startnumber, + 'endnumber' => $endnumber, + 'fraction' => $fraction, + 'interpolationtype' => $itype + ]), + "$startnumber => $endnumber, $fraction, $itype" + ); + } + } + + public function testClosestHouseNumber() + { + $this->closestHouseNumberEvenOddOther(50, 100, 0.5, ['even' => 76, 'odd' => 75, 'other' => 75]); + // upper bound + $this->closestHouseNumberEvenOddOther(50, 100, 1.5, ['even' => 100, 'odd' => 100, 'other' => 100]); + // lower bound + $this->closestHouseNumberEvenOddOther(50, 100, -0.5, ['even' => 50, 'odd' => 50, 'other' => 50]); + // fraction 0 + $this->closestHouseNumberEvenOddOther(50, 100, 0, ['even' => 50, 'odd' => 51, 'other' => 50]); + // start == end + $this->closestHouseNumberEvenOddOther(50, 50, 0.5, ['even' => 50, 'odd' => 50, 'other' => 50]); + } }