public function runParserTest($name)
{
/**
* Test's data.
*
* @var array $data
*/
$data = $this->getData($name);
// Lexer.
$lexer = new Lexer($data['query']);
$lexerErrors = $this->getErrorsAsArray($lexer);
$lexer->errors = array();
// Parser.
$parser = empty($data['parser']) ? null : new Parser($lexer->list);
$parserErrors = array();
if ($parser !== null) {
$parserErrors = $this->getErrorsAsArray($parser);
$parser->errors = array();
}
// Testing objects.
$this->assertEquals($data['lexer'], $lexer);
$this->assertEquals($data['parser'], $parser);
// Testing errors.
$this->assertEquals($data['errors']['parser'], $parserErrors);
$this->assertEquals($data['errors']['lexer'], $lexerErrors);
}