public function SearchMatchTest::_testQueryScores in Drupal 9
Same name and namespace in other branches
- 8 core/modules/search/tests/src/Kernel/SearchMatchTest.php \Drupal\Tests\search\Kernel\SearchMatchTest::_testQueryScores()
Tests the scoring abilities of the engine.
Verify if a query produces normalized, monotonous scores.
1 call to SearchMatchTest::_testQueryScores()
- SearchMatchTest::_testQueries in core/
modules/ search/ tests/ src/ Kernel/ SearchMatchTest.php - Run predefine queries looking for indexed terms.
File
- core/
modules/ search/ tests/ src/ Kernel/ SearchMatchTest.php, line 244
Class
- SearchMatchTest
- Indexes content and queries it.
Namespace
Drupal\Tests\search\KernelCode
public function _testQueryScores($query, $set, $results) {
// Get result scores.
$scores = [];
foreach ($set as $item) {
$scores[] = $item->calculated_score;
}
// Check order.
$sorted = $scores;
sort($sorted);
$this
->assertEquals($scores, array_reverse($sorted), "Query order '{$query}'");
// Check range.
$this
->assertTrue(!count($scores) || min($scores) > 0.0 && max($scores) <= 1.0001, "Query scoring '{$query}'");
}