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]));
}
}