X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/c3788d765ed4e7ddf00794085af757714bc102cf..fa1c402b47bdd1f76b8528885c0e3a5e90731cdc:/test/php/Nominatim/SimpleWordListTest.php diff --git a/test/php/Nominatim/SimpleWordListTest.php b/test/php/Nominatim/SimpleWordListTest.php index fe543b3f..69cb5180 100644 --- a/test/php/Nominatim/SimpleWordListTest.php +++ b/test/php/Nominatim/SimpleWordListTest.php @@ -77,7 +77,7 @@ class SimpleWordListTest extends \PHPUnit\Framework\TestCase $oList = new SimpleWordList('a b c'); $this->assertEquals( - '(a b c),(a|b c),(a b|c),(a|b|c)', + '(a b c),(a b|c),(a|b c),(a|b|c)', $this->serializeSets($oList->getWordSets(new TokensFullSet())) ); @@ -88,6 +88,22 @@ class SimpleWordListTest extends \PHPUnit\Framework\TestCase ); } + public function testCmpByArraylen() + { + // Array elements are phrases, we want to sort so longest phrases are first + $aList1 = array('hackney', 'bridge', 'london', 'england'); + $aList2 = array('hackney', 'london', 'bridge'); + $aList3 = array('bridge', 'hackney', 'london', 'england'); + + $this->assertEquals(0, \Nominatim\SimpleWordList::cmpByArraylen($aList1, $aList1)); + + // list2 "wins". Less array elements + $this->assertEquals(1, \Nominatim\SimpleWordList::cmpByArraylen($aList1, $aList2)); + $this->assertEquals(-1, \Nominatim\SimpleWordList::cmpByArraylen($aList2, $aList3)); + + // list1 "wins". Same number of array elements but longer first element + $this->assertEquals(-1, \Nominatim\SimpleWordList::cmpByArraylen($aList1, $aList3)); + } public function testMaxWordSets() {