public function testGetFieldNames()
{
$mockedFieldNameResolver = $this->getMockedFieldNameResolver(array('getSearchableFieldMap', 'getIndexFieldName'));
$criterionMock = $this->getCriterionMock();
$mockedFieldNameResolver->expects($this->once())->method('getSearchableFieldMap')->will($this->returnValue(array('content_type_identifier_1' => array('field_definition_identifier_1' => array('field_definition_id' => 'field_definition_id_1', 'field_type_identifier' => 'field_type_identifier_1')), 'content_type_identifier_2' => array('field_definition_identifier_1' => array('field_definition_id' => 'field_definition_id_2', 'field_type_identifier' => 'field_type_identifier_2'), 'field_definition_identifier_2' => array('field_definition_id' => 'field_definition_id_3', 'field_type_identifier' => 'field_type_identifier_3')))));
$mockedFieldNameResolver->expects($this->at(1))->method('getIndexFieldName')->with($this->isInstanceOf('eZ\\Publish\\API\\Repository\\Values\\Content\\Query\\Criterion'), 'content_type_identifier_1', 'field_definition_identifier_1', 'field_type_identifier_1', null)->will($this->returnValue(['index_field_name_1' => null]));
$mockedFieldNameResolver->expects($this->at(2))->method('getIndexFieldName')->with($this->isInstanceOf('eZ\\Publish\\API\\Repository\\Values\\Content\\Query\\Criterion'), 'content_type_identifier_2', 'field_definition_identifier_1', 'field_type_identifier_2', null)->will($this->returnValue(['index_field_name_2' => null]));
$fieldNames = $mockedFieldNameResolver->getFieldNames($criterionMock, 'field_definition_identifier_1');
$this->assertInternalType('array', $fieldNames);
$this->assertEquals(array('index_field_name_1', 'index_field_name_2'), $fieldNames);
}