1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
<?php
namespace Elastica\Test\QueryBuilder;
use Elastica\QueryBuilder\DSL;
use Elastica\QueryBuilder\Version;
use Elastica\Test\Base as BaseTest;
class VersionTest extends BaseTest
{
/**
* @group unit
*/
public function testVersions()
{
$dsl = array(
new DSL\Query(),
new DSL\Filter(),
new DSL\Aggregation(),
new DSL\Suggest(),
);
$versions = array(
new Version\Version090(),
new Version\Version100(),
new Version\Version110(),
new Version\Version120(),
new Version\Version130(),
new Version\Version140(),
new Version\Version150(),
);
foreach ($versions as $version) {
$this->assertVersions($version, $dsl);
}
}
private function assertVersions(Version $version, array $dsl)
{
foreach ($version->getQueries() as $query) {
$this->assertTrue(
method_exists($dsl[0], $query),
'query "'.$query.'" in '.get_class($version).' must be defined in '.get_class($dsl[0])
);
}
foreach ($version->getFilters() as $filter) {
$this->assertTrue(
method_exists($dsl[1], $filter),
'filter "'.$filter.'" in '.get_class($version).' must be defined in '.get_class($dsl[1])
);
}
foreach ($version->getAggregations() as $aggregation) {
$this->assertTrue(
method_exists($dsl[2], $aggregation),
'aggregation "'.$aggregation.'" in '.get_class($version).' must be defined in '.get_class($dsl[2])
);
}
foreach ($version->getSuggesters() as $suggester) {
$this->assertTrue(
method_exists($dsl[3], $suggester),
'suggester "'.$suggester.'" in '.get_class($version).' must be defined in '.get_class($dsl[3])
);
}
}
}
|